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); }
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(); } }
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); }