public BoardBot(Board b, GameManagerBot gameManager) { this.gameManager = gameManager; Square[] s = b.squares; SquareBot[] sb = new SquareBot[s.Length]; for (int i = 0; i < s.Length; i++) { sb[i] = new SquareBot(gameManager, s[i]); } List<SpookyMarkBot> smb = new List<SpookyMarkBot>(); foreach (SpookyMark sm in b.spookyMarks) { smb.Add(new SpookyMarkBot(sm)); } List<MarkBot> mb = new List<MarkBot>(); foreach (Mark m in b.currentSpookyMark) { mb.Add(new MarkBot(m)); } List<int> collapsed = new List<int>(b.collapsed); if (b.toCollapse == null) { this.init(new GraphBot(b.entGraph, gameManager), sb, smb, collapsed, null, mb, b.nextAction); } else { this.init(new GraphBot(b.entGraph, gameManager), sb, smb, collapsed, new SpookyMarkBot(b.toCollapse), mb, b.nextAction); } }
private BoardBot generateSuccessor(BoardBot board, int agent, Action action) { numCopies++; GameManagerBot gmCopy = new GameManagerBot(board.gameManager); BoardBot copy = gmCopy.board; action.performAction(copy); return(copy); }
public void executeTurn(int actionType, int turnNum) { numCopies = 0; GameManagerBot gmCopy = new GameManagerBot(gameManager); BoardBot copy = gmCopy.board; Action act = getNextMove(copy, actionType, startDifficulty, turnNum); act.performAction(actualBoard); Debug.Log("Made " + numCopies + " copies."); }
public void init(GameManagerBot gmb, List <MarkBot> pms, int position, bool alreadyMarked, bool classicallyMarked, int finalPlayer, int finalTurn, int filledMarks) { gameManager = gmb; presentMarks = pms; this.position = position; this.alreadyMarked = alreadyMarked; this.classicallyMarked = classicallyMarked; this.finalPlayer = finalPlayer; this.finalTurn = finalTurn; this.filledMarks = filledMarks; }
public GraphBot(GraphBot g, GameManagerBot gameManager) { Dictionary <SquareBot, HashSet <SquareBot> > adjlistSQ = new Dictionary <SquareBot, HashSet <SquareBot> >(); Dictionary <SquareBot, HashSet <SquareBot> > gList = g.adjlistSQ; foreach (KeyValuePair <SquareBot, HashSet <SquareBot> > kvp in gList) { SquareBot sb = new SquareBot(gameManager, kvp.Key); HashSet <SquareBot> h = new HashSet <SquareBot>(); foreach (SquareBot sq in kvp.Value) { h.Add(new SquareBot(gameManager, sq)); } adjlistSQ.Add(sb, h); } this.init(adjlistSQ); }
public SquareBot(GameManagerBot gmb, SquareBot sq) { List <MarkBot> pms = new List <MarkBot>(); foreach (MarkBot m in sq.presentMarks) { if (m.sm != null) { pms.Add(new MarkBot(m.player, m.turn, m.position, new SpookyMarkBot(m.sm))); } else { pms.Add(new MarkBot(m.player, m.turn, m.position, null)); } } this.init(gmb, pms, sq.position, sq.alreadyMarked, sq.classicallyMarked, sq.finalPlayer, sq.finalTurn, sq.filledMarks); }
public GameManagerBot(GameManagerBot gmb) { this.init(gmb.currentPlayer, gmb.turnNum, gmb.numMarks, gmb.won, gmb.draw, new BoardBot(gmb.board, this)); }