Serialized Form


Package au.com.solidsoftware.multimahjong.mmc.co

Class au.com.solidsoftware.multimahjong.mmc.co.AITile implements Serializable

Serialized Fields

id

int id


Package au.com.solidsoftware.multimahjong.mmc.game

Class au.com.solidsoftware.multimahjong.mmc.game.PayoutGUI implements Serializable

Serialized Fields

concealedHand

Tile[] concealedHand
Concealed Tiles from Special Hands set by the Game

doublesScoreData

java.lang.String[][] doublesScoreData
Contains the double data for the doubles JTable if the winner has an Ordinary Suit Hand.

gameReference

Game gameReference
A reference to the game in order to halt the game until the "OK" button of the Payout Window has been clicked.

groundScoreData

java.lang.String[][] groundScoreData
Contains the data which is to be inserted into the JTable containing ground score information for an Ordinary Suit Hand.

handLimit

int handLimit
The limit for a hand.

IN_PANEL_SEPARATION

int IN_PANEL_SEPARATION
Defines the number of pixels separating items contained within panels panels.

isSpecialHand

boolean isSpecialHand
Indicates whether the player won with a special hand.

losingPlayersData

java.lang.String[][] losingPlayersData
Contains the information concerning all losing players.

PANEL_SEPARATION

int PANEL_SEPARATION
Defines the number of pixels separating panels contained in the JFrame.

specialHandDescription

java.lang.String specialHandDescription
Holds the description of the special hand the player won with if they have a special hand.

specialHandName

java.lang.String specialHandName
Holds the name of the special hand that the winner won with, if they have a special hand.

TILE_SEPARATION

int TILE_SEPARATION
Defines the number of pixels separating the sets of tiles

totalGroundScore

int totalGroundScore
Contains the total ground score for the winner's hand if they have an Ordinary Suit Hand.

totalNoOfDoubles

int totalNoOfDoubles
Contains the total number of doubles earnt for the winner's hand if they have an Ordinary Suit Hand).

totalPayout

int totalPayout
Total payout to the winner.

totalScore

int totalScore
Holds the total score of the player's hand.

winnersName

java.lang.String winnersName
Holds the winner's name.

winnersWind

java.lang.String winnersWind
Holds the winner's wind.

Class au.com.solidsoftware.multimahjong.mmc.game.PayoutGUI.CustomModel implements Serializable

Serialized Fields

this$0

PayoutGUI this$0

Class au.com.solidsoftware.multimahjong.mmc.game.Set implements Serializable

Serialized Fields

type

int type
Type of Set that is formed.


Package au.com.solidsoftware.multimahjong.mmc.usergui

Class au.com.solidsoftware.multimahjong.mmc.usergui.ActionPane implements Serializable

Serialized Fields

autopass

javax.swing.Timer autopass
The timer that fires off an action events every second. After 10 of these events, the Human.setSelection(Player.NO_MOVE) method is invoked. In effect, this gives the user exactly ten seconds to decide whether to execute a game action - when these ten seconds lapse, an automatic "Pass" is assumed.

See Also:
Human.setSelection(int)

chowButton

ActionPane.RolloverButton chowButton
The "Chow" button. The ActionListener attached to this button invokes the showChowSelectionDialog() method upon receiving an ActionEvent.

See Also:
Human.setSelection(int)

countdown

int countdown
The time in seconds remaining before we automatically pass for the player.


countdownLabel

javax.swing.JLabel countdownLabel
The label showing the seconds remaining before we automatically pass for the player.


declareButton

ActionPane.RolloverButton declareButton
The "Declare Kong" button. The ActionListener attached to this button invokes the Human.setMove(selected, Player.DECLARE) method upon receiving an ActionEvent.

See Also:
Human.setMove(au.com.solidsoftware.multimahjong.shared.Tile, int)

discardButton

ActionPane.RolloverButton discardButton
The "Discard" button. The ActionListener attached to this button invokes Human.setMove(selected, Player.DISCARD) upon receiving an ActionEvent.

See Also:
Human.setMove(au.com.solidsoftware.multimahjong.shared.Tile, int)

kongButton

ActionPane.RolloverButton kongButton
The "Kong" button. The ActionListener attached to this button invokes Human.setSelection(Player.KONG) upon receiving an ActionEvent.

See Also:
Human.setSelection(int)

mahjongButton

ActionPane.RolloverButton mahjongButton
The "Mahjong" button. The ActionListener attached to this button invokes Human.setSelection(Player.MAHJONG) upon receiving an ActionEvent.

See Also:
Human.setSelection(int)

pickupButton

ActionPane.RolloverButton pickupButton
The "Pickup" button. The ActionListener attached to this button invokes Human.setSelection(Player.PICKUP) upon receiving an ActionEvent.

See Also:
Human.setSelection(int)

pungButton

ActionPane.RolloverButton pungButton
The "Pung" button. The ActionListener attached to this button invokes Human.setSelection(Player.PUNG) upon receiving an ActionEvent.

See Also:
Human.setSelection(int)

selected

Tile selected
The tile that has been selected by the user in the UserPane. This field can be updated via the setSelected method.


userGUI

UserGUI userGUI
A reference to the parent UserGUI object.

Class au.com.solidsoftware.multimahjong.mmc.usergui.ActionPane.RolloverButton implements Serializable

Serialized Fields

this$0

ActionPane this$0

Class au.com.solidsoftware.multimahjong.mmc.usergui.GameTypeSelector implements Serializable

Serialized Fields

gameType

java.lang.String gameType
The type of game that the user selected. This is a String (one of NEWSINGLE, NEWMULTI or JOINMULTI) referring to the radio button selected by the user.


iconID

int iconID
The ID number of the player's icon.


limit

int limit
The score limit.


limitInputCombo

javax.swing.JComboBox limitInputCombo
The editable combo box used to enter the score limit. This must be enabled if the user is starting a new game (single or multiplayer), but disabled if the user is joining an existing multiplayer game.


name

java.lang.String name
The name of the player.


registrar

Registrar registrar
A reference to the server-side Registrar, which handles the starting, joining and ending of multi player games.

server

java.lang.String server
The address where the MultiMahjongServer resides.


serverInputField

javax.swing.JTextField serverInputField
The text field used to enter the name of the server. This must be enabled if the user is starting a new single player game, but must be enabled if the user is starting or joining a multi player game.

Class au.com.solidsoftware.multimahjong.mmc.usergui.MultiGameJoiner implements Serializable

Serialized Fields

exitButton

javax.swing.JButton exitButton
A button that allows the user to return to the game type selector. This button will be disabled once the user joins a game.


gamesList

MiniGame[] gamesList
An array containing information that describes each game. The information consists of the name of the game creator, the limit, and number of places available.


gamesObserver

GamesObserver gamesObserver
This is passed between the MultiGameJoiner and the Registrar and is used to inform the MultiGameJoiner that the list of games on the server has changed.


joinButton

javax.swing.JButton joinButton
A button that allows the user to join the currently selected game. This button will be disabled when no games are currently selected.


playerID

int playerID
An unique identifier for the user. This is assigned by the Registrar.


referee

RefereeIntf referee
This is a reference to the remote referee, which initialises the game wall and player seating positions. The Referee is also responsible for coordinating the running of the entire game.


registrar

Registrar registrar
A reference to the server-side Registrar, which handles the starting, joining and ending of multi player games.

selectedGame

int selectedGame
The array index that refers to the currently selected game in the MiniGame array.


tableModel

MultiGameJoiner.MyTableModel tableModel
This specifies the methods the JTable will use to interrogate a tabular data model.

Class au.com.solidsoftware.multimahjong.mmc.usergui.MultiGameJoiner.MyTableModel implements Serializable

Serialized Fields

columnNames

java.lang.String[] columnNames

data

java.lang.Object[][] data

this$0

MultiGameJoiner this$0

Class au.com.solidsoftware.multimahjong.mmc.usergui.MultiGameStarter implements Serializable

Serialized Fields

gameID

int gameID
This number uniquely identifies each game.


nameAndIcons

javax.swing.JLabel[] nameAndIcons
An array of labels containing the name and icon of each of the four players in the game.


playersObserver

PlayersObserver playersObserver
This is passed between the MultiGameStarter and the Registrar and is used to inform the MultiGameStarter that the list of players in the current game has changed.


referee

RefereeIntf referee
This is a reference to the remote referee, which initialises the game wall and player seating positions. The Referee is also responsible for coordinating the running of the entire game.


startButton

javax.swing.JButton startButton
A button that allows the game creator to start the game. This button will be disabled when the current games contains only 1 human player, since starting a multi player game with 1 player is nonsensical.

Class au.com.solidsoftware.multimahjong.mmc.usergui.OnlineHelp implements Serializable

Class au.com.solidsoftware.multimahjong.mmc.usergui.PlayArea implements Serializable

Serialized Fields

concealedImages

java.awt.image.BufferedImage[] concealedImages
Images of the entire set of concealed tiles for each of the four players.

declaredImages

java.awt.image.BufferedImage[] declaredImages
Images of the entire set of declared tiles for each of the four players.

discardImage

java.awt.Image discardImage
Image of the last discard.

fishImages

java.awt.Image[] fishImages
Images of the fishing indicator of each of the four players.

hostID

int hostID
The array index that refers to the host's entry in players array. Since there are a maximum of four players in a game of Mahjong, this value is in the range [0,3]. The initial value of -1 serves as a sentinel to indicate that the hostID has not been set previously.

iconImages

java.awt.Image[] iconImages
Images of the icons of each of the four players.

loosePos

int loosePos
The array index in wallTiles that refers to the next loose tile in the wall to be picked up.

names

java.lang.String[] names
The names of each of the four players.

roundWindImages

java.awt.Image[] roundWindImages
Images of the round wind indicator of each of the four players.

selectionEnabled

boolean selectionEnabled
Whether the user is permitted to select tiles from their concealed hand by clicking on the tiles within it.

userConcealed

Tile[] userConcealed
The user's concealed hand. This is updated by the updateConcealed method and used by the mouseClicked method to set the selected tile in the ActionPane.

userConcealedImage

java.awt.image.BufferedImage userConcealedImage
Image of the user's concealed hand. This is used by the setSelected method to restore the original appearance of the user's concealed hand (before highlighting the selected tile).

userGUI

UserGUI userGUI
A reference to the parent UserGUI object.

userID

int userID
The array index that refers to the user's entry in players array. Since there are a maximum of four players in a game of Mahjong, this value is in the range [0,3].

wallPos

int wallPos
The array index in wallTiles that refers to the next tile in the wall to be picked up.

wallTiles

PlayArea.WallTile[] wallTiles
An array containing the tiles in the wall.

windImages

java.awt.Image[] windImages
Images of the wind discs of each of the four players.

Class au.com.solidsoftware.multimahjong.mmc.usergui.StatusPane implements Serializable

Serialized Fields

helpButton

javax.swing.JToggleButton helpButton
This button shows/hides the online user manual.


messageID

int messageID
A unique ID number which increments with every new message. The first message dispalyed has an ID number of 1, the next with 2, and so forth. This number is reset each time the text area is cleared with via a call to updateStatus(null).


textArea

javax.swing.JTextArea textArea
The area that displays all the text messages that provides the user with information about the game's status. The text displayed is changed via the updateStatus method.

Class au.com.solidsoftware.multimahjong.mmc.usergui.TabbedPane implements Serializable

Serialized Fields

discardsPane

TabbedPane.DiscardsPane discardsPane
A reference to the scrollable client within the "Discards" tab. This pane displays dead tiles in the order in which they were discarded. Dead tiles are displayed from left to right, from top to bottom.


discardTileImages

TabbedPane.DiscardTileImage[] discardTileImages
This stores the images of all the tiles in the discardsPane.


playerLabel

javax.swing.JLabel[] playerLabel
An array of labels showing the icon and name for each of the players. The array indices of this array matches with that of the players array supplied in the class constructor and in the updateScores method.


scoreLabel

javax.swing.JLabel[] scoreLabel
An array of text-only labels showing the scores for each of the players. The array indices of this array matches with that of the players array supplied in the class constructor and in the updateScores method.


userGUI

UserGUI userGUI
A reference to the parent UserGUI object.

Class au.com.solidsoftware.multimahjong.mmc.usergui.TabbedPane.DiscardsPane implements Serializable

Serialized Fields

this$0

TabbedPane this$0

Class au.com.solidsoftware.multimahjong.mmc.usergui.UserGUI implements Serializable

Serialized Fields

actionPane

ActionPane actionPane
A reference to the action pane.


desktop

javax.swing.JDesktopPane desktop
A specialised pane for the management of internal frames.


game

Game game
A reference to the game.


gameTypeSelector

GameTypeSelector gameTypeSelector
A reference to game type selector. We need this so that we can indirectly obtain a reference to the Registrar object on the remote server.

limit

int limit
The score limit of the game.


playArea

PlayArea playArea
A reference to the play area.


player

Human player
A reference to the Human object containing information about the user.


progress

int progress
This tracks the loading progress of the game and usergui classes.

progressBar

javax.swing.JProgressBar progressBar
This shows the progress of the loading of the panes in the playing screen.

progressLabel

javax.swing.JLabel progressLabel
This displays what is actually loading at any given time.

statusPane

StatusPane statusPane
A reference to the status pane.


tabbedPane

TabbedPane tabbedPane
A reference to the tabbed pane.


userGUI

UserGUI userGUI
A reference to this object.


userID

int userID
The array index that refers to the user's entry in players array. Since there are a maximum of four players in a game of Mahjong, this value is in the range [0,3].


Package au.com.solidsoftware.multimahjong.shared

Class au.com.solidsoftware.multimahjong.shared.DuplicateNameException implements Serializable

Class au.com.solidsoftware.multimahjong.shared.GameFullException implements Serializable

Class au.com.solidsoftware.multimahjong.shared.GamesListFullException implements Serializable

Class au.com.solidsoftware.multimahjong.shared.GamesObserver implements Serializable

Serialized Fields

parent

MultiGameJoiner parent
This is a reference to the MultiGameJoiner that is passed in when this class is instantiated.

Class au.com.solidsoftware.multimahjong.shared.MiniGame implements Serializable

Serialized Fields

limit

int limit
The score limit of the game. To save on overhead due to serialization, this field is publicly accessible.

ownerName

java.lang.String ownerName
The name of the player who created the game. To save on overhead due to serialization, this field is publicly accessible.

waitingToJoin

int waitingToJoin
The number of players that can join this game. To save on overhead due to serialization, this field is publicly accessible.

Class au.com.solidsoftware.multimahjong.shared.MiniPlayer implements Serializable

Serialized Fields

iconID

int iconID
The ID of the icon of the player. To save on overhead due to serialization, this field is publicly accessible.

ownerName

java.lang.String ownerName
The name of the player. To save on overhead due to serialization, this field is publicly accessible.

Class au.com.solidsoftware.multimahjong.shared.Moves implements Serializable

Serialized Fields

declaredKongs

Tile[] declaredKongs
List of tiles that have been declared by the current player.

kongType

int[] kongType
Type of declared Kong made with tile.

lastDiscard

Tile lastDiscard
The last discarded tile.

Class au.com.solidsoftware.multimahjong.shared.Observer implements Serializable

Serialized Fields

game

Game game
This is just a reference to the Game.

Class au.com.solidsoftware.multimahjong.shared.PlayersObserver implements Serializable

Serialized Fields

parent

MultiGameStarter parent
This is a reference to the MultiGameStarter that is passed in when this class is instantiated.

Class au.com.solidsoftware.multimahjong.shared.Referee implements Serializable

Serialized Fields

game

ObserverIntf[] game
List of games.

gameWall

Wall gameWall
Temp hold for players.

limit

int limit
Games limit

noOfClients

int noOfClients
Number of clients present.

player

int[] player
Temp holder for wall.

players

MiniPlayer[] players
Players in the game

positions

int[] positions
Indicated the location of the players.

received

boolean[] received
Indicates whether wall has been receieved.

robSelection

int[] robSelection
List of moves for robbing the kong.

selection

int[] selection
List of moves selected by players

selectionsMade

int selectionsMade
Selections placed on the Referee

serverInitialised

boolean serverInitialised
Flag to signal if server wall has been reinitialised

wall

Tile[] wall

Class au.com.solidsoftware.multimahjong.shared.RegistrarImpl implements Serializable

Serialized Fields

gamesList

GamesList gamesList
This is a reference to the GamesList that is passed in by the MultiMahjongServer class when this class is instantiated.

Class au.com.solidsoftware.multimahjong.shared.RemoteReferee implements Serializable

Serialized Fields

gameStarter

StartGameSynch gameStarter
This provides the RemoteReferee with an object to synchronize with when starting the game.

playersObserver

ObserverIntf playersObserver
This is a reference to the PlayersObserver that is passed in when this class is instantiated.

Class au.com.solidsoftware.multimahjong.shared.Tile implements Serializable

Serialized Fields

number

int number
The number of this tile. 1 to 9 inclusive for Character, Circle and Bamboo Suits. Symbolic constants are used to refer to the Honour tiles (Winds and Dragons).


suit

int suit
The suit of this tile. Symbolic constants are used to refer to the Character, Circle, Bamboo, Wind and Dragon Suits.

Class au.com.solidsoftware.multimahjong.shared.Wall implements Serializable

Serialized Fields

honourWall

Tile[] honourWall
Honour Wall of tiles

tileCount

int tileCount
Number of tiles that remain in the ordinary Wall.

tilesInWall

Tile[] tilesInWall
Ordinary Wall of tiles.