File: Games\Cephalopod\Game.js

GamesByEmail
Class CephalopodGame

Object
  
 
 
GamesByEmail.Game
 
 
GamesByEmail.CephalopodGame

All Implemented Interfaces:

Class, Elemental, Resourceful, Server


GamesByEmail.CephalopodGame

extends Game

Nested Class Summary
static ClassCephalopodGame.MoveData

Constructor Summary
GamesByEmail.CephalopodGame()

Field Summary
static ObjectresourcePack
Resources for most of the game. Override to add resources specific to game.

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
 arePointsAdjacent(p1, p2)
StringboardValueFromValueColor(/*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.
 checkForWin(moveData, color)
StringcompleteYourTurnHtml(/*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.
StringcontinueYourTurnHtml(/*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.
 dispose()
 expandNonSixesAtXY(x, y, moveData)
 getAdjacentPiece(point, x, y)
 getLogPieceRect(boardValue)
 getMoveData()
 getPermanentScore(moveData, color)
RectanglegetPieceRect(/*String*/ value, /*Number*/ color, /*Point*/ boardPoint)
Gets the clipping rectangle for a piece.
 getPlacementValue(boardPoint)
 getTeamScore(team)
StringgetTeamTitleHtml(/*Team*/ team, /*Boolean*/ top)
Gets the HTML for the team title on the board. By default uses resources 'turnTeamTitle' or 'teamTitle'.
voidinitialize(/*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.
StringitsYourTurnHtml(/*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.
 markAndExpandClearPoints(point, moveData)
 mouseDown(screenPoint)
 mouseMove(screenPoint)
 mouseOut(screenPoint)
 mouseOver(screenPoint)
 pieceNotation(boardValue)
BooleansendMove(/*Boolean*/ sendNow, /*Player*/ player)
Gets called when the Send Move button is pushed. Override and set the game state, then call Super.sendMove.
StringsendMoveHtml(/*String*/ resourceName)
Called when needing the send-this-move prompts HTML (typically a short sentence and a Send This Move button). Override to set. Internally uses the "youMaySendYourMove" resource.
 setMoveData(moveData)
 showHilites(hilites)
 spaceNotation(x, y)
voidsynch()
Called when the game should synchronize with info properties from the server.
StringturnHeaderHtml(/*String*/ resourceName)
Called when needing the it's-your-turn header HTML. Override to set. Internally uses the "turnHeader" resource.
StringvalueFromBoardValue(/*String*/ boardValue)
Gets the value from a board value. By default, the lower case of the board value is returned.

Methods inherited from GamesByEmail.Game
aboveTeamTitleRowHtml, acceptDeclineDrawHtml, acceptDraw, acceptDrawButtonHtml, addNote, addToPage, appendAdditionalPreferencesHtml, appendBoardHtml, beginTurnHtml, belowTeamTitleRowHtml, boardPointFromScreenPoint, boardPointFromScreenXY, boardPointFromValueIndex, cancelGameButtonHtml, cancelGameHtml, checkMove, clearHilites, clearMouseEvents, closeWindowButtonHtml, closeWindowHtml, colorFromBoardValue, colorFromPointBoard, colorFromXYBoard, completeTurnHtml, constrainPoint, constrainRectangle, continueTurnHtml, debug, diceRolls, dieRoll, drawAcceptedHeaderHtml, drawAcceptedHtml, drawDeclinedHeaderHtml, drawDeclinedHtml, drawOfferedHeaderHtml, elementTitleAttributes, findNextPlayer, findPlayer, findWinningTeam, forEachBoardPoint, forEachTeam, gameInProgressHeaderHtml, gameOverHeaderHtml, gameOverHtml, getActionLinksHtml, getAnchorHtml, getButtonHtml, getCheckboxHtml, getGamePromptsHtml, getHeaderHtml, getHtml, getHtmlButtonHtml, getImageSrc, getNewGamePlayerOrder, getNextGamesTitle, getOptionHtml, getPieType, getPieceSrc, getRadioHtml, getSelectHtml, getSpectatorAnchorHtml, getSpectatorUrl, getTeamAtDistance, getTeamFontColor, getTeamLogFontBgColor, getTeamLogFontColor, getTeamTitleAlignment, getTeamTitlesHtml, getTeamsForTitles, getTextHtml, getTextareaHtml, getTurnHtml, getTurnTeam, getVButtonHtml, handleMoveCollision, hiliteImageHtml, initializeNewGameForm, isBoardPointHidden, isColorAtPoint, isColorAtXY, isMyTurn, isPathClear, isPointBoardClear, isPointOnBoard, isValueColorAtPoint, isValueColorAtXY, isXYBoardClear, isXYOnBoard, maybePie, maybeResign, movePiece, nextTeam, notYourTurnHtml, numInPath, numTeamsPlaying, offerDrawCheckBoxHtml, offerDrawHtml, openLogAnchorHtml, openPlayerChatAnchorHtml, openPreferencesAnchorHtml, openRulesAnchorHtml, pie, pieButtonHtml, pieHtml, processSecureMove, refreshGame, refreshGameButtonHtml, reportProblemAnchorHtml, resign, resignButtonHtml, resignHtml, resignedHeaderHtml, screenRectFromBoardPoint, screenRectFromBoardXY, sendMoveButtonHtml, sendReminderButtonHtml, setConstrainer, setEnded, setFloatHtml, setInnerHtml, setMouseHtml, setPerspective, setPlayerPrefs, setValueAtPoint, setValueAtXY, showTransactionPrompt, spectatingHtml, startAnotherGameButtonHtml, startAnotherGameHtml, synchTeam, teamColorFromTeam, theyResignedHtml, tieGameHeaderHtml, titleFromTeamColor, transformHashLinksToOnClicks, undo, undoButtonHtml, undoMoveHtml, update, updateTeamTitles, valueFromPointBoard, valueFromXYBoard, valueIndexFromBoardPoint, valueIndexFromBoardXY, wonHeaderHtml, youLoseHtml, youResignedHtml, youTiedHtml, youWinHtml

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

CephalopodGame

GamesByEmail.CephalopodGame()

Field Detail

resourcePack

static Object resourcePack

Resources for most of the game. Override to add resources specific to game.

Overrides:
resourcePack in class Game
See Also:
Foundation.Resourceful.resource

Method Detail

arePointsAdjacent

arePointsAdjacent(p1,
                  p2)
Parameters:
p1 - 

p2 - 


boardValueFromValueColor

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
Parameters:
value - 
The value.
color - 
The color.
Returns:
The board value.

checkForWin

checkForWin(moveData,
            color)
Parameters:
moveData - 

color - 


completeYourTurnHtml

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
Parameters:
resourceName - 
(Optional) A resource name to override the default resource to use.
Returns:
HTML for the game prompts.

continueYourTurnHtml

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
Parameters:
resourceName - 
(Optional) A resource name to override the default resource to use.
Returns:
HTML for the game prompts.

dispose

dispose()
Overrides:
dispose in class Game

expandNonSixesAtXY

expandNonSixesAtXY(x,
                   y,
                   moveData)
Parameters:
x - 

y - 

moveData - 


getAdjacentPiece

getAdjacentPiece(point,
                 x,
                 y)
Parameters:
point - 

x - 

y - 


getLogPieceRect

getLogPieceRect(boardValue)
Parameters:
boardValue - 


getMoveData

getMoveData()

getPermanentScore

getPermanentScore(moveData,
                  color)
Parameters:
moveData - 

color - 


getPieceRect

Rectangle getPieceRect(/*String*/ value,
                       /*Number*/ color,
                       /*Point*/ boardPoint)

Gets the clipping rectangle for a piece.

Overrides:
getPieceRect in class Game
Parameters:
value - 
The value of the piece.
color - 
(Optional) The color of the piece. Not used by default.
boardPoint - 
(Optional) The board point of the piece. Not used by default.
Returns:
The clipping rectangle.

getPlacementValue

getPlacementValue(boardPoint)
Parameters:
boardPoint - 


getTeamScore

getTeamScore(team)
Parameters:
team - 


getTeamTitleHtml

String getTeamTitleHtml(/*Team*/ team,
                        /*Boolean*/ top)

Gets the HTML for the team title on the board. By default uses resources 'turnTeamTitle' or 'teamTitle'.

Overrides:
getTeamTitleHtml in class Game
Parameters:
team - 
The team to get the color for.
top - 
Whether this team's title will be displayed above the board or below.
Returns:
The log background color.

initialize

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
Parameters:
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);
   }

itsYourTurnHtml

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
Parameters:
resourceName - 
(Optional) A resource name to override the default resource to use.
Returns:
HTML for the game prompts.

markAndExpandClearPoints

markAndExpandClearPoints(point,
                         moveData)
Parameters:
point - 

moveData - 


mouseDown

mouseDown(screenPoint)
Parameters:
screenPoint - 


mouseMove

mouseMove(screenPoint)
Parameters:
screenPoint - 


mouseOut

mouseOut(screenPoint)
Parameters:
screenPoint - 


mouseOver

mouseOver(screenPoint)
Parameters:
screenPoint - 


pieceNotation

pieceNotation(boardValue)
Parameters:
boardValue - 


sendMove

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:
sendMove in class Game
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).
Returns:
true.

sendMoveHtml

String sendMoveHtml(/*String*/ resourceName)

Called when needing the send-this-move prompts HTML (typically a short sentence and a Send This Move button). Override to set. Internally uses the "youMaySendYourMove" resource.

Overrides:
sendMoveHtml in class Game
Parameters:
resourceName - 
(Optional) A resource name to override the default resource to use.
Returns:
HTML for the game prompts.

setMoveData

setMoveData(moveData)
Parameters:
moveData - 


showHilites

showHilites(hilites)
Parameters:
hilites - 


spaceNotation

spaceNotation(x,
              y)
Parameters:
x - 

y - 


synch

void synch()

Called when the game should synchronize with info properties from the server.

Overrides:
synch in class Game
Notes:
The game should set tangible properties or states for each custom property set in the info collection. The info collection should not be referenced outside the scope of the synch or sendMove methods.

turnHeaderHtml

String turnHeaderHtml(/*String*/ resourceName)

Called when needing the it's-your-turn header HTML. Override to set. Internally uses the "turnHeader" resource.

Overrides:
turnHeaderHtml in class Game
Parameters:
resourceName - 
(Optional) A resource name to override the default resource to use.
Returns:
HTML for the header.

valueFromBoardValue

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
Parameters:
boardValue - 
The value to check, by default a single character.
Returns:
The value.