Exemplo n.º 1
0
        /// <summary>
        /// If it's the first time player saves the game -> Save board, if not the first time-> Update board
        /// </summary>
        /// <param name="turn">turn of which player?</param>
        /// <param name="player2Pseudo">pseudo of player number 2</param>
        /// <param name="playerId">player identity</param>
        public void SaveOrUpdateGame(string player2Pseudo, long turn, Board board)
        {
            bool contains = BoardDb.CheckIfBoardDbContainsPlayerId(PlayerId);

            if (contains)
            {
                BoardDb.Update(PlayerId, player2Pseudo, turn);
                SquareListDb.Update(PlayerId, board);
                PoolDb.Update(PlayerId, board);
            }
            else
            {
                BoardDb.Save(PlayerId, player2Pseudo, turn);
                SquareListDb.Save(PlayerId, board);
                PoolDb.Save(PlayerId, board);
            }
        }
Exemplo n.º 2
0
        public Board GetSavedGameFromDb()
        {
            Board board = new Board();

            board.Turn          = BoardDb.GetTurnFromDb(PlayerId);
            board.Player2Pseudo = BoardDb.GetPlayer2PseudoFromDb(PlayerId);
            board.PlayersList   = new List <Player> {
                this, new Player(board.Player2Pseudo)
            };

            //recover squareList with SmallTokenQty and BigTokenQty by reserving all other properties
            var squaresListDb = SquareListDb.GetSquareListDb(PlayerId);

            for (int i = 0; i < 12; i++)
            {
                board.SquaresList[i].Tokens        = new List <Token>();
                board.SquaresList[i].SmallTokenQty = squaresListDb[i].SmallTokenQty;
                board.SquaresList[i].BigTokenQty   = squaresListDb[i].BigTokenQty;
                for (int j = 0; j < board.SquaresList[i].SmallTokenQty; j++)
                {
                    board.SquaresList[i].Tokens.Add(new SmallToken());
                }
                for (int j = 0; j < board.SquaresList[i].BigTokenQty; j++)
                {
                    board.SquaresList[i].Tokens.Add(new BigToken());
                }
            }

            var poolList = PoolDb.GetPoolListDb(PlayerId);

            //Recover pool of each player
            for (int i = 0; i < 2; i++)
            {
                board.PlayersList[i].Pool = new List <Token>();
                for (int j = 0; j < poolList[i].SmallTokenQty; j++)
                {
                    board.PlayersList[i].Pool.Add(new SmallToken());
                }
                for (int j = 0; j < poolList[i].BigTokenQty; j++)
                {
                    board.PlayersList[i].Pool.Add(new BigToken());
                }
            }
            return(board);
        }