Exemplo n.º 1
0
        //Nodes need to know what their neighbors are for pathfinding to be efficient
        public static List <BoardNode> IdentifyNeighbors(NodeGrid gridArg, SpaceCoordinate coordArg)
        {
            List <BoardNode> lNeighbors = new List <BoardNode>();

            foreach (SpaceMovement iMove in gridArg.ALL_DIRECTIONS)
            {
                SpaceCoordinate possNeighborCoord = coordArg.CoordAtMove(iMove);
                BoardNode       lNode             = gridArg.BoardNodes.Find(x => x.Coordinates.Equals(coordArg));
                if (lNode != null)
                {
                    lNeighbors.Add(lNode);
                }
            }
            return(lNeighbors);
        }
Exemplo n.º 2
0
        //returns the board space that is at a particular movement from an initial coordinate
        public BoardSpace SpaceAtMove(SpaceCoordinate coordArg, SpaceMovement moveArg)
        {
            SpaceCoordinate lCoord = coordArg.CoordAtMove(moveArg);

            return(GetBoardSpace(lCoord));
        }