Example #1
0
 public void AssignNeighbors(BoardSetup bs)
 {
     neighbors.Clear();
     Vector2[] dirs = { Vector2.left, Vector2.right, Vector2.up, Vector2.down };
     foreach (Vector2 d in dirs)
     {
         Point n;
         if (bs.points.TryGetValue(position + d, out n))
         {
             neighbors.Add(n);
         }
     }
 }
Example #2
0
        //Some explanation here:
        public static List <Point> StonesFromGameState(int[] gs, BoardSetup board)
        {
            List <Point> stones = new List <Point>();

            for (int i = 0; i < gs.Length; i = i + 4)
            {
                Point p = board.GetPoint(new Vector2(gs[i + 1], gs[i + 2]));
                p.stone.turnNumberPlayed = gs[i];
                p.stone.color            = IntToStoneColor(gs[i + 3]);
                stones.Add(p);
            }
            return(stones);
        }
Example #3
0
        public void AddToHistory(int turnNumber, Stone s, int stonesCaptued, int[] gameState, BoardSetup board)
        {
            TurnDetails turnDetails = new TurnDetails();

            turnDetails.turnNumber             = turnNumber;
            turnDetails.player                 = s.color;
            turnDetails.stonesCapturedThisTurn = stonesCaptued;
            turnDetails.playPosition           = s.position;
            turnDetails.columnAsLetter         = GetColumnLetter((int)s.position.x);
            turnDetails.rowAsNumber            = (int)s.position.x + 1;
            turnDetails.gameState              = gameState;
            gameHistory[turnNumber]            = turnDetails;
        }