from cinput import ControlInput, Button from enum import Enum, auto from graphics import Graphics from .draw import Draw from .sunfish import initial class GameState(Enum): MAIN_MENU = auto() THINKING = auto() CHOOSE_ROW = auto() CHOOSE_COL = auto() GAME_OVER = auto() def execute(cinput: ControlInput, graphics: Graphics, _): graphics.clear() draw = Draw(graphics) draw.draw_board(initial) state = GameState.MAIN_MENU menu_index = 0 while True: if state == GameState.MAIN_MENU: draw.draw_menu(menu_index) key = cinput.get_one_shot() if state == GameState.MAIN_MENU: if key == Button.DIR_U: menu_index -= 1 if menu_index < 0: menu_index = 0 elif key == Button.DIR_D: menu_index += 1 if menu_index > 2: menu_index = 2