Exemple #1
0
 def __init__(self, edgeLength):
     self.radius = edgeLength - 1
     self.diameter = 2 * self.radius
     self.numTilesHigh = self.diameter + 1
     self.numTilesWide = self.diameter + 1
     print "Creating board", self.numTilesWide, "tiles wide and", self.numTilesHigh, "tiles high"
     # Initialise the tiles with their position in the axial coordinate system used to define locations on the board
     self.tilePositions = HexCoordSys.getPositionsDefinedByHexWithEdge(edgeLength)
     self.numTiles = len(self.tilePositions)
     print "Created a board containing", self.numTiles, "tiles"
     self.borders = defaultdict(list)
     for tilePosition in self.tilePositions:
         for key in HexCoordSys.borders.keys():
             if HexCoordSys.borders[key](tilePosition, self.tilePositions):
                 self.borders[key].append(tilePosition)
     self.center = TilePosition(row=0, col=0)
     self.spokes = defaultdict(list)
     for key in HexCoordSys.edgeDirections.keys():
         curTile = self.center
         while self.isOnBoard(curTile):
             self.spokes[key].append(curTile)
             curTile = HexCoordSys.edgeDirections[key](curTile)