def runApp(root): game = Game() view = View(root, game) controller = Controller(game, view) view.addController(controller) root.title("Life Counter") root.mainloop()
def __init__(self): # Current Game State self.game = Game() AI.turn_num += 1 # Answer self.message: str = "" self.direction: int = Direction.CENTER.value self.value: int = 0
def __init__(self, master: Frame, model: Game): self.model = model master.columnconfigure(0, weight=1) master.columnconfigure(1, weight=1) master.columnconfigure(2, weight=1) master.rowconfigure(0, weight=1) master.rowconfigure(1, weight=1) master.rowconfigure(2, weight=1) colour_p1 = 'light sky blue' colour_p2 = 'light salmon' self.player1 = PlayerFrameView(master, model.get_player(0), 0, colour_p1) self.player1.player_frame.grid(row=0, column=0) self.player2 = PlayerFrameView(master, model.get_player(1), 1, colour_p2) self.player2.player_frame.grid(row=0, column=1) self.restart_button = Button(master, text='\n'.join(list("RESTART")), font=Font(size=15, weight='bold')) self.restart_button.grid(row=0, column=2, sticky=S + N) self.record_button = Button(master, text="Record", relief=RAISED, font=Font(size=15)) self.record_button.grid(row=1, columnspan=2, sticky=S + N + E + W) self.scroll = Scrollbar(master, orient='vertical') self.record_frame = Frame(master, bd=1, relief=SUNKEN) self.record = RecordView(self.record_frame, model, (colour_p1, colour_p2), self.scroll) self.scroll.grid(row=2, column=2, sticky="nsew") self.record_frame.grid(row=2, columnspan=2) self.scroll.grid_remove() self.record_frame.grid_remove() self.master = master
def __init__(self): self.game: Game = Game() self.last_health = None self.last_cell = None self.duty_pos = None self.our_queens_next_pos = None self.last_enemy_queen_pos_in_messages = None self.new_enemy_queen_pos = None self.walls = set() self.visited_cells = set() self.seen_cells = set() self.our_queen_pos = None self.filled_duty_poses = set() self.enemy_scorpion_in_local_view = set()
def __init__(self, master: Frame, model: Game, colours, scroll: Scrollbar): master.columnconfigure(0, weight=1) master.columnconfigure(1, weight=1) master.columnconfigure(2, weight=1) master.columnconfigure(3, weight=1) master.rowconfigure(0, weight=1) height = 10 width = 5 font = Font(size=20) rp1 = model.get_player(0).last_update() rp2 = model.get_player(1).last_update() self.record_player1_1 = Text(master, font=font, relief=FLAT, height=height, width=width, bg=colours[0]) self.record_player1_1.tag_configure("center", justify='center') self.record_player1_1.insert(END, rp1[0], 'center') self.record_player1_1.grid(row=0, column=0, sticky="nsew") self.record_player1_2 = Text(master, font=font, relief=FLAT, height=height, width=width, bg=colours[0]) self.record_player1_2.tag_configure("center", justify='center') self.record_player1_2.insert(END, rp1[1], 'center') self.record_player1_2.grid(row=0, column=1, sticky="nsew") self.record_player2_1 = Text(master, font=font, relief=FLAT, height=height, width=width, bg=colours[1]) self.record_player2_1.tag_configure("center", justify='center') self.record_player2_1.insert(END, rp2[0], 'center') self.record_player2_1.grid(row=0, column=2, sticky="nsew") self.record_player2_2 = Text(master, font=font, relief=FLAT, height=height, width=width, bg=colours[1]) self.record_player2_2.tag_configure("center", justify='center') self.record_player2_2.insert(END, rp2[1], 'center') self.record_player2_2.grid(row=0, column=3, sticky="nsew") self.record_player1_1.tag_configure("red", foreground='red') # Drain life self.record_player1_1.tag_configure("green", foreground='green') # Obtain life self.record_player1_1.tag_configure("blue", foreground='blue') # Buddy Call self.record_player2_1.tag_configure("red", foreground='red') self.record_player2_1.tag_configure("green", foreground='green') self.record_player2_1.tag_configure("blue", foreground='blue') scroll.config(command=lambda *args: self.onscroll(*args)) self.record_player1_1.configure(yscrollcommand=scroll.set) self.record_player1_2.configure(yscrollcommand=scroll.set) self.record_player2_1.configure(yscrollcommand=scroll.set) self.record_player2_2.configure(yscrollcommand=scroll.set)
def handle_turn_message(self, currentState): self.client = AI() game = Game() game.initGameConfig(self.gameConfig) game.setCurrentState(currentState) self.client.game = game (message, value, direction) = self.client.turn() if direction is not None: self.send_direction_message(direction) if message is not None and value is not None: self.send_chat_message(message, value) self.send_end_message()
def handle_turn_message(self, currentState): self.client = AI() game = Game() game.initGameConfig(self.gameConfig) game.setCurrentState(currentState) self.client.game = game start = time.time() * 1000 (message, value, direction) = self.client.turn() diff = time.time() * 1000 - start if diff > 2000: pass elif diff > 1000: self.send_direction_message(Direction.CENTER.value) else: if direction is not None: self.send_direction_message(direction) if message is not None and value is not None: self.send_chat_message(message, value) self.send_end_message()
self.record_button = Button(master, text="Record", relief=RAISED, font=Font(size=15)) self.record_button.grid(row=1, columnspan=2, sticky=S + N + E + W) self.scroll = Scrollbar(master, orient='vertical') self.record_frame = Frame(master, bd=1, relief=SUNKEN) self.record = RecordView(self.record_frame, model, (colour_p1, colour_p2), self.scroll) self.scroll.grid(row=2, column=2, sticky="nsew") self.record_frame.grid(row=2, columnspan=2) self.scroll.grid_remove() self.record_frame.grid_remove() self.master = master def addController(self, controller: Controller): self.player1.add_controller(controller) self.player2.add_controller(controller) self.record_button.bind("<Button>", controller.btn_record) self.restart_button.bind("<1>", controller.btn_restart) if __name__ == "__main__": master = Tk() PrincipalView(master, Game()) master.mainloop()
self.record_player2_2.grid(row=0, column=3, sticky="nsew") self.record_player1_1.tag_configure("red", foreground='red') # Drain life self.record_player1_1.tag_configure("green", foreground='green') # Obtain life self.record_player1_1.tag_configure("blue", foreground='blue') # Buddy Call self.record_player2_1.tag_configure("red", foreground='red') self.record_player2_1.tag_configure("green", foreground='green') self.record_player2_1.tag_configure("blue", foreground='blue') scroll.config(command=lambda *args: self.onscroll(*args)) self.record_player1_1.configure(yscrollcommand=scroll.set) self.record_player1_2.configure(yscrollcommand=scroll.set) self.record_player2_1.configure(yscrollcommand=scroll.set) self.record_player2_2.configure(yscrollcommand=scroll.set) def onscroll(self, *args): self.record_player1_1.yview(*args) self.record_player1_2.yview(*args) self.record_player2_1.yview(*args) self.record_player2_2.yview(*args) if __name__ == "__main__": root = Tk() game = Game() players = game.get_players() players[0].add_life(999) players[1].sub_life(1) RecordView(root, game, 'red', None) root.mainloop()