Beispiel #1
0
def create_lakes(map, lake_count, size):
    for l in range(lake_count):
        cx = random.randint(0, map.array_width)
        cy = random.randint(0, map.array_height)
        nt = map.getTile(cx, cy)
        nt._terrain = models.map.terrains["water"]
        for i in range(size):
            nt = None
            while not nt:
                nx = random.randint(-2, 2)
                ny = random.randint(-2, 2)
                nt = map.getTile(cx + nx, cy + ny)

            nt._terrain = models.map.terrains["water"]
            nb = map.getNeighbors(cx, cy)
            for ne in nb:
                ne._terrain = models.map.terrains["water"]
            cx = nt.point.x
            cy = nt.point.y
Beispiel #2
0
 def test_it_returns_a_list_of_neighbors(self):
     map = TileMap(10, 10)
     expected = [
         map.getTile(2,3),
         map.getTile(3,3),
         map.getTile(4,3),
         map.getTile(2,4),
         map.getTile(4,4),
         map.getTile(2,5),
         map.getTile(3,5),
         map.getTile(4,5)
     ]
     neighbors = map.getNeighbors(3, 4)
     self.assertEqual(len(expected), len(neighbors), 'Lists should be the same size')
     for e in expected:
         self.assert_(e in neighbors, 'Expected item wasn\'t in neighbors list')
Beispiel #3
0
 def test_get_tile_returns_none_if_outside_range(self):
     map = TileMap(10, 10)
     t = map.getTile(11, 11)
     self.assert_(t == None, 'No tile to return')
     t = map.getTile(-1, -1)
     self.assert_(t == None, 'No tile to return')
Beispiel #4
0
 def test_it_can_access_tiles_and_tiles_are_for_the_correct_position(self):
     map = TileMap(10, 5)
     t = map.getTile(9, 4)
     self.assertEqual(t, map.tiles[4][9])