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
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
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)
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)
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)
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)
def main_menu(): util.clear_screen() chooice = menu_print() if chooice == 1: character_creation() elif chooice == 2: sys.exit()
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!!!")
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!")
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
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()
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)
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"
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
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
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)
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()
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")
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)
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")
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
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()
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)
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()
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
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")
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()
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()