public GameTree(Tuple <int, int> move, BigGameField field, int player) { rand = new Random(); _startLeaf = new Leaf() { Move = move, Player = player }; _field = new BigGameField(); _field.Reset(field.Field, _field.Player); _simulationsField = new SimWraper[9, 9]; ResetSimulationsField(); }
public void Update(Tuple <int, int> move, BigGameField field) { var leaf = _startLeaf.SubLeafs.FirstOrDefault(l => l.Move.Item1 == move.Item1 && l.Move.Item2 == move.Item2); if (leaf == null) { _startLeaf = new Leaf() { Move = move, Player = 6 - _startLeaf.Player }; } else { _startLeaf = leaf; } _field.Reset(field.Field, field.Player); }
public void Reset() { _lastMove = null; _field.Reset(); }