def __init__(self): self.world = esper.World() self.event_handler = EventHandler() self.screen = Screen(self.world) self.sidebar = Sidebar(self.world) self.console = Console(self.world) self.last_update = time.monotonic() self.accumulator = 0 rand_x = Random() rand_y = Random() # Add player ship self.player_ship = factory.player_ship(self.world) self.world.component_for_entity(self.player_ship, Selectable).selected_main = True # Add some asteroids for i in range(20): asteroid = factory.asteroid(self.world) position = Position(int(50 * rand_x.guass(0, 0.3)), int(50 * rand_y.guass(0, 0.3))) self.world.add_component(asteroid, position) # Add patroling enemy enemy = factory.enemy_fighter(self.world) enemy_behaviour: Behaviour = self.world.component_for_entity( enemy, Behaviour) enemy_behaviour.behaviours.append( BehaviourPatrol((10, 10), (10, -10), 2)) # Add processors self.__initialize_processors()
def __init__(self): self.screen = Screen(curses.LINES - 1, curses.COLS - 1) self.pad = self.screen.pad self.h = 30 self.w = 124 self.H = self.screen.H self.W = self.screen.W self.dy, self.dx = get_dy_dx(self.H, self.W, self.h, self.w)
def __init__(self): super().__init__() if Globals.PAUSE_MENU in Globals.instances: self.instance = Globals.instances[Globals.PAUSE_MENU] else: self.instance = MenuInstance( Screen(curses.LINES - 1, curses.COLS - 1), ["Назад в игру", "Выход"]) Globals.instances[Globals.PAUSE_MENU] = self.instance
def __init__(self, clazz=None, instance=None, overlay=None): super().__init__(instance, overlay) if instance is None: if Globals.DUNGEON in Globals.instances: self.instance = Globals.instances[Globals.DUNGEON] else: from engine.instances.dungeon_instance import DungeonInstance self.instance = DungeonInstance( Screen(curses.LINES - 11, curses.COLS - 1), clazz) Globals.instances[Globals.DUNGEON] = self.instance
def __init__(self): super().__init__() if Globals.MAIN_MENU in Globals.instances: self.instance = Globals.instances[Globals.MAIN_MENU] else: self.instance = MenuInstance( Screen(curses.LINES - 1, curses.COLS - 1), ["Новая игра", "Загрузить", "Об игре", "Выход"], 'Fix ignore in neigh4') Globals.instances[Globals.MAIN_MENU] = self.instance
def __init__(self): super().__init__() self.h = 9 self.w = 82 self.H = curses.LINES - 1 self.W = curses.COLS - 1 self.dy, self.dx = get_dy_dx(self.H, self.W, self.h, self.w) self.screen = Screen(self.h, self.w, self.dy, self.dx) self.pad = self.screen.pad self.text = 'Базовое обучение завершено. Если Вы забыли нужную клавишу, то нажмите [H] для вызова помощи. Удачи!'
def __init__(self, instance=None): super().__init__(instance) if self.instance is None: if Globals.INVENTORY in Globals.instances: self.instance = Globals.instances[Globals.INVENTORY] else: from engine.instances.inventory_instance import InventoryInstance dungeon = Globals.instances[Globals.DUNGEON] screen = Screen(curses.LINES - 1, curses.COLS - 1) self.instance = InventoryInstance(screen, dungeon.player) Globals.instances[Globals.INVENTORY] = self.instance
def __init__(self): super().__init__() self.h = 9 self.w = 82 self.H = curses.LINES - 1 self.W = curses.COLS - 1 self.dy, self.dx = get_dy_dx(self.H, self.W, self.h, self.w) self.screen = Screen(self.h, self.w, self.dy, self.dx) self.pad = self.screen.pad self.text = 'Продолжайте атаковать противника, нажимая клавишу [Пробел], пока он не умрёт. После этого нажмите ' \ '[A] для выхода из режима боя.'
def __init__(self, instance=None): super().__init__(instance) if self.instance is None: if Globals.MESSAGE_LOG in Globals.instances: self.instance = Globals.instances[Globals.MESSAGE_LOG] else: from engine.instances.message_log_instance import MessageLogInstance #map_name = Globals.instances[Globals.DUNGEON] screen = Screen(curses.LINES-1, curses.COLS-1) self.instance = MessageLogInstance(screen) Globals.instances[Globals.MESSAGE_LOG] = self.instance
def __init__(self): self.screen = Screen() self.running = True self.tab = 0 self.target = 0 self.escaped = 0 self.tabs = [ Library(self.screen), Settings(self.screen), Console(self.screen) ] self.debug = False
def __init__(self): super().__init__() self.h = 9 self.w = 82 self.H = curses.LINES - 1 self.W = curses.COLS - 1 self.dy, self.dx = get_dy_dx(self.H, self.W, self.h, self.w) self.screen = Screen(self.h, self.w, self.dy, self.dx) self.pad = self.screen.pad self.text = 'Для перемещения используйте стрелки. Одно перемещение обычно тратит один ход. Пока вы стоите, ' \ 'время не идёт, так что вы всегда можете как следует обдумать свои действия. Попробуйте подвигаться' \ ' с помощью стрелок.'
def __init__(self): super().__init__() self.h = 9 self.w = 82 self.H = curses.LINES - 1 self.W = curses.COLS - 1 self.dy, self.dx = get_dy_dx(self.H, self.W, self.h, self.w) self.screen = Screen(self.h, self.w, self.dy, self.dx) self.pad = self.screen.pad self.text = 'Отлично! А теперь попробуем осмотреться. Для того, чтобы переключиться в режим обзора, нажмите ' \ '[Enter]. В этом режиме с помощью стрелочек вы можете двигать курсор по всему уровню, получая при ' \ 'этом подробную информацию о любом объекте под курсором. Для выхода из режима обзора нажмите [Enter].'
def __init__(self): super().__init__() self.h = 11 self.w = 82 self.H = curses.LINES - 1 self.W = curses.COLS - 1 self.dy, self.dx = get_dy_dx(self.H, self.W, self.h, self.w) self.screen = Screen(self.h, self.w, self.dy, self.dx) self.pad = self.screen.pad self.text = 'Помните, что движение курсора в любом режиме не отнимает игровых ходов. ' \ 'А теперь опробуйте боевой режим. Подойдите вплотную к Гуано (G) и нажмите [A]. Активируется режим ' \ 'атаки. Он очень похож на режим обзора с той лишь разницей, что отображается подробная информация о ' \ 'противнике и имеется возможность атаковать. Затем наведите курсор на цель и нажмите [Пробел] для атаки. '
def __init__(self, inventory, cell): super().__init__() self.cell = cell self.loot = cell.loot self.inventory = inventory self.current = 0 self.h = len(self.loot.items) + 5 self.w = 82 self.H = curses.LINES - 1 self.W = curses.COLS - 1 self.dy, self.dx = get_dy_dx(self.H, self.W, self.h, self.w) self.screen = Screen(self.h, self.w, self.dy, self.dx) self.pad = self.screen.pad
def __init__(self, screen): self.choices = [ 'Солдат Содружества', 'Инженер Содружества', 'Псионик класса А', 'Псионик класса Б', 'Солест' ] self.dx = max(0, screen.W // 2 - 170 // 2) self.dy = max(0, screen.H // 2 - len(self.choices) - 7) self.screen = screen self.pad = screen.get_pad() self.menu_screen = Screen(H=len(self.choices) + 2, W=23, fromy=self.dy + 2, fromx=self.dx + 2) self.menu = MenuInstance(self.menu_screen, self.choices) self._set_current_choice_info(0)
def __init__(self, screen, clazz): self.screen = screen self.pad = screen.get_pad() self.mode = Action.MODE_MOVE self.gui = self._init_gui() self.player = Hero(clazz, None, None) self.__load_map() from engine.instances.inventory_instance import InventoryInstance Globals.instances[Globals.INVENTORY] = InventoryInstance( Screen(curses.LINES - 1, curses.COLS - 1), self.player) self.selection = Selection(screen, self.player) self.h = len(self.cells) self.w = len(self.cells[0]) self.tutorial_stage = TUT_MOVE self.tutorial_move_count = 0 self.overlay = None self.tut_updated = False
def __init__(self, instance=None): super().__init__(instance) if self.instance is None: from engine.instances.create_hero_instance import CreateHeroInstance screen = Screen(curses.LINES-1, curses.COLS-1) self.instance = CreateHeroInstance(screen)
def _init_gui(self): vdiff = curses.LINES - self.screen.H guiscreen = Screen(vdiff, curses.COLS - 1, curses.LINES - vdiff - 1, 0) return GUI(guiscreen)