예제 #1
0
 def __init__(self, pm: PageManager):
     super().__init__(pm)
     # background
     self.__background = load_image(SETTINGS['background'])
     # init button
     self.__init_btn()
     self.__init_title()
예제 #2
0
 def __init__(self, pm, map_config_file: str, level_name=None):
     super().__init__(pm)
     map_config = load_json(map_config_file)
     # map
     self.__map_surf = MapSurface(map_config)
     self.__map_surf_rect = self.__map_surf.surface.get_rect()
     self.__map_surf_rect.move_ip(self.map_pos)
     # background
     self.__background = load_image(map_config['background'])
     # toolbox
     self.__init_toolbox(map_config['toolbox'])
     # roles
     self.__init_roles(map_config['sprites'])
     # start_rest switch
     self.__switch = Switch(self.switch_center_pos)
     self.register_event_handler(pygame.MOUSEBUTTONDOWN,
                                 self.__switch_click_handler)
     # tool on mouse
     self.__tool_on_mouse = None
     self.__tool_on_mouse_rect = None
     # drag handler
     self.register_event_handler(pygame.MOUSEBUTTONDOWN,
                                 self.__tool_drag_handler)
     # controller
     self.__level_name = level_name
     self.__controller = Contoller(self.__map_surf, self.__roles,
                                   self.__success_event, self.__fail_event)
예제 #3
0
 def __init__(self, pm: PageManager, level_name: str):
     super().__init__(pm)
     self.__level_name = level_name
     self.__background = load_image(SETTINGS['background'])
     self.__level_name = level_name
     self.__init_title()
     self.__init_btn()
예제 #4
0
 def __init__(self, pm: PageManager, level_name: str):
     super().__init__(pm)
     self.__level_name = level_name
     # next_level: (map_json, toolbox_json)
     self.__next_level = self.__get_next_level(level_name)
     self.__background = load_image(SETTINGS['background'])
     self.__init_title()
     self.__init_btn()
예제 #5
0
 def __init__(self, tool_config: dict, btn: pygame_gui.elements.UIButton):
     self.__texture = load_image(tool_config['texture'])
     self.__name = tool_config['name']
     self.__count = tool_config['number']
     self.__btn = btn
     if self.number == 0:
         self.__btn.disable()
     self.__btn.set_text(str(self.number))
예제 #6
0
 def __init__(self, attr: dict):
     # Note: only if the name field in config file is `blank`,
     #       the tile is not a block.
     self.__name = attr['name']
     if self.is_block:
         self.__texture = load_image(attr['texture'])
     else:
         self.__texture = None
 def __init__(self, pm: PageManager):
     super().__init__(pm)
     self.__background = load_image(SETTINGS['background'])
     self.__init_text()
     btn = pygame_gui.elements.UIButton(
         pygame.Rect(self.btn_pos, self.btn_size), '跳过', self.gui_manager)
     self.register_gui_event_handler(
         'ui_button_pressed', btn,
         lambda e: self.page_manager.replace(LevelPage(self.page_manager)))
예제 #8
0
    def __init__(self, pm):
        super().__init__(pm)
        #config
        self.__map = map_editor.MapBase(self.map_config_file, (20, 20))
        self.__elembox = map_editor.ElemBase(self.toolbox_config_file,
                                             (20, 616))
        self.__background = load_image(SETTINGS['background'])

        self.tool_in_mouse = None
        self.register_event_handler(pygame.MOUSEBUTTONDOWN, self.drag_handler)
        self.__init_btn()
예제 #9
0
 def __init__(self, pm, elem, characters):
     super().__init__(pm)
     self.__background = load_image(SETTINGS['background'])
     self.elem_map = elem
     self.hero_pos = characters[0]
     self.dragon_pos = characters[1]
     self.princess_pos = characters[2]
     self.map_name = None
     self.toolbox_num = None
     self.__init_text()
     self.__init_input_box()
     self.__init_btn()
예제 #10
0
 def __init__(self, pm):
     super().__init__(pm)
     self.__background = load_image(SETTINGS['background'])
     self.__level_info = load_json('config/level.json')
     self.__init_level_list()
     self.__init_title()
예제 #11
0
 def __init__(self, pos: (int, int)):
     self.__image1 = load_image('button/pause.png')
     self.__image0 = load_image('button/start.png')
     self.__state = 0
     self.__rect = self.__image0.get_rect()
     self.__rect.center = pos