""" Starting launcher of the game. This is where you host new games or join other ones. """ import tkinter as tk global running def main(): """ Runs the game launcher. """ main_window = tk.Tk() main_window.title('PyPong Launcher') main_window.resizable(width=False, height=False) main_window.geometry('500x250') def quit_launcher(): """ Quits the main menu. """ global running running = False def get_games(): """ Refresh the games list. """ listbox.delete(0, tk.END) listbox.insert(0, 'Searching for games...') # Networking code will go here eventually # Create the top title label title_label = tk.Label(text='PyPong Launcher', fg='white', bg='#000040', padx=1, pady=20) title_label.pack(side=tk.TOP, fill=tk.BOTH) # Create the list of games listbox = tk.Listbox(main_window) listbox.pack(side=tk.LEFT, expand=True, fill=tk.BOTH) # Add scrollbar scrollbar = tk.Scrollbar(main_window) scrollbar.pack(side=tk.LEFT, fill=tk.Y) # Link scrollbar to list of games listbox.config(yscrollcommand=scrollbar.set) scrollbar.config(command=listbox.yview) # Create buttons button_frame = tk.Frame(main_window) tk.Button(button_frame, text='Host a Game', height=3, width=30).pack() tk.Button(button_frame, text='Join Selected Game', height=3, width=30).pack() tk.Button(button_frame, text='Refresh Game List', height=2, width=20, command=get_games).pack() button_frame.pack(side=tk.RIGHT) # Set it so that if the X is pressed the application quits main_window.protocol('WM_DELETE_WINDOW', quit_launcher) global running running = True while running: main_window.update() if __name__ == '__main__': main()