private void player1Moving() { m_Game.MoveTheCheckerOfTheCorecctPlayer( m_Game.Player1, m_Game.Player2, convertCheckerPositionPointToSquareOfLogic(m_LastMoveFrom), convertCheckerPositionPointToSquareOfLogic(m_LastMoveTo), ref m_WasAttack, ref m_HasAnotherAttack); if (!winnerOrDraw()) { initCheckers(); updateScore(); enableOrDisableStartOverButton(ConstantsUI.k_Player2Turn); m_WasMove = false; if (!m_HasAnotherAttack) { changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer2); this.Update(); if (m_Game.Player2.MachineOrNot) { computerMove(); changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer1); } else { m_CurrentPlayer = true; ////---> now player2 turn if (m_Game.AttackListOfPlayer2.Count > 0) { invokeClickOnChecker(m_Game.AttackListOfPlayer2); } else { invokeClickOnChecker(m_Game.MoveListOfPlayer2); } } } else { ////--->Combo one more attack -> turn stay in Player1 changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer1); invokeClickOnChecker(m_Game.AttackListOfPlayer1); } } }
private void afterMoving(PictureBoxInTheBoard i_CurrentPicBoxThatMoveTo) { if (i_CurrentPicBoxThatMoveTo != null) { m_LastMoveTo = i_CurrentPicBoxThatMoveTo.PointInTheBoard; } m_WasMove = true; returnSqureToEmpty(); if (m_WasMove) { if (!m_CurrentPlayer) { //// case this is the player 1 changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer2); m_Game.MoveTheCheckerOfTheCorecctPlayer( m_Game.Player1, m_Game.Player2, convertCheckerPositionPointToSquareOfLogic(m_LastMoveFrom), convertCheckerPositionPointToSquareOfLogic(m_LastMoveTo), ref m_wasAttack, ref m_hasAnotherAttack); if (!winnerOrDraw()) { initCheckers(); updateScore(); enableOrDisableStartOverButton(ConstantsUI.k_Player2Turn); m_WasMove = false; if (!m_hasAnotherAttack) { if (m_Game.Player2.MachineOrNot) { computerMove(); changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer1); } else { changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer2); m_CurrentPlayer = true; ////---> now player2 turn if (m_Game.AttackListOfPlayer2.Count > 0) { invokeClickOnChecker(m_Game.AttackListOfPlayer2); } else { invokeClickOnChecker(m_Game.MoveListOfPlayer2); } } } else { ////--->Combo one more attack -> turn stay in Player1 invokeClickOnChecker(m_Game.AttackListOfPlayer1); } } } else { //// case this is the player 2 ////changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer1); m_Game.MoveTheCheckerOfTheCorecctPlayer( m_Game.Player2, m_Game.Player1, convertCheckerPositionPointToSquareOfLogic(m_LastMoveFrom), convertCheckerPositionPointToSquareOfLogic(m_LastMoveTo), ref m_wasAttack, ref m_hasAnotherAttack); if (!winnerOrDraw()) { initCheckers(); updateScore(); enableOrDisableStartOverButton(ConstantsUI.k_Player1Turn); m_WasMove = false; if (!m_hasAnotherAttack) { m_CurrentPlayer = false; ////---> now player1 turn if (m_Game.AttackListOfPlayer1.Count > 0) { invokeClickOnChecker(m_Game.AttackListOfPlayer1); } else { invokeClickOnChecker(m_Game.MoveListOfPlayer1); } } else { ////--->Combo one more attack -> turn stay in Player2 invokeClickOnChecker(m_Game.AttackListOfPlayer2); } changeVisibleStatusFoeArrows(ConstantsUI.k_ArrowPlayer1); } } } }