def __init__(self): core.wm.set_screen("inventory") Window.__init__(self,core.screen.get_rect()) core.wm.set_screen("main") self.fg = color.Color('white') self.bg = color.Color('Blue') self.font = font.Font(None, 20) self.equipped_icon = self.font.render("E", True, self.fg) self.character_fields = \ ['level','hp','max_hp','strength','agility','vitality','thaco','ac','gold','exp']
def __init__(self, width=170, height=40, x=5, y=5): rect = Rect(x,y,width,height) Window.__init__(self, rect, 0) self.x = x self.y = y self.render = pygame.font.Font(None, 16).render self.fg = pygame.color.Color('yellow') self.bg = pygame.color.Color('black') self.tr = pygame.color.Color('red') self.bgwin = core.wm.window(width,height,x,y,z=1,name="FPS background") self.bgwin.image.fill(self.bg) self.bgwin.image.set_alpha(128)
def __init__(self, width, height, default_tile_name='floor'): Window.__init__(self,None,10) self.save_data = SaveObject() self.tile_manager = TileManager() default_tile = self.tile_manager.get_tile(default_tile_name) self.tiles = [] for x in range(width): col = [] self.tiles.append(col) for y in range(height): location = MapLocation(self, (x,y), default_tile) col.append(location) self.width = width self.height = height tiles_x = core.screen.get_width() / 32 tiles_y = core.screen.get_height() / 32 self.dimentions = Rect(0,0,width,height) self.character = None self.entities = RenderEntity() self.non_passable_entities = RenderEntity() self.viewport = Rect(0,0,tiles_x,tiles_y) self.offset = Rect(0,0,0,0) self.map_tile_coverage = Rect(0,0,tiles_x+5,tiles_y+5) if self.map_tile_coverage.width > width: self.map_tile_coverage.width = width if self.map_tile_coverage.height > height: self.map_tile_coverage.height = height self.map_non_scroll_region = \ self.viewport.inflate(SCROLL_EDGE*-2,SCROLL_EDGE*-2) self.action_listeners = {} self.entry_listeners = {} self.movement_listeners = [] self.scrolling = False self.frame = 0 self.map_frames_dirty = [True,True,True,True] self.map_frames = [] self.heal_points = 0 self.regen_rate = 2000000000 self.sound = core.mixer.Sound('%s/sounds/beep.wav' % DATA_DIR) for f in range(4): #TODO Add non hardcoded values for buffer #TODO Make sure we don't make a larger surface than we need #TODO Ex: 5x5 map self.map_frames.append(Surface(((1+width) * TILE_SIZE, \ (1+height) * TILE_SIZE)))