Ejemplo n.º 1
0
def runApp(root):
    game = Game()
    view = View(root, game)
    controller = Controller(game, view)
    view.addController(controller)
    root.title("Life Counter")
    root.mainloop()
Ejemplo n.º 2
0
    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
Ejemplo n.º 4
0
 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()
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
 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()
Ejemplo n.º 9
0
        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()