def loop(self): if pygame.mixer: if not pygame.mixer.music.get_busy(): import title return title.Title(self.game) else: if self.elapsed_time > 15.3462460041: import title return title.Title(self.game)
def event(self, e): #if e.type in [KEYDOWN, MOUSEBUTTONDOWN, JOYBUTTONDOWN]: if e.type in [KEYDOWN, JOYBUTTONDOWN]: if pygame.mixer: pygame.mixer.music.stop() import title return title.Title(self.game)
def __init__(self): self.screen = pygame.display.get_surface() self.ratio = (16, 12) self.canvas = pygame.Surface((self.ratio[0]*40, self.ratio[1]*40)) self.clock = pygame.time.Clock() self.data = None self.routine = title.Title(self) self.mouse_stationary_time = 0 self.quit = False
def event(self, e): if e.type is KEYDOWN and e.key == K_RETURN: #or e.type is MOUSEBUTTONDOWN: #if e.type in [KEYDOWN, JOYBUTTONDOWN, MOUSEBUTTONDOWN]: the_round = 0 #return level.Level(self.game, the_round) import title return title.Title(self.game)
def reason(self): keys = pygame.key.get_pressed() if keys[K_ESCAPE]: self.level_manager.current_state.exit() return title.Title() if self.player.pos_y > self.display.get_height(): if Game.streak_counter > 1: Game.score += 5 * (Game.streak_counter * 2) self.level_manager.current_state.exit() return highscores.HighScores(Game.score)
def generate_nodes(self): self.scenes['0'] = title.Title() self.scenes['0'].scene_skipped = False self.scenes['0'].conditions = True for key, val in self.scripts.items(): #print '----------------' #print val.mode if val.mode == 'email': #print vars(val) self.scenes[key] = emailnode.from_script(val) if val.mode == 'research': self.scenes[key] = commentgame.from_script(val)
def cia_chat(): global logout_status if (len(sys.argv) < 5): print( "Usage : python cia_chat.py <server addr> <port> <password> <username>" ) sys.exit() host = sys.argv[1] port = int(sys.argv[2]) set_pwd = sys.argv[3] set_pwd = hasher(set_pwd) uname = sys.argv[4] sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(2) try: sock.connect((host, port)) sock.send("{}{}{}".format(myColour, uname, C.end)) except: print( "{}[!] Unable to connect to server, check all paremeters{}".format( C.red, C.end)) sys.exit() title.Title() print("Username set to {}; your colour is [{}colour{}]".format( uname, myColour, C.end)) sys.stdout.write("{}\nMe >> {}".format(C.red, C.end)) sys.stdout.flush() while True: socket_list = [sys.stdin, sock] read_sockets, write_sockets, error_sockets = select.select( socket_list, [], []) for s in read_sockets: if s == sock: data = s.recv(4096) if not data: print("{}\nDisconnected from chat server{}".format( C.red, C.end)) sys.exit() else: data = decrypt(set_pwd, data) sys.stdout.write(data) sys.stdout.write("{}\nMe >> {}".format(C.red, C.end)) sys.stdout.flush() else: msg = sys.stdin.readline() msg = "{}<{}> {}{}".format(myColour, uname, msg, C.end) user_name = msg.split(" ")[0] msg = encrypt(set_pwd, msg) sock.send(msg) sys.stdout.write("{}\nMe >> {}".format(C.red, C.end)) sys.stdout.flush()
def load_main_menu(screen_center: Tuple[int, int]): misc_group.empty() misc_group.update() music.play_menu_bgm() heart_sprite = heart.Heart(screen_center) title_sprite = title.Title(screen_center) main_menu_sprite = main_menu.Menu() gameplay_group.add(heart_sprite) misc_group.add(title_sprite) misc_group.add(main_menu_sprite) gameplay_group.update() misc_group.update()
def loop(): interval = 0 clock = PT.Clock() current = PT.get_ticks() while Globals.RUNNING: new = PT.get_ticks() elapsed = (new - current) / 1000.0 current = new clock.tick() # figure out timestep # for physics only if Globals.STATE == "Title" and Globals.CURRENTSTATE != "Title": Globals.CURRENTSTATE = "Title" state = title.Title() elif Globals.STATE == "Menu" and Globals.CURRENTSTATE != "Menu": Globals.CURRENTSTATE = "Menu" state = Menu.Menu() elif Globals.STATE == "Game" and Globals.CURRENTSTATE != "Game": Globals.CURRENTSTATE = "Game" Globals.SCORE = 0 state = Game.Game() elif Globals.STATE == "Score" and Globals.CURRENTSTATE != "Score": Globals.CURRENTSTATE = "Score" state = Score.HighScores() elif Globals.STATE == "Quit" and Globals.CURRENTSTATE != "Quit": Globals.CURRENTSTATE = "Quit" Globals.RUNNING = False state.update() interval += elapsed while interval > .02: # print elapsed Globals.DELTA = elapsed state.render() event = PE.get() if event: state.event(event) interval -= .02
def main(): # Create a title object titles = title.Title('Hello') # Reuse the object while changing the invert titles.print('World!', characters='World!', invert=True) system = platform.uname().system.lower() if 'darwin' in system: titles.print('Full width', characters='▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐▒▓▔▕▖▗▘▙▚▛▜▝▞▟ ', font_size=0, font_path='/System/Library/Fonts/MarkerFelt.ttC') elif 'windows' in system: titles.print('Full width', characters='▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐▒▓▔▕▖▗▘▙▚▛▜▝▞▟ ', font_size=0, font_path='C:/Windows/Fonts/Impact.ttf') # Set the default for all future prints titles.set_font_size(32) titles.set_characters('\/|-_') titles.print('Test')
def reason(self): keys = pygame.key.get_pressed() if keys[K_RETURN]: return title.Title()
def __init__(self): self.screen, self.canvas, self.fps, self.clock = tools.pygame_setup( pygame, settings) self.audio = audio.Audio(pygame) self.tileset, self.tiles, self.font = tools.data_load(pygame, settings) self.alarms = alarms.Alarms(settings.system['alarms']['counters'], settings.system['alarms']['timers'], settings.system['alarms']['steps']) self.hiscores = hiscores.Hiscores(settings) game_blocks = { 'title': title.Title(settings.system['screen_width'], settings.system['screen_height'], self.hiscores, settings, pygame), 'maze': maze.Maze(settings.system['view_width_sq'], settings.system['view_height_sq'], settings), 'over': over.Over(settings.system['screen_width'], settings.system['screen_height'], self.hiscores, settings), 'final': final.Final(settings.system['screen_width'], settings.system['screen_height'], self.hiscores, settings) } game_block = game_blocks['title'] game_block.launch(self.audio, settings, None) while True: counters = self.alarms.tick() self.dynamic_palettes(counters) # Check app input events for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_m: if self.audio.mute: self.audio.mute = False pygame.mixer.music.load(self.audio.bank_music[ self.audio.music_playing]) pygame.mixer.music.play(-1) else: self.audio.mute = True pygame.mixer.music.stop() game_block.events(pygame, event) # Game modules block_response = game_block.tick(counters, self.tiles, self.audio, settings) if block_response is not None: game_block = game_blocks[block_response[0]] game_block.launch(self.audio, settings, block_response[1]) continue # print(self.clock.get_fps()) # Scene drawing game_block.stage_display(self.tiles, self.font, self.canvas, counters, pygame, settings, mirror_h=False, mirror_v=False, palette=None) # Scaling and displaying a frame pygame.transform.scale(self.canvas, (settings.system['screen_width'] * settings.system['screen_scale'], settings.system['screen_height'] * settings.system['screen_scale']), self.screen) pygame.display.flip() # self.clock.tick(settings.system['fps']) self.clock.tick_busy_loop(settings.system['fps'])
def go_to_title_scene(self): self.world.change_scene(title.Title(self.world))
def __init__(self): self.sm = state.StateMachine(self, title.Title())
def main(): pygame.init() # メイン画面の初期化,rectでサイズを指定 screen = pygame.display.set_mode(SCREEN_RECT.size) # メイン画面のタイトル pygame.display.set_caption("exit: press esc") clock = pygame.time.Clock() title = tl.Title(screen) item = it.Item() menu_display = False #主人公の画像読み込み player = pl.Player("assets/pipo-charachip029c.png", title, item) group = pygame.sprite.RenderUpdates() group.add(player) field_map = mp.Map(screen, "assets/maps/field-map.txt", player) player.mapSet(field_map) town_map = mp.Map(screen, "assets/maps/town-map.txt", player) town = tw.Town(player, field_map, 5) cave_map = mp.Map(screen, "assets/maps/cave-map.txt", player) cave = tw.Town(player, field_map, 4) monster = ms.Monster() battle = bt.Battle(player, monster) menu = mn.Menu(screen, player) shop = sp.Shop(menu, player, screen, item) inn = nn.Inn(menu, player, screen, item) global_count = 0 def dataSave(): player.saved_player_data += (str(player.hp) + "," + str(player.mp) + "," + str(player.exp) + "," + str(player.gold) + "," + str(player.wx) + "," + str(player.wy) + ",") if field_map.map_display: player.saved_player_data += "0" elif town.map_display: player.saved_player_data += "1" elif cave.map_display: player.saved_player_data += "2" for i in range(len(player.item_list)): player.saved_player_data += ("," + str(player.item_list[i][0])) if len(player.item_list) < 5: for i in range(5 - len(player.item_list)): player.saved_player_data += "," + str(0) with open("assets/saved-player-data.txt", mode="w") as fi: fi.write(player.saved_player_data) if player.where == 0: field_map.map_display = True town.map_display = False cave.map_display = False elif player.where == 1: field_map.map_display = False town.map_display = True cave.map_display = False if player.where == 2: field_map.map_display = False town.map_display = False cave.map_display = True while (True): menu_display = menu.menu_display pygame.event.clear() global_count += 1 if title.title_display: title.update() title.drawTri(240, 317 + 50 * title.title_select_num, global_count) elif shop.shop_display: shop.shopAnim() elif inn.inn_display: inn.innAnim() else: if not town.map_display: battle.update() if (not battle.battle_now): if (field_map.map_display): player.mapSet(field_map) field_map.draw(0) if player.wx <= 15 and player.wy <= 11: monster.decideMonster( "assets/monster-list/field-monsters.txt") elif player.wx <= 15 and player.wy > 11: monster.decideMonster( "assets/monster-list/field-monsters2.txt") elif player.wx > 15 and player.wy <= 11: monster.decideMonster( "assets/monster-list/field-monsters3.txt") elif player.wx > 15 and player.wy > 11: monster.decideMonster( "assets/monster-list/field-monsters4.txt") town.visited(8, 5) cave.visited(18, 28) elif (town.map_display): player.mapSet(town_map) town_map.draw(1) shop.update(3, 2) inn.update(6, 2) town.exit(6) elif (cave.map_display): player.mapSet(cave_map) monster.decideMonster( "assets/monster-list/cave-monsters.txt") cave_map.draw(8) cave.exit(29) group.update(menu_display) group.draw(screen) else: battle.battleAnim(screen) if menu.menu_display and not title.title_display: menu.update() # menu.drawTri(60,39+menu.menu_select_num*40,global_count) # フレームレートの設定 clock.tick(60) #イベント #keyはまとめてここに書かないと思った挙動にならない、正直めんどくさすぎる for event in pygame.event.get(): # 終了イベント if event.type == QUIT: dataSave() pygame.quit() sys.exit() if event.type == pygame.KEYDOWN: if event.key == K_ESCAPE: dataSave() pygame.quit() sys.exit() if not battle.battle_now: if not menu.menu_display: if event.key == pygame.K_RETURN: menu.menu_display = True else: if event.key == pygame.K_RETURN: menu.menu_display = False menu.show_statas = False menu.show_items = False menu.show_magics = False menu.item_select_tri = False menu.use_item_anim = False shop.KeyEvent(event) # if shop.shop_display: # player.moving_wait = False # if event.key==pygame.K_DOWN: # if(shop.shop_select_num == 2): # shop.shop_select_num = 0 # else: # shop.shop_select_num += 1 # if event.key==pygame.K_UP: # if(shop.shop_select_num == 0): # shop.shop_select_num = 2 # else: # shop.shop_select_num -= 1 # if event.key==pygame.K_RIGHT : # if len(player.item_list) < 5: # if shop.shop_select_num == 0 and player.gold >= int(item.all_item_list[0][3]): # player.item_list.append(item.all_item_list[0]) # player.gold -= int(item.all_item_list[0][3]) # elif shop.shop_select_num == 1 and player.gold >= int(item.all_item_list[1][3]): # player.item_list.append(item.all_item_list[1]) # player.gold -= int(item.all_item_list[1][3]) # if shop.shop_select_num == 2: # shop.shop_display = False # player.wy += 1 if inn.inn_display: player.moving_wait = False if event.key == pygame.K_DOWN: if (inn.inn_select_num == 1): inn.inn_select_num = 0 else: inn.inn_select_num += 1 if event.key == pygame.K_UP: if (inn.inn_select_num == 0): inn.inn_select_num = 1 else: inn.inn_select_num -= 1 if event.key == pygame.K_RIGHT: if inn.inn_select_num == 0 and player.gold >= 10: player.gold -= 10 player.hp, player.mp = player.max_hp, player.max_mp elif inn.inn_select_num == 1: inn.inn_display = False player.wy += 1 if menu.menu_display: if event.key == pygame.K_DOWN: if (menu.menu_select_num == 2): menu.menu_select_num = 0 else: menu.menu_select_num += 1 if event.key == pygame.K_UP: if (menu.menu_select_num == 0): menu.menu_select_num = 2 else: menu.menu_select_num -= 1 if event.key == pygame.K_LEFT: menu.show_statas = False menu.show_items = False menu.show_magics = False menu.item_select_tri = False menu.magic_select_tri = False if event.key == pygame.K_RIGHT and not menu.item_select_tri and not menu.magic_select_tri: if menu.menu_select_num == 0: menu.show_statas = True elif menu.menu_select_num == 1: menu.show_items = True menu.item_select_tri = True wait_count_item_show = global_count elif menu.menu_select_num == 2: menu.show_magics = True menu.magic_select_tri = True wait_count_magic_show = global_count if menu.item_select_tri == True and wait_count_item_show + 3 < global_count: if event.key == pygame.K_DOWN: if (menu.item_select_num == len(player.item_list) - 1): menu.item_select_num = 0 else: menu.item_select_num += 1 if event.key == pygame.K_UP: if (menu.item_select_num == 0): menu.item_select_num = len(player.item_list) - 1 else: menu.item_select_num -= 1 if event.key == pygame.K_RIGHT: menu.show_items = False menu.item_select_tri = False menu.use_item_anim = True wait_count_item_anim = global_count menu.use_item = player.item_list.pop( menu.item_select_num) player.hp += int(menu.use_item[2]) if player.hp > player.max_hp: player.hp = player.max_hp if menu.use_item_anim == True and wait_count_item_anim + 3 < global_count: menu.use_item_anim = False if menu.magic_select_tri == True and wait_count_magic_show + 3 < global_count: if event.key == pygame.K_DOWN: if menu.magic_arrow_num == menu.magic_arrow_max_num: menu.magic_arrow_num = 0 else: menu.magic_arrow_num += 1 if event.key == pygame.K_UP: if (menu.magic_arrow_num == 0): menu.magic_arrow_num = menu.magic_arrow_max_num else: menu.magic_arrow_num -= 1 if event.key == pygame.K_RIGHT and player.mp > player.selected_magic_mp and player.selected_magic_heal == 1: menu.show_magics = False menu.magic_select_tri = False menu.use_magic_anim = True player.mp -= player.selected_magic_mp player.hp += player.selected_magic_damage if player.hp > player.max_hp: player.hp = player.max_hp wait_count_magic_anim = global_count if menu.use_magic_anim == True and wait_count_magic_anim + 3 < global_count: menu.use_magic_anim = False if title.title_display: if event.key == pygame.K_DOWN: if (title.title_select_num == 1): title.title_select_num = 0 else: title.title_select_num += 1 if event.key == pygame.K_UP: if (title.title_select_num == 0): title.title_select_num = 1 else: title.title_select_num -= 1 if event.key == pygame.K_RIGHT: title.title_display = False player.moving_wait = False player.parameterSet() if player.where == 0: field_map.map_display = True town.map_display = False cave.map_display = False elif player.where == 1: field_map.map_display = False town.map_display = True cave.map_display = False elif player.where == 2: field_map.map_display = False town.map_display = False cave.map_display = True player.itemSet(item) for i in range(len(player.magic_list_num)): player.magic_list.append( player.all_magic_list[player.magic_list_num[i] - 1]) if battle.command_select_tri: if event.key == pygame.K_DOWN: if (battle.command_arrow_num == battle.command_arrow_max_num): battle.command_arrow_num = 0 else: battle.command_arrow_num += 1 if event.key == pygame.K_UP: if (battle.command_arrow_num == 0): battle.command_arrow_num = battle.command_arrow_max_num else: battle.command_arrow_num -= 1 if event.key == pygame.K_RIGHT: battle.command_select_tri = False if (battle.command_arrow_num == 0): battle.monster_selecting = True wait_count_select_monster = battle.battle_anim_count elif (battle.command_arrow_num == 1): battle.magic_selecting = True battle.magic_attack = True wait_count_select_magic = battle.battle_anim_count elif (battle.command_arrow_num == 2): battle.guard_anim = True battle.command_selecting = False wait_count_guard_anim = battle.battle_anim_count elif battle.command_arrow_num == 3: wait_count_escape_anim = battle.battle_anim_count battle.command_selecting = False battle.random_walk = 5 + battle.battle_anim_count % 10 if (global_count % 100 + player.lv * 3) >= 100: battle.escape_success = 1 else: battle.escape_success = 2 elif battle.command_arrow_num == 4: battle.item_select_tri = True battle.item_selecting = True wait_count_item_show_battle = battle.battle_anim_count if battle.item_select_tri: if wait_count_item_show_battle + 3 < battle.battle_anim_count: if event.key == pygame.K_DOWN: if (battle.item_select_num == len(player.item_list) - 1): battle.item_select_num = 0 else: battle.item_select_num += 1 if event.key == pygame.K_UP: if (battle.item_select_num == 0): battle.item_select_num = len( player.item_list) - 1 else: battle.item_select_num -= 1 if event.key == pygame.K_RIGHT: battle.item_selecting = False battle.item_select_tri = False battle.command_selecting = False battle.use_item_anim = True wait_count_item_anim = global_count battle.use_item = player.item_list.pop( battle.item_select_num) player.hp += int(battle.use_item[2]) if player.hp > player.max_hp: player.hp = player.max_hp if battle.use_item_anim == True and wait_count_item_anim + 3 < global_count: battle.use_item_anim = False battle.attack_monster_anim = True wait_count_restart = battle.battle_anim_count if battle.magic_selecting: if event.key == pygame.K_DOWN and ( wait_count_select_magic + 3) < battle.battle_anim_count: if (battle.magic_arrow_num == battle.magic_arrow_max_num): battle.magic_arrow_num = 0 else: battle.magic_arrow_num += 1 if event.key == pygame.K_UP and ( wait_count_select_magic + 3) < battle.battle_anim_count: if (battle.magic_arrow_num == 0): battle.magic_arrow_num = battle.magic_arrow_max_num else: battle.magic_arrow_num -= 1 if event.key == pygame.K_RIGHT and ( wait_count_select_magic + 3 ) < battle.battle_anim_count and player.mp > player.selected_magic_mp: battle.monster_selecting = True battle.magic_selecting = False wait_count_select_monster = battle.battle_anim_count player.selected_magic = battle.magic_arrow_num if event.key == pygame.K_LEFT and ( wait_count_select_magic + 3) < battle.battle_anim_count: battle.magic_selecting = False battle.magic_attack = False battle.command_select_tri = True if (battle.monster_selecting): if not battle.magic_attack: if event.key == pygame.K_RIGHT and ( wait_count_select_monster + 3) < battle.battle_anim_count: battle.monster_selecting = False battle.command_selecting = False battle.attack_player_anim = True wait_count_attack_monster = battle.battle_anim_count if (monster.defence >= player.attack): battle.damage = 1 else: battle.damage = player.attack - monster.defence if event.key == pygame.K_LEFT and ( wait_count_select_monster + 3) < battle.battle_anim_count: battle.monster_selecting = False battle.command_select_tri = True else: if event.key == pygame.K_RIGHT and ( wait_count_select_monster + 3) < battle.battle_anim_count: battle.monster_selecting = False battle.command_selecting = False battle.magic_player_anim = True wait_count_attack_monster = battle.battle_anim_count if event.key == pygame.K_LEFT and ( wait_count_select_monster + 3) < battle.battle_anim_count: battle.monster_selecting = False battle.magic_selecting = True wait_count_select_magic = battle.battle_anim_count if (battle.escape_success == 2): if event.key == pygame.K_RIGHT and ( wait_count_escape_anim + 3) < battle.battle_anim_count: battle.attack_monster_anim = True battle.escape_success = 0 wait_count_restart = battle.battle_anim_count if (player.defence >= monster.attack): battle.damage = 1 else: battle.damage = monster.attack - player.defence if (battle.escape_success == 1): if event.key == pygame.K_RIGHT and ( wait_count_escape_anim + 3) < battle.battle_anim_count: battle.escape_success = 0 battle.battle_now = False battle.battle_anim_count = 0 player.move_count = 0 battle.random_walk = 5 + battle.battle_anim_count % 10 monster.random_monster_num = global_count % 100 if (battle.attack_player_anim): if event.key == pygame.K_RIGHT and ( wait_count_attack_monster + 3) < battle.battle_anim_count: battle.attack_player_anim = False wait_count_restart = battle.battle_anim_count monster.hp -= battle.damage battle.random_walk = 5 + battle.battle_anim_count % 6 monster.random_monster_num = global_count % 100 if (monster.hp <= 0): battle.you_defeate = True else: battle.attack_monster_anim = True if (player.defence >= monster.attack): battle.damage = 1 else: battle.damage = monster.attack - player.defence if (battle.magic_player_anim): battle.magic_select_tri = False battle.magic_attack = False if event.key == pygame.K_RIGHT and ( wait_count_attack_monster + 3) < battle.battle_anim_count: battle.magic_player_anim = False wait_count_restart = battle.battle_anim_count if player.selected_magic_heal == 1: player.hp += player.selected_magic_damage if player.hp > player.max_hp: player.hp = player.max_hp else: monster.hp -= player.selected_magic_damage player.mp -= player.selected_magic_mp battle.random_walk = 5 + battle.battle_anim_count % 6 monster.random_monster_num = global_count % 100 if (monster.hp <= 0): battle.you_defeate = True else: battle.attack_monster_anim = True if (player.defence >= monster.attack): battle.damage = 1 else: battle.damage = monster.attack - player.defence if (battle.guard_anim): if event.key == pygame.K_RIGHT and ( wait_count_guard_anim + 3) < battle.battle_anim_count: battle.guard_anim = False battle.attack_monster_anim = True wait_count_restart = battle.battle_anim_count if (player.defence * 2 >= monster.attack): battle.damage = 1 else: battle.damage = monster.attack - player.defence * 2 if (battle.attack_monster_anim): if event.key == pygame.K_RIGHT and ( wait_count_restart + 3) < battle.battle_anim_count: if player.hp > battle.damage: player.hp -= battle.damage battle.battle_anim_count = 79 battle.attack_monster_anim = False else: battle.random_walk = 5 + battle.battle_anim_count % 10 monster.random_monster_num = global_count % 100 battle.attack_monster_anim = False battle.you_lose = True wait_count_you_lose = battle.battle_anim_count if (battle.you_defeate and (wait_count_restart + 3) < battle.battle_anim_count): player.exp += monster.exp player.gold += monster.gold if player.lv == len(player.lv_tables): battle.you_defeate = False battle.battle_now = False player.moving_wait = False battle.battle_anim_count = 0 player.move_count = 0 elif player.lv_tables[player.lv][5] <= player.exp: battle.you_defeate = False battle.lv_up_anim = True player.parameterSet() wait_count_lv_anim = battle.battle_anim_count else: battle.you_defeate = False battle.battle_now = False player.moving_wait = False battle.battle_anim_count = 0 player.move_count = 0 if (battle.lv_up_anim and (wait_count_lv_anim + 3) < battle.battle_anim_count): battle.lv_up_anim = False battle.lv_up_anim_2 = True wait_count_lv_anim_2 = battle.battle_anim_count if battle.lv_up_anim_2 and (wait_count_lv_anim_2 + 3) < battle.battle_anim_count: battle.lv_up_anim_2 = False battle.battle_now = False player.moving_wait = False battle.battle_anim_count = 0 player.move_count = 0 if (battle.you_lose and (wait_count_you_lose + 3) < battle.battle_anim_count): battle.you_lose = False battle.battle_now = False field_map.map_display = True town.map_display = False cave.map_display = False player.hp = player.max_hp player.mp = player.max_mp player.gold = player.gold // 2 battle.battle_anim_count = 0 player.move_count = 0 player.wx, player.wy = 4, 3 if event.type == pygame.KEYUP: if not player.moving_wait: if event.key == pygame.K_DOWN or event.key == pygame.K_UP or event.key == pygame.K_RIGHT or event.key == pygame.K_LEFT: player.moving_wait = True # print(player.lv_tables[player.lv][5]) # メイン画面の更新 pygame.display.update()
def __init__(self, path): self.path = path global _game _game = self self.show_title(True) self.input = controls.Input() self.font = al_load_font(self.path + "/data/JosefinSans-Regular.ttf", -12, 0) if not self.font: print("Cannot find data") sys.exit(1) self.font_big = al_load_font( self.path + "/data/JosefinSans-Regular.ttf", -48, 0) colors = ["red", "green", "blue", "black", "white", "yellow", "purple"] self.mage_p = [] self.raft_p = [] for i in range(7): self.raft_p.append( mesh.read_frames(self.path + "/data/raft%d.mesh.gz" % (1 + i))) self.mage_p.append( mesh.read_frames(self.path + "/data/%s mage_fire_outfit.mesh.gz" % colors[i])) self.river = mesh.read_frames(self.path + "/data/perlin.mesh.gz") self.dragon_p = mesh.read_frames(self.path + "/data/dragon.mesh.gz") self.pine_p = mesh.read_frames(self.path + "/data/pine.mesh.gz") self.finish_p = mesh.read_frames(self.path + "/data/finish.mesh.gz") self.wolf_p = mesh.read_frames(self.path + "/data/wolf.mesh.gz") self.roar = audio.load(self.path + "/data/wumpus dines.ogg") self.swoosh = audio.load(self.path + "/data/swoosh.ogg") self.yelp = audio.load(self.path + "/data/yelp.ogg") self.jingle = audio.load(self.path + "/data/jingle.ogg") self.rubber = audio.load(self.path + "/data/rubber.ogg") self.growl = audio.load(self.path + "/data/growl.ogg") self.chew = audio.load(self.path + "/data/chew.ogg") self.dogyelp = audio.load(self.path + "/data/dogyelp.ogg") self.zoom = 0 self.rotation = pi / 4 self.scroll = 20 self.camera = camera.Camera() self.rotate_camera(0) self.paused = False self.title = title.Title() self.silver = al_color_name("silver") self.t = 0 self.spawn = [(128 * 9 - 30, 10), (128 * 10 + 40, 10), (128 * 11 + 30, 110), (128 * 12 + 0, 10), (128 * 13 + 0, 10), (128 * 13 + 64, 110), (128 * 14 + 0, 10), (128 * 14 + 64, 110), (128 * 15 + 0, 10)] self.fps = [0, 0, 0, 0, 0, 0] self.fps_t = 0 self.landscape = landscape.Landscape(self.river) self.actors = actor.Actors(self.landscape) with open(self.path + "/data/objects.json", "r") as j: self.objects = json.load(j) for o in self.objects: t = self.actors.new(self.pine_p, o["x"], o["y"], radius=8, scale=8, static=True) t.cam.rotate(vector.z, random.uniform(-pi, pi)) t.cam.rotate(vector.y, pi / 8) t = self.actors.new(self.finish_p, 128 * 16 - 32, 48, z=20, scale=20, static=True) t.cam.rotate(vector.z, -pi / 2) t.cam.rotate(vector.y, pi / 8) self.picked = None self.resize(1280, 720) self.raft = [] self.raft_and_wolf = [] for i in range(7): x = 16 + skip y = 64 r = self.actors.new(self.raft_p[i], x, y) r.color = al_color_name(colors[i]) r.color_index = i self.raft.append(r) self.raft_and_wolf.append(r) self.dragon = self.actors.new(self.dragon_p, -100, 64, flying=True, scale=5, z=20) self.scroll_camera(self.scroll) self.red = al_color_name("crimson")
def banner(): title.Title()
def update(self, disp): census = self.model.census self.update_music() if not self.paused and self.over is None: self.frame += 1 self.clock.tick(FRAMES_PER_SECOND) if self.over is None and not self.paused: # let the doc warp to the starting location if self.frame > 1: if len(self.model.conf.messages) > 0: self.play_level_message() if census is not None: # Determine the game outcome: win or defeat if (census.good + census.sick) < self.win_living_min_threshold: self.cancel_selection() self.newsflash = newsflash.Loss(self.win_living_min_threshold, census) self.over = False elif self.frame >= self.win_duration_frames: self.cancel_selection() self.newsflash = newsflash.Victory(census) self.over = True for _ in range(0, UPDATES_PER_FRAME): self.update_one() self.renderer.blit(disp) self.all_effects.draw(disp) self.draw_stats(disp) self.draw_newsflash(disp, census) for unit in self.units: if not self.paused: unit.update() if not self.paused and self.over is None and unit.command[0] == unit.cmd_reap and random.random() > 0.96: effects.Plus(unit.x * GRID_W, unit.y * GRID_H, self.all_effects, self.individual_effects[unit.x, unit.y]) unit.draw(disp, self.selection == unit, self.paused) if self.over is not None: if self.over: music.switch("major") self.draw_game_over(disp, "SUCCESS", TO_NEXT_LEVEL if self.model.conf.next_level else BACK_TO_MENU) if self.final_click: n = self.model.next_level() if n is not None: return Game(n) return title.Title() else: music.switch("diminished") self.draw_game_over(disp, "GAME OVER", BACK_TO_MENU) return self if not self.final_click else title.Title() if self.selection: self.buttons.draw(disp) self.draw_cell_hover(disp) return self
def __init__(self, caption): pygame.init() self.display = pygame.display.set_mode((800, 600)) pygame.display.set_caption(caption) self.sm = state.StateMachine(self, title.Title())
def __init__(self): pygame.init() # need to initialize pygame self.screen = pygame.display.set_mode( SCREEN_RECTANGLE.size) # creates screen of SCREEN_SIZE pygame.display.set_caption(u"天龍の塔") # set the words on title bar self.title = title.Title() self.city = None #city.City() self.tower = None #tower.Tower() self.temple = None #temple.Temple() self.shop = None #shop.Shop() self.inn = None #inn.Inn() self.castle = None #castle.Castle() self.bar = None #bar.Bar() self.house = None #house.House() self.dungeon = None #dungeon.Dungeon() self.menu = None #menu.Menu() self.party = party.Party() self.character_make = character_make.Character_make() self.game_state = TITLE self.characters = [] self.dungeon_characters = [] self.lost_characters = [] self.cursor_se = pygame.mixer.Sound("SE/decide.wav") self.select_se = pygame.mixer.Sound("SE/decide.wav") self.cancel_se = pygame.mixer.Sound("SE/se_sab07.wav") self.item_data = [] temp = [] file = "Data/item_data.csv" fp = open(file, "r") for line in fp: temp = line[:-1].split(',') self.item_data.append(temp) self.magic_data = [] temp = [] file = "Data/magic_data.csv" fp = open(file, "r") for line in fp: temp = line[:-1].split(',') self.magic_data.append(temp) self.vertical_wall_temp = None self.horizontal_wall_temp = None self.ground_temp = None self.space_temp = None self.object_temp = None self.total_time = 0 self.current_time = 0 self.this_time = 0 #if true, don't read shop file for new game self.new_game = False self.mainloop()