示例#1
0
 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);
         }
     }
 }
示例#2
0
        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);
                    }
                }
            }
        }