premier commit
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
import tkinter
|
||||
|
||||
class Terrain:
|
||||
def __init__(self):
|
||||
self.height = 15000//25
|
||||
self.width = 28000//25
|
||||
self.three_points = 6250//25 # rayon
|
||||
self.middle_circle = 1800//25 # rayon
|
||||
|
||||
|
||||
class Team:
|
||||
def __init__(self):
|
||||
self.players = ['arthur', 'jl', 'léandre', "louis", "alex"]
|
||||
self.file = 'stat.txt'
|
||||
self.posx, self.posy = 0,0 # coo de la dernière action
|
||||
self.ac_player = 0 # dernier joueur
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class Gui:
|
||||
def __init__(self, ):
|
||||
self.terrain = Terrain()
|
||||
self.team = Team()
|
||||
self.list_button_menu = []
|
||||
self.win = tkinter.Tk()
|
||||
self.canvas = tkinter.Canvas(self.win, width=self.terrain.width, height=self.terrain.height, background='#bbb')
|
||||
|
||||
self.canvas.pack()
|
||||
|
||||
# menu contextuel des actions
|
||||
self.action = tkinter.Menu(self.win, tearoff=0)
|
||||
self.action.add_command(label='marque', command=lambda: self.action_menu('marque'))
|
||||
self.action.add_command(label='rate', command=lambda: self.action_menu('rate'))
|
||||
|
||||
|
||||
# Menu contextuel des joueurs
|
||||
self.menu = tkinter.Menu(self.win, tearoff = 0)
|
||||
self.menu.add_command(label=self.team.players[0], command=lambda: self.show_sub_menu(self.team.players[0]))
|
||||
self.menu.add_command(label=self.team.players[1], command=lambda: self.show_sub_menu(self.team.players[1]))
|
||||
self.menu.add_command(label=self.team.players[2], command=lambda: self.show_sub_menu(self.team.players[2]))
|
||||
self.menu.add_command(label=self.team.players[3], command=lambda: self.show_sub_menu(self.team.players[3]))
|
||||
self.menu.add_command(label=self.team.players[4], command=lambda: self.show_sub_menu(self.team.players[4]))
|
||||
|
||||
|
||||
|
||||
def context_menu(self, event):
|
||||
self.team.posx, self.team.posy = event.x, event.y
|
||||
self.coo = [event.x_root, event.y_root]
|
||||
self.menu.tk_popup(event.x_root, event.y_root)
|
||||
self.menu.grab_release()
|
||||
|
||||
def show_sub_menu(self, player):
|
||||
self.team.ac_player = player
|
||||
self.action.tk_popup(self.coo[0], self.coo[1])
|
||||
self.action.grab_release()
|
||||
|
||||
def action_menu(self, action):
|
||||
if action == 'marque':
|
||||
self.canvas.create_oval(self.team.posx-12, self.team.posy-12, self.team.posx+12, self.team.posy+12, fill='green')
|
||||
# with open('stat.txt', 'a') as f:
|
||||
|
||||
else:
|
||||
self.canvas.create_oval(self.team.posx-12, self.team.posy-12, self.team.posx+12, self.team.posy+12, fill='red')
|
||||
|
||||
def draw_terrain(self):
|
||||
# ligne des 3 points
|
||||
self.canvas.create_arc(-self.terrain.three_points, self.terrain.height//2 - self.terrain.three_points, self.terrain.three_points, self.terrain.height - (self.terrain.height//2 - self.terrain.three_points),width=3, start=90, extent=-180)
|
||||
self.canvas.create_arc(self.terrain.width-self.terrain.three_points, self.terrain.height//2 - self.terrain.three_points, self.terrain.width+self.terrain.three_points, self.terrain.height - (self.terrain.height//2 - self.terrain.three_points),width=3, start=90, extent=180)
|
||||
|
||||
# ligne centrale
|
||||
|
||||
self.canvas.create_line(self.terrain.width//2, 0, self.terrain.width//2, self.terrain.height, width=3)
|
||||
|
||||
# cercle du milieu
|
||||
self.canvas.create_oval(self.terrain.width//2 - self.terrain.middle_circle, self.terrain.height//2 - self.terrain.middle_circle, self.terrain.width//2 + self.terrain.middle_circle, self.terrain.height//2 + self.terrain.middle_circle, width=3)
|
||||
|
||||
|
||||
gui = Gui()
|
||||
gui.draw_terrain()
|
||||
|
||||
gui.win.bind("<Button-1>", gui.context_menu)
|
||||
|
||||
gui.win.mainloop()
|
||||
@@ -0,0 +1,27 @@
|
||||
from tkinter import *
|
||||
|
||||
class Window(Frame):
|
||||
def __init__(self, master=None):
|
||||
Frame.__init__(self, master)
|
||||
self.master = master
|
||||
|
||||
menu = Menu(self.master)
|
||||
self.master.config(menu=menu)
|
||||
|
||||
fileMenu = Menu(menu)
|
||||
fileMenu.add_command(label="Item")
|
||||
fileMenu.add_command(label="Exit", command=self.exitProgram)
|
||||
menu.add_cascade(label="File", menu=fileMenu)
|
||||
|
||||
editMenu = Menu(menu)
|
||||
editMenu.add_command(label="Undo")
|
||||
editMenu.add_command(label="Redo")
|
||||
menu.add_cascade(label="Edit", menu=editMenu)
|
||||
|
||||
def exitProgram(self):
|
||||
exit()
|
||||
|
||||
root = Tk()
|
||||
app = Window(root)
|
||||
root.wm_title("Tkinter window")
|
||||
root.mainloop()
|
||||
Reference in New Issue
Block a user