Ejemplo n.º 1
0
        public CheckPathResult CheckPath(List <Vector2> path)
        {
            CheckPathResult result = new CheckPathResult();

            Alg.CheckPath(rule, board, path, out result.shape, out result.path, out result.neighbors);
            return(result);
        }
Ejemplo n.º 2
0
 public Piece GetPiece(Vector2 pos)
 {
     if (Alg.isValidPos(Size, pos))
     {
         return(Pieces [(int)pos.y, (int)pos.x]);
     }
     return(null);
 }
Ejemplo n.º 3
0
        void TestBoardGame()
        {
            Board board = new Board();

            board.Pieces = new Piece[, ] {
                { new Piece(PieceShape.Circle), new Piece(PieceShape.Circle), new Piece(PieceShape.Rect) },
                { new Piece(PieceShape.Triangle), new Piece(PieceShape.Triangle), new Piece(PieceShape.Circle) },
                { new Piece(PieceShape.Circle), new Piece(PieceShape.Circle), new Piece(PieceShape.Circle) }
            };

            PieceShape     shape;
            List <Vector2> path;
            List <Vector2> neighbors;

            Alg.CheckPath(
                0,
                board,
                new Vector2[] {
                new Vector2(0, 0),
                new Vector2(0, 1),
                new Vector2(1, 1),
                new Vector2(1, 0),
                new Vector2(2, 0)
            }.ToList(),
                out shape,
                out path,
                out neighbors
                );

            print(shape);
            print("path");
            foreach (var pos in path)
            {
                print(pos);
            }

            print("neighbor");
            foreach (var pos in neighbors)
            {
                print(pos);
            }
        }
Ejemplo n.º 4
0
        void TestPiece()
        {
            var size = new Vector2(10, 10);
            var pos  = Alg.PosNeighbors(size, new Vector2(1, 0)).ToArray();

            if (!pos [0].Equals(new Vector2(2, 0)))
            {
                Debug.LogError("X");
            }
            if (!pos [1].Equals(new Vector2(2, 1)))
            {
                Debug.LogError("X");
            }
            if (!pos [2].Equals(new Vector2(1, 1)))
            {
                Debug.LogError("X");
            }
            if (!pos [3].Equals(new Vector2(0, 1)))
            {
                Debug.LogError("X");
            }
            if (!pos [4].Equals(new Vector2(0, 0)))
            {
                Debug.LogError("X");
            }


            pos = Alg.PosNeighbors(size, new Vector2(2, 0)).ToArray();
            if (!pos [0].Equals(new Vector2(3, 0)))
            {
                Debug.LogError("X");
            }
            if (!pos [1].Equals(new Vector2(2, 1)))
            {
                Debug.LogError("X");
            }
            if (!pos [2].Equals(new Vector2(1, 0)))
            {
                Debug.LogError("X");
            }


            pos = Alg.PosNeighbors(size, new Vector2(1, 1)).ToArray();
            if (!pos [0].Equals(new Vector2(1, 0)))
            {
                Debug.LogError("X");
            }
            if (!pos [1].Equals(new Vector2(2, 1)))
            {
                Debug.LogError("X");
            }
            if (!pos [2].Equals(new Vector2(2, 2)))
            {
                Debug.LogError("X");
            }
            if (!pos [3].Equals(new Vector2(1, 2)))
            {
                Debug.LogError("X");
            }
            if (!pos [4].Equals(new Vector2(0, 2)))
            {
                Debug.LogError("X");
            }
            if (!pos [5].Equals(new Vector2(0, 1)))
            {
                Debug.LogError("X");
            }

            foreach (Vector2 p in pos)
            {
                //print (p);
            }
        }