コード例 #1
0
    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();
    }
コード例 #2
0
    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);
    }
コード例 #3
0
 private Referee()
 {
     _field = new BigGameField();
 }