Пример #1
0
def start(config_data):
    while True:
        clear_screen()

        chosen_env = interctive_chose_environment(config_data)

        chosen_opt = interctive_chose_operation()

        result = check_servers_running(chosen_env)

        if not result:
            print('There are none servers running')

        if result:
            print('List of servers runnig:\n')
            for name, id in result:
                print(f'{"".ljust(5)}Server name: {name.ljust(20)},PID: {id}')

        time.sleep(2)
        print()

        if chosen_opt == _options_opt['0']:
            clean_server(chosen_env)

        print('Do you wanna continue? (y == yes, any other key == no) ')
        if input() != 'y':
            break
Пример #2
0
def display_fight(fight_text, enemy, quit_possible=False):
    """
    displayes fight screen with fight text
    fight_text: string
    enemy: dictionary
    quit_possible: True or False
    """
    util.clear_screen()
    print("\n\n\tKONFRONTACJA\n")
    display_stats_fight(interaction.characters["hero"])
    display_stats_fight(enemy)
    print(f"\t~ {fight_text}")
    if quit_possible:
        print(
            "\n\tOpcje"
            + "\n\t[1] Wciśnij Q aby przerwac konfrontacje"
            + "\n\t[2] Wciśnij I aby użyć posiadanych przedmiotów"
            + "\n\t[3] Wciśnij dowolny klawisz aby kontynuować walkę"
        )
        key = util.key_pressed().lower()
        if key == "q":
            return False
        else:
            return True
    else:
        print(
            "\n\tOpcje"
            + "\n\t[1] Wciśnij I aby użyć posiadanych przedmiotów"
            + "\n\t[2] Wciśnij dowolny klawisz aby kontynuować walkę"
        )
        key = util.key_pressed().lower()
        return True
Пример #3
0
def end_game(some_text):
    for second in reversed(range(1, 6)):
        print(some_text)
        print(f"\n\n\tYour game will end in \033[91m{second}\033[0m")
        sleep(1)
        util.clear_screen()
    sys.exit(0)
Пример #4
0
def main():
    """
    Main function of the game, transforms user's input into player's movement and plot changes.

    Returns: Nothing
    """

    message, message_type, name = "", "no_type", ""
    show_inventory = False
    show_legend = True
    is_running = True
    global boards

    game_introduction()
    player = create_player()

    while is_running:
        util.clear_screen()
        board = engine.create_board(boards[player["current_board"]], player)
        ui.display_board(board, boards[player["current_board"]]["name"],
                         player, quests, show_inventory, show_legend, legend,
                         message)
        engine.validate_answer(name, player, boards, message_type)
        key = util.key_pressed()
        board = engine.remove_player_from_board(board, player)
        player, show_inventory, show_legend, is_running, boards = react_to_pressed_key(
            key, board, boards, player, show_inventory, show_legend,
            is_running)
        message, message_type, name = engine.plot_development(
            player, boards, board)
        is_running = engine.check_health_is_zero_or_below(player, is_running)
Пример #5
0
def main():
    util.clear_screen()
    ui.UI.display_by_line(ui.IMAGES_DIRECTORY + ui.OPENING_FILE)
    engine = game.Game()
    sounds.Music.play_music()

    board_created = False

    while not board_created:
        try:
            engine.create_new_board()
        except TypeError:
            engine.UI.display_error_info("expected number")
        else:
            board_created = True

    engine.is_running = True

    character_name = engine.player_character.ui.get_user_value(
        ui.UI.PROVIDE_NAME, "Keanu")
    engine.add_character_name(character_name)
    engine.initialize_player_class_and_race()

    util.key_pressed()
    engine.UI.display_help()

    while engine.is_running:
        engine.handle_action()

    engine.UI.display_goodbye()
def congratulate_winner(screen, community_cards, winners, guess_msg):
    winners_str = ""
    for i, w in enumerate(winners, start=1):
        if len(winners) == 2 and i == 1:
            winners_str += str(w) + " and "
        elif len(winners) == i:
            winners_str += str(w)
        elif len(winners) == i + 1:
            winners_str += str(w) + ", and "
        elif len(winners) != 1:
            winners_str += str(w) + ", "
        else:
            winners_str += str(w)

    if len(winners) == 1:
        winner_message = "\n\nPlayer " \
            + winners_str      \
            + " has the best hand!"
    else:
        winner_message = "\n\nPlayer " \
            + winners_str      \
            + " have the best hand!"

    screen_tmp = screen                                  \
           + str(community_cards)                  \
           + winner_message                        \
           + guess_msg
    util.clear_screen()
    print(screen_tmp)
    util.process_continuation_input(screen_tmp)
Пример #7
0
def display_shop(level):
    item_fill = items(level, "fill")
    item_stat = items(level, "stat")
    item_fill[0][0] = "│"
    item_fill[0][2] = "│"
    i = 0
    while i != 1:
        util.clear_screen()
        stat_boost = stat_calculator()
        print("Akashi's shop")
        print("Gold: ", inventory_sys.YOUR_GOLD['gold'])
        print("Current equipement: ", inventory_sys.equiped[0], ", ",
              inventory_sys.equiped[1])
        print("Current equipement stat boost: HP: ", stat_boost[1], " MANA: ",
              stat_boost[2], " DMG:", stat_boost[0])
        print(
            "__________________________________________________________________"
        )
        x = 0
        for i in item_fill:
            if item_fill[x][1] != " ":
                print(*item_fill[x])
            x += 1
        print(
            "__________________________________________________________________"
        )
        x = get_XY("X", item_fill)
        price = get_price(x, item_stat)
        print(" HP: ", item_stat[x][0], " MANA: ", item_stat[x][1], " DMG: ",
              item_stat[x][2])
        print(" Buy for: ", price, "GOLD")
        i = skill_input(item_fill, price, item_stat)
Пример #8
0
def main_menu():
    util.clear_screen()
    chooice = menu_print()
    if chooice == 1:
        character_creation()
    elif chooice == 2:
        sys.exit()
Пример #9
0
def run():
    print(colored("\nMAIN MENU", 'yellow'))
    view.print_menu(list_options)
    print("\n")
    choice = input(str(colored('Your choice is: ', "green")))
    while choice in choice_options:
        if choice == '1':
            util.clear_screen()
            try:
                players.user_info(list_labels)
                break
            except Exception as error:
                print(str(error))
                time.sleep(3)
                continue
        elif choice == '2':
            view.print_instruction()
            print("\n")
            user_decision = input(
                "If you want to come to main menu, please press 0 :")
            if user_decision == "0":
                util.clear_screen()
                run()
            else:
                print("try again")
        elif choice == '0':
            view.exit_message()
            sys.exit()
    else:
        print("Incorrect input. Try again, please!!!")
Пример #10
0
def manual_grader_all(submission_folder_path, filename):
    # path : path of one submission folder. eg. "submissions/"
    # filename : name of the submission. eg. "question2.txt"
    report = {}
    dirs = get_dir(submission_folder_path)
    dirs = os.listdir(submission_folder_path)

    dirs = sorted(dirs)

    try:
        for c,i in enumerate(dirs):
            clear_screen()
            print("---------", i, "----------")
            print(c+1,'/',len(dirs))
            path = os.path.join(submission_folder_path, i)
            id = get_id_from_path(i)
            r = manual_grader_one(path, filename)
            report[id] = r;
    except Exception as e:
        print(e)
        print(report)
    finally:

        output_report(report_name, report, sensitivity_words)
        print("report created!")
Пример #11
0
def outro(board, player):
    engine.put_player_on_board(board, player)
    engine.put_enemy_on_board(board, Enemies.king)

    play_outro(board, Enemies.king)

    display_mode = 13
    level = True
    while level:
        display_mode += 1
        if display_mode == 15:
            display_mode = 10
        util.clear_screen()
        print('\n\n')
        ui.display_board(board, display_mode, Enemies.king)
        print('\n\n\n')

        key = util.key_pressed()

        # MAIN CONTROL
        if key == 'q':
            levels.quit_game()
        elif key == "d":
            player.move_right(board)
        elif key == "s":
            player.move_down(board)
        elif key == "w":
            player.move_up(board)
        elif key == "a":
            player.move_left(board)
        elif key == "t" and player.pos_x == 8 and player.pos_y == 16:
            print_message(['YOU', 'DID', 'IT!!! :)'])
        elif key == "i":
            print_character(player, " character")
def put_player_on_board(board, player, monsters_alive, monster_dict,
                        valid_place, player_dict):
    place_player(board, player)
    previous_spot = ' '
    while True:
        time.sleep(0.05)
        util.clear_screen()
        print_board(board)
        key = util.key_pressed()

        player_position = [
            np.where(board == player)[0][0],
            np.where(board == player)[1][0]
        ]
        original_position = player_position[:]
        height = player_position[0]
        width = player_position[1]

        if key == 'd':
            move_right(board, previous_spot, height, width, player_position)
            enemy.monster_movement(board, monsters_alive, valid_place)
        elif key == 'a':
            move_left(board, previous_spot, height, width, player_position)
            enemy.monster_movement(board, monsters_alive, valid_place)
        elif key == 'w':
            move_up(board, previous_spot, height, width, player_position)
            enemy.monster_movement(board, monsters_alive, valid_place)
        elif key == 's':
            move_down(board, previous_spot, height, width, player_position)
            enemy.monster_movement(board, monsters_alive, valid_place)
        elif key == 'q':
            break

        try:
            if next_map(board, player):
                break
        except:
            break

        height = player_position[0]
        width = player_position[1]
        board[height][width] = player

        monster_coords = [[mob['X'], mob['Y'] - 2] for mob in monsters_alive]
        for coords in monster_coords:
            if [original_position[0] + 1, original_position[1]] == coords or [
                    original_position[0], original_position[1] - 1
            ] == coords:
                fight.fight(
                    player_dict, {
                        'Name': 'Orc',
                        'Hp': 20,
                        'Attack': 6,
                        'Defense': 5,
                        'Agility': 5,
                        'Level': 1
                    })

    return player_position
Пример #13
0
def win():
    util.clear_screen()
    help.logo("win")
    print(
        "You beat the boss of the duongeon and are able to go back to your old life"
    )
    print("Thank you for playing.")
    util.key_pressed()
Пример #14
0
def main_loop():
    if player.new_room:
        clear_screen()
        player.room.print_room()
        if player.has_won is True:
            sys.exit()
    user_input = input("$ ").lower()
    parser(user_input, player)
Пример #15
0
def tutorial(board, player):
    print_method = 1
    engine.put_player_on_board(board, player)

    snake = LevelItem('🐍', 'snake', True, 13, 14)
    bag = LevelItem('💰', 'bag', True, 3, 7)
    letter = LevelItem('📜', 'letter', True, 8, 5)

    level = True
    top = "TUTORIAL"
    message = "Info"
    while level:
        util.clear_screen()
        print_level(board, message, player, print_method, top)
        key = util.key_pressed()

        # MAIN CONTROL
        if key == 'q':
            levels.quit_game()
        elif key == "d":
            player.move_right(board)
        elif key == "s":
            player.move_down(board)
        elif key == "w":
            player.move_up(board)
        elif key == "a":
            player.move_left(board)
        elif key == "f":
            if letter.is_close(board, player):
                print_message(('W, A, S, D = move', 'F = Use item/FIGHT', 'T = Open Tools Bar/Talk', '', 'Good luck on your way!'))
            elif snake.is_close(board, player) and snake.on:
                top = "You can battle later"
                snake.turn_off(board)
            elif bag.is_close(board, player) and bag.on:
                message = 'You got the key!'
                bag.turn_off(board)
                board[3][14] = '  '
                board[3][16] = '  '
        elif key == 't':
            top = 'Your tools will be here!'
            util.clear_screen()
            print_level(board, message, player, print_method, top)
            util.key_pressed()

        if letter.is_close(board, player):
            message = "Letters sometimes are useful. Press F to read!"
        elif snake.is_close(board, player) and snake.on:
            message = "This is an enemy. Press F to fight!"
        elif bag.is_close(board, player) and bag.on:
            message = "This, and similar bags will help you on your way! Press F to loot!"
        elif player.pos_x == 3 and player.pos_y == 14:
            message = "This is the exit"
        elif player.pos_x == 3 and player.pos_y == 15:
            player.level = 'Gender'
            return
        else:
            message = "Info"
            top = "TUTORIAL"
Пример #16
0
    def interaction_controls(self, user_input):
        """Handling for various UI interactions usually executed as part of the main loop

        Return: False if no interaction, otherwise returns True (except when quitting)"""

        # Only want these enabled when running locally (ie screen)
        if self.CHANNEL_IN == 'screen':
            ui_lower = user_input.lower()
            if ui_lower == ':q':
                print('\t\t' + u.STY_RESP + '  Okay.  Goodbye!  ' +
                      u.STY_USER + '\n')
                self.before_quit()
            elif ui_lower == ':l':
                self.show_language = not self.show_language
                self.print_settings('Show_language: ' + {
                    True: 'on',
                    False: 'off'
                }[self.show_language])
                return True
            elif ui_lower == ':u':
                self.user_stats = not self.user_stats
                self.print_settings('User stats: ' + str(self.user_stats))
                return True
            elif ui_lower == ':s':
                self.show_parse = not self.show_parse
                self.print_settings('Show_parse: ' + {
                    True: 'on',
                    False: 'off'
                }[self.show_parse])
                return True
            elif ui_lower == ':h':
                self.show_highlight = not self.show_highlight
                self.print_settings('Show_highlight: ' + {
                    True: 'on',
                    False: 'off'
                }[self.show_highlight])
                return True
            elif ui_lower == ':c':
                u.clear_screen()
                return True
            elif ui_lower == ':d':
                self.logger.setLevel(logging.DEBUG)
                self.logger.info('Logging level set to DEBUG')
                return True
            elif ui_lower == ':i':
                self.logger.setLevel(logging.INFO)
                self.logger.info('Logging level set to INFO')
                return True
            elif ui_lower == ':w':
                self.logger.setLevel(logging.WARNING)
                self.logger.warn('Logging level set to WARN')
                return True
            elif user_input in (':1', ':2', ':3'):
                self.button_selection(self.user_input, self.show_parse)
                return True
        return False
Пример #17
0
def get_input(board, level):
    move = util.key_pressed()
    row = playerindex_row(board)
    col = playerindex_col(board)
    if move == "d":
        if board[row][col + 1] == "O":
            return 1
        elif board[row][col + 1] == "E":
            fight.fight_sys(level)
            board[row][col] = " "
            board[row][col + 1] = "X"
        elif board[row][col + 1] == " ":
            board[row][col] = " "
            board[row][col + 1] = "X"
        elif board[row][col + 1] == "S":
            shop.shop(level)
    elif move == "a":
        if board[row][col - 1] == " ":
            board[row][col] = " "
            board[row][col - 1] = "X"
        elif board[row][col - 1] == "E":
            fight.fight_sys(level)
            board[row][col] = " "
            board[row][col - 1] = "X"
        elif board[row][col - 1] == "S":
            shop.shop(level)
    elif move == "s":
        if board[row + 1][col] == " ":
            board[row][col] = " "
            board[row + 1][col] = "X"
        elif board[row + 1][col] == "E":
            fight.fight_sys(level)
            board[row][col] = " "
            board[row + 1][col] = "X"
        elif board[row + 1][col] == "S":
            shop.shop(level)
    elif move == "w":
        if board[row - 1][col] == " ":
            board[row][col] = " "
            board[row - 1][col] = "X"
        elif board[row - 1][col] == "E":
            fight.fight_sys(level)
            board[row][col] = " "
            board[row - 1][col] = "X"
        elif board[row - 1][col] == "S":
            shop.shop(level)
    elif move == "h":
        help.help()
    elif move == "i":
        inventory_sys.inventory()
    elif move == "q":
        util.clear_screen()
        sys.exit()
    return 0
Пример #18
0
def handle_exit(player, level, key):
    if player["row"] == BOARD_HEIGHT - 1 and player[
            "column"] == BOARD_WIDTH - 1 and key == 'd':
        player["row"] = PLAYER_START_X
        player["column"] = PLAYER_START_Y
        level += 1
        if level == 4:
            util.clear_screen()
            printing_name.won()
            sys.exit()
        process_game(level, player)
Пример #19
0
def player_has_won():
    """
    Displays message and ends the program when player wins the game.
    Args: None, Returns: Nothing.
    """

    util.clear_screen()
    messege = "You have won:) Congratulations !!!!"
    print(pyfiglet.figlet_format("*** " + messege + " ***", font="digital"))
    sleep(3)
    exit()
Пример #20
0
def player_has_lost():
    """
    Displays message and plays sad music when player loose the game.
    Args: None, Returns: Nothing.
    """

    util.clear_screen()
    messege = "You have lost!"
    print(pyfiglet.figlet_format("*** " + messege + " ***"))
    sleep(5)
    play_music("game_over.wav")
Пример #21
0
def draw_screen(screen, is_pause):
    user = screen[0]
    playing_hands = screen[1]
    community_cards = screen[2]
    tutorial_msg = screen[3]

    util.clear_screen()
    to_draw = str(user) + playing_hands + str(community_cards) + tutorial_msg
    print(to_draw)
    if is_pause:
        util.process_continuation_input(to_draw)
Пример #22
0
def map(board, level):
    util.clear_screen()
    stat = get_stats(level)
    s = 0
    i = 0
    for index in board:
        print(*board[i], *stat[s])
        i += 1
        if s != 7:
            s += 1
        else:
            s = 7
    print("I = inventory  H = help")
Пример #23
0
def print_message(message_text):
    util.clear_screen()
    print()
    print("        ", end='')
    print('      ' + TextBackground.YELLOW + '┌──────────────────────────────────────────────────────────────────────┐' + TextBackground.RESET)
    for message in message_text:
        print("        ", end='')
        print('      ' + TextBackground.YELLOW + '│' + message.center(70) + '│' + TextBackground.RESET)
    print("        ", end='')
    print('      ' + TextBackground.YELLOW + '└──────────────────────────────────────────────────────────────────────┘' + TextBackground.RESET)
    print()
    input("   ☯︎ Press ENTER to continue...")
    return False
Пример #24
0
def open_text(txt, s=6, countdown_screen=False):
    if countdown_screen is False:
        print(txt)
        # wciśnięcie klawisza zamiast sleep,
        # żeby można było przejść szybciej dalej
        print("\n\n\nWciśnij dowolny klawisz, aby kontynuować...")
        util.key_pressed()
        util.clear_screen()
    if countdown_screen is True:
        for second in reversed(range(1, 6)):
            print(f"{first_line}Uważaj, grę zaczniesz za: \
\033[91m{second}\033[0m")
            sleep(1)
            util.clear_screen()
Пример #25
0
def character_creation():
    menu = [["│", "knight", "│"], [" ", "soldier", " "], [" ", "viking", " "],
            [" ", "mage", " "]]
    i = 0
    while i == 0:
        util.clear_screen()
        stat = get_stat(menu)
        print("Before you came here you were a: ")
        print(" ")
        print(*menu[0], *menu[1])
        print(*menu[2], *menu[3])
        print("________________________")
        print(stat)
        i = char_input(menu)
Пример #26
0
def show_rankings_windows():

    util.clear_screen()
    print()
    print("     ♠ ♥ ♦ ♣ Hand Rankings ♠ ♥ ♦ ♣")
    print()

    print(" Royal Flush")
    print(" | A♠  | | K♠  | | Q♠  | | J♠  | | 10♠ |")
    print()

    print(" Straight Flush")
    print(" | 9♦  | | 8♦  | | 7♦  | | 6♦  | | 5♦  |")
    print()

    print(" Four of a Kind")
    print(" | A♣  | | A♥  | | A♠  | | A♦  | | 10♠ |")
    print()

    print(" Full House")
    print(" | Q♥  | | Q♠  | | Q♦  | | J♣  | | J♦  |")
    print()

    print(" Flush")
    print(" | A♥  | | J♥  | | 9♥  | | 6♥  | | 3♥  |")
    print()

    print(" Straight")
    print(" | 9♣  | | 8♦  | | 7♠  | | 6♦  | | 5♠  |")
    print()

    print(" Three of a Kind")
    print(" | 5♦♢  | | Q♣  | | 2♥  | | 2♠  | | 2♦  |")
    print()

    print(" Two Pair")
    print(" | A♥  | | A♣  | | Q♥  | | Q♠  | | 9♦  |")
    print()

    print(" One Pair")
    print(" | 4♥  | | 5♠  | | 8♣  | | A♦  | | A♠  |")
    print()

    print(" High Card")
    print(" | 5♠  | | 6♦  | | J♣  | | Q♦  | | A♠  |")
    print()

    input()
    util.clear_screen()
Пример #27
0
def menu_print():
    chooice = 0
    menu = [["│", "Play", "│"], [" ", "Quit", " "]]
    while chooice == 0:
        util.clear_screen()
        logo()
        x = 0
        for i in menu:
            print(*menu[x])
            x += 1
        chooice = menu_inputs(menu)
        if chooice == 1:
            return 1
        elif chooice == 2:
            return 2
Пример #28
0
 def distribute_points(self):
     util.clear_screen()
     print(
         "\nYou have {} points to distribute\nYour strengh is {} next point costs {}\nYour dexterity is {} next point costs {}\nYour intelligence is {} next point costs {}\n Your max HP is {} next point costs {}"
         .format(self.points, self.strength, self.strength * 2,
                 self.dexterity, self.dexterity * 2, self.intelligence,
                 self.intelligence * 2, self.max_hp, (self.max_hp - 9) * 2))
     print(
         "Push q to quit, push s, d, i, h to upgrade strenght, dexterity, intelligence or HP. Push p to show your points"
     )
     is_distributing = True
     while is_distributing:
         player_choice = util.key_pressed()
         if player_choice == "s":
             if self.points >= self.strength * 2:
                 self.points -= self.strength * 2
                 self.strength += 1
                 print("You upgraded strenght")
             else:
                 print("You don't have enough points to upgrade!")
         elif player_choice == "d":
             if self.points >= self.dexterity * 2:
                 self.points -= self.dexterity * 2
                 self.dexterity += 1
                 print("You upgraded dexterity")
             else:
                 print("You don't have enough points to upgrade!")
         elif player_choice == "i":
             if self.points >= self.intelligence * 2:
                 self.points -= self.intelligence * 2
                 self.intelligence += 1
                 print("You upgraded intelligence")
             else:
                 print("You don't have enough points to upgrade!")
         elif player_choice == "h":
             if self.points >= (self.max_hp - 9) * 2:
                 self.points -= (self.max_hp - 9) * 2
                 self.max_hp += 1
                 self.current_hp += 1
                 print("You upgraded HP")
             else:
                 print("You don't have enough points to upgrade!")
         elif player_choice == "p":
             print("You have {} points left".format(self.points))
         elif player_choice == "q":
             is_distributing = False
         else:
             print("Incorrect key")
Пример #29
0
def show_rankings_unix():
    util.clear_screen()
    print()
    print("     ♤ ♡ ♢ ♧ Hand Rankings ♠ ♥ ♦ ♣")
    print()

    print(" Royal Flush")
    print(" | A♠  | | K♠  | | Q♠  | | J♠  | | 10♠ |")
    print()

    print(" Straight Flush")
    print(" | 9♢  | | 8♢  | | 7♢  | | 6♢  | | 5♢  |")
    print()

    print(" Four of a Kind")
    print(" | A♣  | | A♡  | | A♠  | | A♢  | | 10♠ |")
    print()

    print(" Full House")
    print(" | Q♡  | | Q♠  | | Q♢  | | J♣  | | J♢  |")
    print()

    print(" Flush")
    print(" | A♡  | | J♡  | | 9♡  | | 6♡  | | 3♡  |")
    print()

    print(" Straight")
    print(" | 9♣  | | 8♢  | | 7♠  | | 6♢  | | 5♠  |")
    print()

    print(" Three of a Kind")
    print(" | 5♢  | | Q♣  | | 2♡  | | 2♠  | | 2♢  |")
    print()

    print(" Two Pair")
    print(" | A♡  | | A♣  | | Q♡  | | Q♠  | | 9♢  |")
    print()

    print(" One Pair")
    print(" | 4♡  | | 5♠  | | 8♣  | | A♢  | | A♠  |")
    print()

    print(" High Card")
    print(" | 5♠  | | 6♢  | | J♣  | | Q♢  | | A♠  |")
    print()

    input()
    util.clear_screen()
Пример #30
0
def print_inventory():
    i = 0
    while i != 1:
        util.clear_screen()
        yourstat = stat_get()
        menu = ['│INVENTORY│', '                        ', ' SKILLS ']
        print(*menu)
        print('---------------------------------------------')
        index = 0
        print(*yourstat)
        print("Armor: ", equiped[0])
        print("Weapon: ", equiped[1])
        print('---------------------------------------------')
        for i in inventory_fill:
            print(*inventory_fill[index])
            index += 1
        i = inv_input()