示例#1
0
def menu():
    map_iterator = 0
    points_to_spend = 5
    char_creation = True
    answer = ""
    os.system('clear')
    name = ""
    while answer != "4":
        if not name:
            print(data_manager.load_ascii_art("ascii_art/menu_art.txt"))
            is_name_correct = False
            while not is_name_correct:
                name = ui.get_user_name("\n\nEnter your name: ")
                if common.validate_string_input(name):
                    is_name_correct = True
            os.system('clear')
        print(data_manager.load_ascii_art("ascii_art/menu_art.txt"))
        answer = ui.menu_option()
        if common.validate_string_input(answer, condition=["1", "2", "3", "4"]):
            if answer == "1":
                char_stats = char_cr.create_character(points_to_spend, {}, char_creation)
                inv = {}
                os.system('clear')

                # start engine module
                engine.engine_work(char_stats, inv, map_iterator, name)

            elif answer == "2":
                common.handle_user_scoreboard()
            elif answer == "3":
                common.handle_credentials()
示例#2
0
def check_guess(char_stats, number, numbers_end_range, damage, file_name):
    # guess = int(input("Enter an integer from 1 to {}: ".format(numbers_end_range)))
    guess = 999
    os.system('clear')
    print(data_manager.load_ascii_art(file_name))
    while number != guess and char_stats["HP"] > 0:
        ui.print_character_statistics(char_stats)
        guess = input(
            "Guess an integer from 1 to {}: ".format(numbers_end_range))
        if common.check_is_number(guess, numbers_end_range):
            guess = int(guess)
            os.system('clear')
            if guess < number:
                print(data_manager.load_ascii_art(file_name))
                print("{} is to low".format(guess))
                if (damage - char_stats["DEF"]) >= 0:
                    char_stats["HP"] -= (damage - char_stats["DEF"])
            elif guess > number:
                print(data_manager.load_ascii_art(file_name))
                print("{} is to high".format(guess))
                if (damage - char_stats["DEF"]) >= 0:
                    char_stats["HP"] -= (damage - char_stats["DEF"])
        else:
            os.system('clear')
            print(data_manager.load_ascii_art(file_name))
    os.system('clear')
    if char_stats["HP"] > 0:
        char_stats["EXP"] += 4
        if char_stats["EXP"] >= 10:
            char_stats["EXP"] -= 10
            char_stats["LVL"] += 1
            char_stats = char_cr.create_character(2, char_stats)
            os.system('clear')

    return char_stats
示例#3
0
def handle_game_won_boss(char_stats, character, game_won, map_iterator):
    if character == "D" and map_iterator == 4:
        file_name = "ascii_art/fight_with_boss.txt"
        damage = 15
        char_stats = hot_cold.fight(char_stats, damage, file_name)
        if char_stats["HP"] > 0:
            end_screen = data_manager.load_ascii_art("ascii_art/win.txt")
            print(end_screen)
            game_won = False

        else:
            end_screen = data_manager.load_ascii_art("ascii_art/game_over.txt")
            print(end_screen)
            game_won = False
    return game_won
示例#4
0
def handle_credentials():
    os.system('clear')
    print(data_manager.load_ascii_art("ascii_art/menu_art.txt"))
    print("\n\nHAMMER OF JUSTICE DEVELOPMENT GROUP:\n")
    print("Krzysztof Czaja\n", "\nKonrad Krzysztofiak\n",
          "\nPatryk Lichwała\n")
    ui.press_enter()
    movement.get_char_in_terminal()
    os.system('clear')
示例#5
0
文件: ui.py 项目: patruk91/rougelike
def show_character_creation_screen(char_stats, free_points):
    os.system('clear')
    print(data_manager.load_ascii_art("ascii_art/menu_art.txt"))
    print("\n\nCHARACTER CREATION\n")
    print("Your statistics:\n{:^5} - HP\n{:^5} - DEF\n{:^5} - ATC".format(
        char_stats["HP"], char_stats["DEF"], char_stats["ATC"]))
    print("Points to spend for stats: {}".format(free_points))
    print("Press H to add 6 points to HP")
    print("Press D to add 1 point to DEF")
    print("Press A to add 1 pint to ATC")
示例#6
0
文件: ui.py 项目: patruk91/rougelike
def show_scoreboard(users_score_ordered):
    print(data_manager.load_ascii_art("ascii_art/menu_art.txt"))
    print('\n\nTOP 10 HIGH SCORE:\n')
    top_10 = len(users_score_ordered)
    if top_10 > 10:
        top_10 = 10
    for i in range(len(users_score_ordered)):
        entry = users_score_ordered[i]
        string = "{:3}. {:20} Time: {:10} Score: {:8}"
        time_ = time.strftime('%H:%M:%S', time.gmtime(float(entry[1])))
        formating = [i + 1, entry[0], time_, entry[2]]
        print(string.format(*formating))
    print("\n")
示例#7
0
def handle_interaction(character, items, char_stats, inv):
    if character == "W":
        loot = items.items.weapons()
        char_stats["ATC"] += loot[1]
        inventory.inventory.add_to_inventory(inv, loot)
    elif character == "F":
        loot = items.items.food()
        if char_stats["HP"] < 100:
            char_stats["HP"] += loot[1]
        if char_stats["HP"] > 100:
            char_stats["HP"] = 100
    elif character == "C":
        loot = items.items.clotches()
        char_stats["DEF"] += loot[1]
        inventory.inventory.add_to_inventory(inv, loot)
    elif character == "&":
        damage = 10
        file_name = "ascii_art/fight_with_mob.txt"
        char_stats = hot_cold.fight(char_stats, damage, file_name)
        if char_stats["HP"] <= 0:
            end_screen = data_manager.load_ascii_art("ascii_art/game_over.txt")
            print(end_screen)
    return inv