Exemple #1
0
 private bool OnFirstClick(PieceButton currentPosition)
 {
     Message.Text          = _currentPlayerName + pieceNextPositionText;
     _currentSelectedPiece = currentPosition;
     if (_currentSelectedPiece.Piece == null)
     {
         MessageBox.Show(this, noPieceFound);
         _messageFlashTimer.Enabled = false;
         return(true);
     }
     return(false);
 }
Exemple #2
0
        private void Cellbutton_Click(object sender, EventArgs e)
        {
            PieceButton pieceButton = (PieceButton)sender;

            if (_isFirstClick)
            {
                _isFirstClick = OnFirstClick(pieceButton);
            }
            else
            {
                OnSecondClick(pieceButton);
                _isFirstClick = true;
            }
        }
Exemple #3
0
        private void OnSecondClick(PieceButton currentPosition)
        {
            CoOrdinate toCoOrdinate = CoOrdinate.GetCoOrdinate(currentPosition.Name);

            //If the location to be moved is not empty or is not a valid move
            if (!_game.PlayTurn(_currentPlayerTurn, _currentSelectedPiece.Piece, toCoOrdinate))
            {
                _messageFlashTimer.Enabled = false;
                MessageBox.Show(this, errorWrongMove);
            }
            else
            {
                RefreshChessBoard();
                UpdateStateHistory();
                CheckGameStatus();
            }
        }
Exemple #4
0
        private PieceButton CreateButton(int row, int column)
        {
            PieceButton cellButton = new PieceButton();

            cellButton.Height  = 200;
            cellButton.Width   = 200;
            cellButton.Padding = new Padding(0);
            cellButton.Margin  = new Padding(0);
            cellButton.Image   = null;
            cellButton.Name    = row + "_" + column;

            if ((column + row) % 2 == 0)
            {
                cellButton.BackColor = System.Drawing.Color.Orange;
            }
            cellButton.Click += new EventHandler(Cellbutton_Click);
            return(cellButton);
        }
Exemple #5
0
 private void DrawChessBoard(History boardState)
 {
     ChessBoard.Controls.Clear();
     for (int row = 0; row < this.ChessBoard.ColumnCount; row++)
     {
         for (int column = 0; column < this.ChessBoard.RowCount; column++)
         {
             CoOrdinate  key        = new CoOrdinate(row, column);
             PieceButton cellButton = CreateButton(row, column);
             Piece       piece;
             if (boardState.LayOut.TryGetValue(key, out piece))
             {
                 cellButton.Image = piece.Image;
             }
             cellButton.Piece = piece;
             this.ChessBoard.Controls.Add(cellButton, row, column);
         }
     }
 }
Exemple #6
0
        void GuiSignal(GameObject child)
        {
            // If a map piece is selected from the GUI, move to place that piece
            PieceButton pieceButton = child.GetComponent <PieceButton>();

            if (pieceButton != null)
            {
                ui.commandPanel.Hide();
                ui.infoPanel.Hide();
                game.ChangeState(new PlacingPiece(pieceButton.piece));
            }

            // If a unit control is clicked from the GUI, move to move that unit
            UiButton button = child.GetComponent <UiButton>();

            if ((button != null) && (button == ui.cellInfoPanel.moveButton))
            {
                game.ChangeState(new UnitMovement(ui.cellInfoPanel.selectedUnit));
            }
        }