Games\Reflektit\Game.js
GamesByEmail
Object
GamesByEmail.Game
All Implemented Interfaces:
GamesByEmail.ReflektitGame
extendsGame
Constructor Summary |
// This is the base class that we are extending.
|
Field Summary | |
static | resourcePack
// This will hold our static methods and properties.
// the resourcePack is a collection of information
// used throughout the class.
|
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 | |
|
|
|
|
|
Checks to see if a move is legal. By default calls
isMoveLegal . |
|
|
|
|
|
Gets the clipping rectangle for a piece.
|
|
|
|
Gets the HTML for the team title on the board. By default uses resources 'turnTeamTitle' or 'teamTitle'.
|
|
// Processes a mirror hit on a laser. Returns the new direction, or -1 if something was hit.
|
|
|
|
The first method to be called when a game is created, override to set up teams, players and the game state.
|
|
|
|
|
|
|
|
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.
|
|
|
|
// Laser directions: 0 is north, 1 is west, 2 is south, 3 is east.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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. |
|
// This will hold our methods and properties.
|
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.ReflektitGame()
// This is the base class that we are extending.
Field Detail |
static resourcePack
// This will hold our static methods and properties. // the resourcePack is a collection of information // used throughout the class.
Overrides:resourcePack
in class Game
Method Detail |
canMoveTo(color,
toPoint)
color -
toPoint -
canRotate(value)
value -
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.
dispose()
dragByClicks(up,
origPoint,
screenPoint)
up -
origPoint -
screenPoint -
Rectangle
getPieceRect(/*String
*/ value,
/*Number
*/ color,
/*Point
*/ boardPoint)
Gets the clipping rectangle for a piece.
Overrides:getPieceRect
in class Game
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.
getPieceRotation(value,
angle)
value -
angle -
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
team -The team to get the color for.
top -Whether this team's title will be displayed above the board or below.
hitPiece()
// Processes a mirror hit on a laser. Returns the new direction, or -1 if something was hit.
hoverPiece(screenPoint)
screenPoint -
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); }
isInRange(toPoint,
fromPoint)
toPoint -
fromPoint -
isMoveLegal(toPoint,
piece)
toPoint -
piece -
isSwappable(value)
value -
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.
mouseDown(screenPoint,
ev)
screenPoint -
ev -
moveLaser()
// Laser directions: 0 is north, 1 is west, 2 is south, 3 is east.
pieceNotation(pieceChar,
color)
pieceChar -
color -
placePiece(screenPoint)
screenPoint -
processLaser()
removeLaser()
rotatePiece(screenPoint)
screenPoint -
rotatedPiece()
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
.
setHilites()
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.
spaceNotation(x,
y)
x -
y -
void
synch()
Called when the game should synchronize with info
properties from the server.
synchTeam()