Пример #1
0
        public static List <List <MoveAttempt> > getFullTurns(List <MoveAttempt> possibility, GameLogic g)
        {
            List <List <MoveAttempt> > fullturns = new List <List <MoveAttempt> >();

            g.makeMove(possibility[possibility.Count - 1]);
            if (g.multiJumpLoc == null)
            {
                fullturns.Add(possibility);
            }
            else
            {
                foreach (Vector v in g.getDoableJumps(g.board.getCellContents(g.multiJumpLoc)))
                {
                    MoveAttempt        move = new MoveAttempt(v, g.board.getCellContents(g.multiJumpLoc));
                    List <MoveAttempt> p    = new List <MoveAttempt>();
                    p.AddRange(possibility);
                    p.Add(move);
                    GameLogic newG = new GameLogic(g);
                    g.makeMove(move);
                    fullturns.AddRange(getFullTurns(p, newG));
                }
            }
            return(fullturns);
        }
Пример #2
0
 public static List<List<MoveAttempt>> getFullTurns(List<MoveAttempt> possibility, GameLogic g)
 {
     List<List<MoveAttempt>> fullturns = new List<List<MoveAttempt>>();
     g.makeMove(possibility[possibility.Count-1]);
     if(g.multiJumpLoc == null) {
         fullturns.Add(possibility);
     } else {
         foreach(Vector v in g.getDoableJumps(g.board.getCellContents(g.multiJumpLoc))) {
             MoveAttempt move = new MoveAttempt(v, g.board.getCellContents(g.multiJumpLoc));
             List<MoveAttempt> p = new List<MoveAttempt>();
             p.AddRange(possibility);
             p.Add(move);
             GameLogic newG = new GameLogic(g);
             g.makeMove(move);
             fullturns.AddRange(getFullTurns(p, newG));
         }
     }
     return fullturns;
 }