コード例 #1
0
ファイル: GameLogic.cs プロジェクト: Branndrinn/vier-gewinnt
 public GameLogic(Board board, PlayerCollector playerCollector, FlashingPlayerCoins flashingPlayerCoins)
 {
     PlayerCollector     = playerCollector;
     AllPlayer           = PlayerCollector.AllPlayer;
     Board               = board;
     FlashingPlayerCoins = flashingPlayerCoins;
 }
コード例 #2
0
        public static void Play()
        {
            int                 width  = GetBoardSizeInts.GetBoardWidth();
            int                 height = GetBoardSizeInts.GetBoardHeight();
            Board               b      = new Board(height, width);
            BoardPrinter        bp     = new BoardPrinter(b);
            FlashingPlayerCoins fpc    = new FlashingPlayerCoins(bp);
            PlayerCollector     pc     = new PlayerCollector(bp);
            GameLogic           gl     = new GameLogic(b, pc, fpc);

            pc.Collect();
            bp.Print();
            gl.DoTurnsUntilWinn();
        }
コード例 #3
0
ファイル: GameLogic.cs プロジェクト: Branndrinn/vier-gewinnt
 private bool HasPlayer4InDiagonal1(Player player)
 {
     for (int y = 0; y < Board.Width - 3; y++)
     {
         for (int x = 0; x < Board.Height - 3; x++)
         {
             if (Board._board[x][y] == player && Board._board[x + 1][y + 1] == player && Board._board[x + 2][y + 2] == player && Board._board[x + 3][x + 3] == player)
             {
                 FlashingPlayerCoins.FlashDiagonal1(player, x, y);
                 return(true);
             }
         }
     }
     return(false);
 }
コード例 #4
0
ファイル: GameLogic.cs プロジェクト: Branndrinn/vier-gewinnt
 private bool HasPlayer4InRow(Player player)
 {
     for (int y = 0; y < Board.Width - 3; y++)
     {
         for (int x = 0; x < Board.Height; x++)
         {
             if (Board._board[y][x] == player && Board._board[y + 1][x] == player && Board._board[y + 2][x] == player && Board._board[y + 3][x] == player)
             {
                 FlashingPlayerCoins.FlashRow(player, x, y);
                 return(true);
             }
         }
     }
     return(false);
 }
コード例 #5
0
ファイル: GameLogic.cs プロジェクト: Branndrinn/vier-gewinnt
        private bool HasPlayer4InColumn(Player player)
        {
            for (int y = 0; y < Board.Width; y++)
            {
                for (int x = 0; x < Board.Height - 3; x++)
                {
                    if (Board._board[y][x] == player &&
                        Board._board[y][x + 1] == player &&
                        Board._board[y][x + 2] == player &&
                        Board._board[y][x + 3] == player)
                    {
                        Player coin1 = Board._board[y][x];
                        Player coin2 = Board._board[y][x + 1];
                        Player coin3 = Board._board[y][x + 2];
                        Player coin4 = Board._board[y][x + 3];

                        int[,] intCoin1 = new int[, ] {
                            { y, x }
                        };
                        int[,] intCoin2 = new int[, ] {
                            { y, x + 1 }
                        };
                        int[,] intCoin3 = new int[, ] {
                            { y, x + 2 }
                        };
                        int[,] intCoin4 = new int[, ] {
                            { y, x + 3 }
                        };

                        FlashingPlayerCoins.FlashColumn(player, intCoin1, intCoin2, intCoin3, intCoin4);
                        return(true);
                    }
                }
            }
            return(false);
        }