Пример #1
0
 def door(x=None, y=None):
     tile = Tile('+', "Door", x, y)
     tile.add_trait(traits.Openable(tile))
     tile.add_trait(traits.Destroyable(
         tile,
         [
             lambda: Tile.floor(tile.x, tile.y),
             lambda: GameObject.debris(tile.x + random.randint(-2, 2), tile.y + random.randint(-2, 2)),
             lambda: GameObject.debris(tile.x + random.randint(-2, 2), tile.y + random.randint(-2, 2)),
         ]
     ))
     return tile
Пример #2
0
 def wall(x=None, y=None):
     tile = Tile('#', "Wall", x, y, 100, blocks_movement=True, blocks_light=True)
     tile.add_trait(traits.Destroyable(
             tile,
             [ 
                 lambda: Tile.floor(tile.x, tile.y),
                 lambda: GameObject.debris(tile.x + random.randint(-5, 5), tile.y + random.randint(-5, 5)),
                 lambda: GameObject.debris(tile.x + random.randint(-5, 5), tile.y + random.randint(-5, 5)),
                 lambda: GameObject.debris(tile.x + random.randint(-5, 5), tile.y + random.randint(-5, 5)),
                 lambda: GameObject.debris(tile.x + random.randint(-5, 5), tile.y + random.randint(-5, 5)),
             ]
         ))
     return tile