예제 #1
0
        public void OnPostFlag(int id, int x, int y)
        {
            var gameBoard = GameBoardEngine.GetGameBoardFromDb(id);

            if (GameBoardEngine.GetPanel(x, y).IsFlagged)
            {
                GameBoardEngine.UnflagPanel(x, y);
            }
            else if (!GameBoardEngine.GetPanel(x, y).IsRevealed)
            {
                GameBoardEngine.FlagPanel(x, y);
            }

            GameBoardEngine.UpdateGameBoard(gameBoard);
        }
예제 #2
0
        public static void PrintBoard(GameBoardEngine gameBoardEngine, GameBoard game)
        {
            Console.Clear();
            for (int yIndex = 0; yIndex < game.Height; yIndex++)
            {
                var line = "";

                for (int xIndex = 0; xIndex < game.Width; xIndex++)
                {
                    line = line + " " + GetSingleState(gameBoardEngine.GetPanel(xIndex + 1, yIndex + 1)) + " ";

                    if (xIndex < game.Width - 1)
                    {
                        line = line + _verticalSeparator;
                    }
                }

                Console.WriteLine(line);

                if (yIndex < game.Height - 1)
                {
                    line = "";
                    for (int xIndex = 0; xIndex < game.Width; xIndex++)
                    {
                        line = line + _horizontalSeparator + _horizontalSeparator + _horizontalSeparator;
                        if (xIndex < game.Height - 1)
                        {
                            line += _centerSeparator;
                        }
                    }
                    Console.WriteLine(line);
                }
            }
        }