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