public CheckersWindow() { this.InitializeComponent(); board = new CheckersBoard(0, x); board.GameMaxLength = 150; lastMove = new CheckersMove(null, false, 1); moveList.Tag = new List<CheckersMove>(); myRepaint = new Repaint(this.repaint); CheckersPlayer player = new CheckersPlayer(ComputerPlayer); alg = new Algorithms(player); int blackWhite = 1; for (int row = 0; row < 8; ++row) { for (int col = 0; col < 8; ++col) { if (blackWhite % 2 == 0) { BlackSquare square = new BlackSquare(); square.SetValue(Grid.ColumnProperty, col); square.SetValue(Grid.RowProperty, row); square.Tag = new System.Windows.Point(row, col); square.DragEnter += new DragEventHandler(square_DragEnter); square.Drop += new DragEventHandler(square_Drop); square.MouseLeftButtonDown += new MouseButtonEventHandler(square_MouseLeftButtonDown); UIBoard.Children.Add(square); blackSquares.Add(square); } else { WhiteSquare square = new WhiteSquare(); square.SetValue(Grid.ColumnProperty, col); square.SetValue(Grid.RowProperty, row); UIBoard.Children.Add(square); } blackWhite++; } blackWhite++; } StringBuilder stringBuilder = new StringBuilder("Current Player is:\n"); stringBuilder.Append(board.GetCurrentPlayer().GetPlayerID().ToString() == "-1" ? "Black" : "White"); currentPlayerLabel.Content = stringBuilder.ToString(); repaint(null); board.GameOver += new CheckersBoard.EndGame(board_GameOver); if (board.GetCurrentPlayer().GetPlayerID() == alg.ComputerPlayerID) { computerThread = new Thread(this.computerMove); computerThread.Start(); } this.visualGameOver = new EndGame(this.theGameIsOver); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); var cellSize = new Size(10, 10); var location = new Point(0, 0); for (int i = 0; i < cells.GetLength(0); i++) { for (int j = 0; j < cells.GetLength(1); j++) { var rect = new Rectangle(location.X + i * cellSize.Width, location.Y + j * cellSize.Height, cellSize.Width, cellSize.Height); var brush = cells[i, j] == 1 ? Brushes.Red : Brushes.White; e.Graphics.FillRectangle(brush, rect); e.Graphics.DrawRectangle(Pens.Black, rect); } } Repaint?.Invoke(); }
public ReversiWindow() { InitializeComponent(); winnerLabel.Visibility = Visibility.Hidden; gameHistory = new List<ReversiBoard>(); myRepaint = new Repaint(this.repaint); board = new ReversiBoard(0); ReversiPlayer player = new ReversiPlayer(ComputerPlayer); alg = new Algorithms(player); intializeVisualBoard(); this.UpdateLabel += new ReversiWindow.GameOver(updateWinnerLabel); upDateGameStatus(-1, -1, 0); board.NoLegalMoveAvailable += new ReversiBoard.HasMoves(board_NoLegalMoveAvailable); board.GameOver += new ReversiBoard.EndGame(board_GameOver); board.MoveComplete += new ReversiBoard.BoardMove(board_MoveComplete); if (board.GetCurrentPlayer().GetPlayerID() == alg.ComputerPlayerID) { computerThread = new Thread(this.computerMove); computerThread.Start(); } }