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); } }
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; } }
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; } }
public DamkaSquereButton(Damka.Logic.Point i_Coordnate, Square sqr) : base() { r_Coordnate = i_Coordnate; sqr.EventSquareChanged += this.setCorrectButtonDetails; }