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.º 2
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)