public Player(string i_PlayerName, bool i_IsComputer, CoinStatusEnum.eCoinStatus i_CoinColor, Board i_BoardData) { m_Name = i_PlayerName; m_IsComputer = i_IsComputer; r_CoinColor = i_CoinColor; m_BoardData = i_BoardData; m_AvailableMoves = new List <Move>(); InitializeAvailableMoves(); }
private void onFlip(int i_Row, int i_Column, CoinStatusEnum.eCoinStatus i_FlipTo) { switch (i_FlipTo) { case CoinStatusEnum.eCoinStatus.Red: r_PictureBoxes[i_Row, i_Column].Image = Properties.Resources.CoinRed; r_PictureBoxes[i_Row, i_Column].SizeMode = PictureBoxSizeMode.StretchImage; break; case CoinStatusEnum.eCoinStatus.Yellow: r_PictureBoxes[i_Row, i_Column].Image = Properties.Resources.CoinYellow; r_PictureBoxes[i_Row, i_Column].SizeMode = PictureBoxSizeMode.StretchImage; break; } r_PictureBoxes[i_Row, i_Column].Refresh(); }
public void UpdateBoardAfterMove(Move i_MoveThatWasMade, CoinStatusEnum.eCoinStatus i_PlayerCoinColor) { int i; int j; switch (i_MoveThatWasMade.Direction) { case MoveDirectionEnum.eMoveDirection.Up: for (i = i_MoveThatWasMade.From.Row - 1; i >= i_MoveThatWasMade.To.Row; i--) { m_Board[i, i_MoveThatWasMade.From.Column] = i_PlayerCoinColor; m_CoinFliped.Invoke(i, i_MoveThatWasMade.From.Column, i_PlayerCoinColor); } break; case MoveDirectionEnum.eMoveDirection.Right: for (j = i_MoveThatWasMade.From.Column + 1; j <= i_MoveThatWasMade.To.Column; j++) { m_Board[i_MoveThatWasMade.From.Row, j] = i_PlayerCoinColor; m_CoinFliped.Invoke(i_MoveThatWasMade.From.Row, j, i_PlayerCoinColor); } break; case MoveDirectionEnum.eMoveDirection.Left: for (j = i_MoveThatWasMade.From.Column - 1; j >= i_MoveThatWasMade.To.Column; j--) { m_Board[i_MoveThatWasMade.From.Row, j] = i_PlayerCoinColor; m_CoinFliped.Invoke(i_MoveThatWasMade.From.Row, j, i_PlayerCoinColor); } break; case MoveDirectionEnum.eMoveDirection.Down: for (i = i_MoveThatWasMade.From.Row + 1; i <= i_MoveThatWasMade.To.Row; i++) { m_Board[i, i_MoveThatWasMade.From.Column] = i_PlayerCoinColor; m_CoinFliped.Invoke(i, i_MoveThatWasMade.From.Column, i_PlayerCoinColor); } break; case MoveDirectionEnum.eMoveDirection.DiagonalUpRight: for (i = i_MoveThatWasMade.From.Row - 1, j = i_MoveThatWasMade.From.Column + 1; i >= i_MoveThatWasMade.To.Row && j <= i_MoveThatWasMade.To.Column; i--, j++) { m_Board[i, j] = i_PlayerCoinColor; m_CoinFliped.Invoke(i, j, i_PlayerCoinColor); } break; case MoveDirectionEnum.eMoveDirection.DiagonalUpLeft: for (i = i_MoveThatWasMade.From.Row - 1, j = i_MoveThatWasMade.From.Column - 1; i >= i_MoveThatWasMade.To.Row && j >= i_MoveThatWasMade.To.Column; i--, j--) { m_Board[i, j] = i_PlayerCoinColor; m_CoinFliped.Invoke(i, j, i_PlayerCoinColor); } break; case MoveDirectionEnum.eMoveDirection.DiagonalDownRight: for (i = i_MoveThatWasMade.From.Row + 1, j = i_MoveThatWasMade.From.Column + 1; i <= i_MoveThatWasMade.To.Row && j <= i_MoveThatWasMade.To.Column; i++, j++) { m_Board[i, j] = i_PlayerCoinColor; m_CoinFliped.Invoke(i, j, i_PlayerCoinColor); } break; case MoveDirectionEnum.eMoveDirection.DiagonalDownLeft: for (i = i_MoveThatWasMade.From.Row + 1, j = i_MoveThatWasMade.From.Column - 1; i <= i_MoveThatWasMade.To.Row && j >= i_MoveThatWasMade.To.Column; i++, j--) { m_Board[i, j] = i_PlayerCoinColor; m_CoinFliped.Invoke(i, j, i_PlayerCoinColor); } break; } }