Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
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()
Ejemplo n.º 8
0
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()
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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')
Ejemplo n.º 11
0
 def reason(self):
     keys = pygame.key.get_pressed()
     if keys[K_RETURN]:
         return title.Title()
Ejemplo n.º 12
0
    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'])
Ejemplo n.º 13
0
 def go_to_title_scene(self):
     self.world.change_scene(title.Title(self.world))
Ejemplo n.º 14
0
 def __init__(self):
     self.sm = state.StateMachine(self, title.Title())
Ejemplo n.º 15
0
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()
Ejemplo n.º 16
0
    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")
Ejemplo n.º 17
0
def banner():
		title.Title()
Ejemplo n.º 18
0
    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
Ejemplo n.º 19
0
 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())
Ejemplo n.º 20
0
    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()