Exemplo n.º 1
0
        /// <summary>
        /// Passer au tour suivant
        /// </summary>
        public bool nextTurn()
        {
            bool ret = false;

            if (indTurn < gameToReplay.turnInformation.Length)
            {
                String      turnInfo    = gameToReplay.turnInformation[indTurn];
                TurnModelDB turnModelDB = TurnModelDB.BuildTurnModelWithString(turnInfo);
                MementoTurn mementoTurn = new MementoTurn();
                mementoTurn.Selection  = board.getTile(turnModelDB.lineS, turnModelDB.columnS).createMemento();
                mementoTurn.Move       = board.getTile(turnModelDB.lineE, turnModelDB.columnE).createMemento();
                mementoTurn.TSelection = board.getTile(turnModelDB.lineS, turnModelDB.columnS);
                mementoTurn.TMove      = board.getTile(turnModelDB.lineE, turnModelDB.columnE);
                if (turnModelDB.turnType == Command.COMMAND_ACTION.BALL)
                {
                    mementoTurn.TMove.setBall(mementoTurn.TSelection.Piece.Ball);
                    mementoTurn.TSelection.setBall(null);
                }
                else
                {
                    mementoTurn.TMove.Piece      = mementoTurn.TSelection.Piece;
                    mementoTurn.TSelection.Piece = null;
                }
                listMemento.Add(mementoTurn);
                indTurn++;
                ret = true;
            }
            return(ret);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Retourner au tour precedent
 /// </summary>
 public void backTurn()
 {
     if (listMemento.Count > 0)
     {
         MementoTurn item = listMemento[listMemento.Count - 1];
         listMemento.RemoveAt(listMemento.Count - 1);
         item.undoTurn();
         indTurn--;
     }
 }