Games\ChineseCheckers\Game.js
GamesByEmail
Object
GamesByEmail.Game
All Implemented Interfaces:
GamesByEmail.ChineseCheckersGame
extendsGame
implementsGamesByEmail.Hex
Nested Class Summary | |
static | ChineseCheckersGame.MoveData
|
Constructor Summary |
|
Field Summary | |
static | resourcePack
Resources for most of the game. Override to add resources specific to game.
|
| teamColorArrays
|
Fields inherited from GamesByEmail.Game |
board , canPie , constrainer , font , id , info , isLog , lastMove , logSettings , maxMoveNumber , message , move , notify , onLeftMouseDown , onLeftMouseUp , onMiddleMouseDown , onMiddleMouseUp , onMouseDown , onMouseMove , onMouseOut , onMouseOver , onMouseUp , onRightMouseDown , onRightMouseUp , pieces , previewing , rotation , status , teams , territories , testing , title , type , verbose |
Fields inherited from Foundation.Elemental |
$Foundation_$registry_index |
Method Summary | |
|
Gets the board point from the board value index.
|
|
Gets the board value from a value and color. By default, the value is returned if color is zero, else the upper case of the value is returned.
|
|
|
|
|
|
|
|
Checks to see if a move is legal. By default calls
isMoveLegal . |
|
Gets the color from a board value. By default, lower case characters return 0, uppercase 1, and everything else -1.
|
|
Called when needing the complete-your-turn game prompt HTML (typically a short sentence about the move and a Send This Move button). Override and set mouse events here. Internally uses the "completeYourTurn" resource.
|
|
Called when needing the continue-your-turn game prompt HTML (typically a short sentence about the move, no send move button yet). Override and set mouse events here. Internally uses the "continueYourTurn" resource.
|
|
|
|
|
|
|
|
|
|
Gets an array of teams to display either across the top or bottom of the board. Override to alter default behavior.
|
|
The first method to be called when a game is created, override to set up teams, players and the game state.
|
|
Seeds the game form options with values from the current game.
|
|
|
|
|
|
|
|
|
|
Called when needing the it-is-your-turn game prompt HTML (typically a short sentence about the move). Override and set mouse events here. Internally uses the "itIsYourTurnToMove" resource.
|
|
|
|
|
|
|
|
|
|
Called when needing the it-is-not-your-turn game prompt HTML (typically a short sentence with Send Reminder, Refresh Game and Close Window buttons Start Another Game button). Override to set. Internally uses the "notYourTurn" resource.
|
|
|
|
Resignes the current player. Clears mouse events, sets the player as resigned, and sends the move.
|
|
Called when needing the you-may-resign prompt HTML (typically a short sentence about resiging and a Resign button). Override to set. Internally uses the "youMayResign" resource.
|
|
Gets called when the Send Move button is pushed. Override and set the game state, then call Super.sendMove.
|
|
|
|
|
|
Called when synchronizing, sets the perspective of the board based on the player. By default sets the
rotation property to 0. |
|
|
|
|
|
Called when the game should synchronize with
info properties from the server. |
|
Gets the team color.
|
|
Gets the value from a board value. By default, the lower case of the board value is returned.
|
Methods inherited from GamesByEmail.Hex |
boardPointFromScreenXY , forEachBoardPoint , numInPath , screenRectFromBoardXY , valueIndexFromBoardXY |
Methods inherited from Foundation.Class |
getTypePath , isInstanceOf |
Methods inherited from Foundation.Elemental |
attachEvent , detachEvent , elementId , event , getById , getElement , getElementValue , getElements , getFirst , getNext , parseElementId , processHtml , processHtml |
Methods inherited from Foundation.Resourceful |
resource , resource , resourceUrl , resourceUrl |
Methods inherited from Foundation.Server |
server , serverSerialized , serverSynchronous |
Constructor Detail |
GamesByEmail.ChineseCheckersGame()
Field Detail |
static Object
resourcePack
Resources for most of the game. Override to add resources specific to game.
Overrides:resourcePack
in class Game
teamColorArrays
Method Detail |
Point
boardPointFromValueIndex(/*Number
*/ index)
Gets the board point from the board value index.
Overrides:boardPointFromValueIndex
in class Hex
index -The board value index.
String
boardValueFromValueColor(/*String
*/ value,
/*Number
*/ color)
Gets the board value from a value and color. By default, the value is returned if color is zero, else the upper case of the value is returned.
Overrides:boardValueFromValueColor
in class Game
value -The value.
color -The color.
canMove(moveData,
color)
moveData -
color -
canMoveFrom(fromPoint,
moveData,
color)
fromPoint -
moveData -
color -
checkForWin(board,
color)
board -
color -
Boolean
checkMove(/*Point
*/ toPoint,
/*Point
*/ fromPoint)
Checks to see if a move is legal. By default calls isMoveLegal
.
toPoint -The board point moving to.
fromPoint -The board point moving from.
true
if the move is legal.
Number
colorFromBoardValue(/*String
*/ boardValue)
Gets the color from a board value. By default, lower case characters return 0, uppercase 1, and everything else -1.
Overrides:colorFromBoardValue
in class Game
boardValue -The value to check, by default a single character.
String
completeYourTurnHtml(/*String
*/ resourceName)
Called when needing the complete-your-turn game prompt HTML (typically a short sentence about the move and a Send This Move button). Override and set mouse events here. Internally uses the "completeYourTurn" resource.
Overrides:completeYourTurnHtml
in class Game
resourceName -(Optional) A resource name to override the default resource to use.
String
continueYourTurnHtml(/*String
*/ resourceName)
Called when needing the continue-your-turn game prompt HTML (typically a short sentence about the move, no send move button yet). Override and set mouse events here. Internally uses the "continueYourTurn" resource.
Overrides:continueYourTurnHtml
in class Game
resourceName -(Optional) A resource name to override the default resource to use.
dispose()
dragByClicks(up,
origPoint,
screenPoint)
up -
origPoint -
screenPoint -
getLegalJumpInDirection(fromPoint,
dx,
dy,
board,
jerrysJumpMultiplier)
fromPoint -
dx -
dy -
board -
jerrysJumpMultiplier -
getMoveData(board)
board -
Array
getTeamsForTitles(/*Boolean
*/ top)
Gets an array of teams to display either across the top or bottom of the board. Override to alter default behavior.
Overrides:getTeamsForTitles
in class Game
top -Will be
true
if getting teams for the top, else false
for the bottom.
void
initialize(/*Number
*/ numPlayers,
/*Number
*/ turnTeamIndex)
The first method to be called when a game is created, override to set up teams, players and the game state.
Overrides:initialize
in class Game
numPlayers -The number of players from the game form.
turnTeamIndex -The index of the team to set the initial turn. Call the Super with -1 to set all teams turn.
Example:
// Override initialize initialize:function(numPlayers,turnTeamIndex) { // Call the Super.initialize to add default teams. Super.initialize(numPlayers,turnTeamIndex); // Initialize the board state. this.info["board"]="rnbqkbnrpppppppp PPPPPPPPRNBQKBNR"; var team=this.teams[0]; team.info["i_ep"]=-1; team.info["b_cs"]=true; team.info["b_cl"]=true; team=this.teams[1]; team.info["i_ep"]=-1; team.info["b_cs"]=true; team.info["b_cl"]=true; // Log the start of game. this.move.log=this.logEntry(44); }
void
initializeNewGameForm(/*GameForm
*/ gameForm,
/*Array
*/ userInfo)
Seeds the game form options with values from the current game.
Overrides:initializeNewGameForm
in class Game
gameForm -The game form to seed.
userInfo -An array of user information.
isJumpLegal(toPoint,
fromPoint,
board,
jerrysJumpMultiplier)
toPoint -
fromPoint -
board -
jerrysJumpMultiplier -
isMoveLegal(toPoint,
fromPoint,
moveData,
jerrysJumpMultiplier)
toPoint -
fromPoint -
moveData -
jerrysJumpMultiplier -
isPointBoardJumpablyEmpty(point,
board)
point -
board -
isPointBoardUnoccupiedSpace(point,
board)
point -
board -
String
itsYourTurnHtml(/*String
*/ resourceName)
Called when needing the it-is-your-turn game prompt HTML (typically a short sentence about the move). Override and set mouse events here. Internally uses the "itIsYourTurnToMove" resource.
Overrides:itsYourTurnHtml
in class Game
resourceName -(Optional) A resource name to override the default resource to use.
jerrysJumpNotice()
mouseDown(screenPoint)
screenPoint -
mouseMove(screenPoint)
screenPoint -
mouseUp(screenPoint)
screenPoint -
String
notYourTurnHtml(/*String
*/ resourceName)
Called when needing the it-is-not-your-turn game prompt HTML (typically a short sentence with Send Reminder, Refresh Game and Close Window buttons Start Another Game button). Override to set. Internally uses the "notYourTurn" resource.
Overrides:notYourTurnHtml
in class Game
resourceName -(Optional) A resource name to override the default resource to use.
removeMarbles(point,
moveData,
color)
point -
moveData -
color -
void
resign()
Resignes the current player. Clears mouse events, sets the player as resigned, and sends the move.
Overrides:
String
resignHtml(/*String
*/ resourceName)
Called when needing the you-may-resign prompt HTML (typically a short sentence about resiging and a Resign button). Override to set. Internally uses the "youMayResign" resource.
Overrides:resignHtml
in class Game
resourceName -(Optional) A resource name to override the default resource to use.
Boolean
sendMove(/*Boolean
*/ sendNow,
/*Player
*/ player)
Gets called when the Send Move button is pushed. Override and set the game state, then call Super.sendMove.
Overrides: Parameters:sendNow -(Optional) Send the moves to the server now. Else, save the move for sending later. Defaults to
true
.player -(Optional) The player responsible for the move. Defaults to the current player (game.player).
true
.
setEndStatus(team,
teamScore,
otherScore1,
otherScore2)
team -
teamScore -
otherScore1 -
otherScore2 -
setMoveData(moveData)
moveData -
void
setPerspective(/*Team
*/ team)
Called when synchronizing, sets the perspective of the board based on the player. By default sets the rotation
property to 0.
setPerspective
in class Game
team -The team to synchronize.
showHilites(moveData,
hilites)
moveData -
hilites -
spaceNotation(x,
y)
x -
y -
void
synch()
Called when the game should synchronize with info
properties from the server.
Number
teamColorFromTeam(/*Team
*/ team)
Gets the team color.
Overrides:teamColorFromTeam
in class Game
team -The team to get the color of.
String
valueFromBoardValue(/*String
*/ boardValue)
Gets the value from a board value. By default, the lower case of the board value is returned.
Overrides:valueFromBoardValue
in class Game
boardValue -The value to check, by default a single character.