Пример #1
0
        private void clickForEndMove()
        {
            try
            {
                r_GameMover.MakeAMove(m_Board, m_StartPoint, m_EndPoint, m_PlayerTurn);

                if (r_GameMover.CanEatAgain)
                {
                    m_CurrentMove = eClickTypeMove.Combo;
                    m_StartPoint  = m_EndPoint;
                    damkaSquereButtonMatrix[m_StartPoint.GetX(), m_StartPoint.GetY()].BackColor = Color.Blue;
                }
                else
                {
                    swapTurn();
                    checkGameOver();
                    checkIfPCTurn();
                    m_CurrentMove = eClickTypeMove.Start;
                }

                updateGameDetails();
                checkGameOver();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #2
0
        private void clickForStartMove(DamkaSquereButton i_Sender)
        {
            Square sqr = m_Board.GetSquare(i_Sender.Coordnate.GetX(), i_Sender.Coordnate.GetY());

            if (sqr.GetChecker() == null)
            {
                MessageBox.Show("Error: Start Point is Empty", "Wrong Move", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (sqr.GetChecker().Color != m_PlayerTurn)
            {
                MessageBox.Show("Wrong Pawn Choose: Please Choose Other Color ", "Wrong Pawn", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                m_CurrentMove      = eClickTypeMove.End;
                m_StartPoint       = i_Sender.Coordnate;
                i_Sender.BackColor = Color.LightBlue;
            }
        }
Пример #3
0
        private void DamkaSquareMove(DamkaSquereButton i_Sender)
        {
            switch (m_CurrentMove)
            {
            case eClickTypeMove.Start:
                clickForStartMove(i_Sender);
                break;

            case eClickTypeMove.End:
            case eClickTypeMove.Combo:
                m_EndPoint = i_Sender.Coordnate;
                clickForEndMove();
                break;

            case eClickTypeMove.Cancel:
                clickForCancelAMove(i_Sender);
                break;
            }
        }
Пример #4
0
 public DamkaSquereButton(Damka.Logic.Point i_Coordnate, Square sqr) : base()
 {
     r_Coordnate             = i_Coordnate;
     sqr.EventSquareChanged += this.setCorrectButtonDetails;
 }