Index de l'article

 

La prise de décision se fait comme en mode console, dans la classe HoleDecider. La seule différence est que l'on peut cette fois utiliser le constructeur des actions avec une animation en paramètre. Le seul problème est de déterminer les coordonnées d'arrivée du pion dans le plan. Pour cela, il suffit d'utiliser la méthode "helper" getRootPaneLocationForCellCenter(), accessible via le GridLook de la grille dans laquelle le pion va être placé, comme dans l'exemple suivant :

 

// do a cast get a variable of the real type to get access to the attributes of HoleStageModel
HoleStageModel stage = (HoleStageModel)model.getGameStage();
HoleBoard board = stage.getBoard(); // get the board
...
// create action list. After the last action, it is next player's turn.
ActionList actions = new ActionList(true);
// get the dest. cell center in space.
GridLook look = (GridLook) control.getElementLook(board);
Coord2D center = look.getRootPaneLocationForCellCenter(rowDest, colDest);
// create the move action
GameAction move = new MoveAction(model, pawn, "holeboard", rowDest, colDest, AnimationTypes.MOVE_LINEARPROP, center.getX(), center.getY(), 10);
actions.addSingleAction(move);