def display_enter_player_names(): """ Ask the users to enter their names """ # Create the menu button/text/field objects txt_title = Entities.Text(title_font, "Enter Player Names", Colours.WHITE, width / 2, 38) txt_user = Entities.Text(main_font, "Player 1, enter your name:", Colours.WHITE, width / 2, 150) txt_hint = Entities.Text(main_font, "Enter name (press enter to set)", Colours.WHITE, width / 2, 380) name_field = Entities.InputField(main_font, "Player 1", Colours.BLACK, width / 2, 200, 14) btn_return = Entities.Button(main_font, "Return to Main Menu", Colours.WHITE, width / 2, 300) player = 1 player_names = ["Player 1", "Player 2"] while True: # Handle events events = pygame.event.get() for e in events: if e.type == pygame.QUIT: quit_game() # Call the event handler for the button object and do necessary function call if needed if btn_return.event(e): display_main_menu() if name_field.event(e): field_text = name_field.get_text() if field_text: player_names[player - 1] = field_text player += 1 name_field.reset("Player 2") txt_user.update_text("Player 2, enter your name:") # Draw everything to the screen renderer.update_display(display) renderer.add(txt_title) renderer.add(txt_user) renderer.add(name_field) renderer.add(btn_return) renderer.add(txt_hint) renderer.draw("bg_plain", Colours.BLACK) if player > 2: return player_names