Ejemplo n.º 1
0
        public static MoveToDo TheBestMoveToDoForPlayer2(Logic i_TheGameNow)
        {
            bool     foundActiveToDo   = false;
            MoveToDo activeTheBestMove = null;

            foundActiveToDo = player2CanToEat(i_TheGameNow, out activeTheBestMove);
            if (!foundActiveToDo)
            {
                foundActiveToDo = player2CanToMove(i_TheGameNow, out activeTheBestMove);
            }

            return(activeTheBestMove);
        }
Ejemplo n.º 2
0
        private void computerPlayingMove()
        {
            m_ActiveGame.ChangePlayer();

            if (m_ActiveGame.GameOn())
            {
                MoveToDo bestActive = Ai.TheBestMoveToDoForPlayer2(m_ActiveGame);
                m_ActiveGame.PlayingMove(bestActive.Source, bestActive.Dest);
            }
            else
            {
                m_ActiveGame.ChangePlayer();
            }
        }
Ejemplo n.º 3
0
        private static bool Player1CanToMove(Logic i_TheGameNow, out MoveToDo o_ActiveToMove)
        {
            o_ActiveToMove = null;
            bool  playerCanToMove = false;
            Locat destintionIndex = new Locat();

            foreach (Locat sourceIndex in i_TheGameNow.r_VellsOfPlayer1)
            {
                if (i_TheGameNow.Player1CanToMove(sourceIndex, ref destintionIndex))
                {
                    o_ActiveToMove  = new MoveToDo(sourceIndex, destintionIndex);
                    playerCanToMove = true;
                    break;
                }
            }

            return(playerCanToMove);
        }