Ejemplo n.º 1
0
    def __init__(self, world):
        self.world = world
        self.tile_size = 6
        self.width = 192
        self.height = 192
        self.camera = pygame.Rect((0, 0), (self.width, self.height)).copy()
        self.map = Map()
        self.map.load_dungeon(world.map.dungeon, True, self.tile_size)
        self.zoom_in_arrow = ZoomArrow(0, (174, 10))
        self.zoom_in_arrow.create()
        self.zoom_out_arrow = ZoomArrow(1, (174, 20))
        self.zoom_out_arrow.create()

        Gui.__init__(self, 'minimap', (4, 4),
                     pygame.Surface((self.width, self.height)), True)
        x = self.world.player.x * self.tile_size
        y = self.world.player.y * self.tile_size
        self.camera.center = (x, y)
        self.map.draw(self.image, self.camera, self.world.map.explored_tiles)
        self.image.fill((0, 255, 0),
                        pygame.Rect((x - self.camera.x, y - self.camera.y),
                                    (self.tile_size, self.tile_size)))
        self.image.blit(self.zoom_in_arrow.arrow,
                        (self.zoom_in_arrow.rect.x, self.zoom_in_arrow.rect.y))
        self.image.blit(
            self.zoom_out_arrow.arrow,
            (self.zoom_out_arrow.rect.x, self.zoom_out_arrow.rect.y))

        register_handler([TIME_PASSED, pygame.MOUSEBUTTONDOWN],
                         self.handle_event)
Ejemplo n.º 2
0
 def __init__(self, floor, up=None, down=None):
     self.entities = []
     self.player = None
     self.items = []
     self.up = up
     self.floor = floor
     self.down = down
     self.dungeon = Dungeon(
         (random.randint(33, 50), random.randint(33, 50)), "None", 100,
         (5, 5), (32, 32), (32, 32))
     self.dungeon.generate_dungeon()
     self.map = Map()
     self.width = self.dungeon.width
     self.height = self.dungeon.height
     self.grid_size_x = self.dungeon.grid_size_x
     self.grid_size_y = self.dungeon.grid_size_y
     self.map.load_dungeon(self.dungeon)
     for y in range(0, len(self.dungeon.grid)):
         for x in range(0, len(self.dungeon.grid[0])):
             if self.dungeon.grid[y][x] == 8:
                 self.up_stair = (x, y)
             elif self.dungeon.grid[y][x] == 9:
                 self.down_stair = (x, y)