commit
036d4c865f
4 changed files with 340 additions and 0 deletions
@ -0,0 +1,56 @@ |
|||
import tkinter as tk |
|||
|
|||
# Fonction qui trace la droite y = ax + b sur le canvas |
|||
def trace(): |
|||
a = int(entry_a.get()) # Récupère la valeur de a |
|||
b = int(entry_b.get()) # Récupère la valeur de b |
|||
|
|||
canvas.delete("all") # Efface le contenu du canvas avant de redessiner |
|||
|
|||
# Dessine l'axe des abscisses au milieu du canvas |
|||
canvas.create_line(0, 150, 400, 150, fill="black") |
|||
# Dessine l'axe des ordonnées au milieu du canvas |
|||
canvas.create_line(200, 0, 200, 300, fill="black") |
|||
|
|||
# Définit deux points extrêmes pour tracer la droite |
|||
x1, y1 = -200, a * -200 + b |
|||
x2, y2 = 200, a * 200 + b |
|||
|
|||
# Convertit les coordonnées mathématiques en pixels |
|||
y1_pixel = 150 - y1 |
|||
y2_pixel = 150 - y2 |
|||
|
|||
# Dessine la droite en rouge |
|||
canvas.create_line(x1 + 200, y1_pixel, x2 + 200, y2_pixel, fill="red", width=2) |
|||
|
|||
# Création de la fenêtre principale |
|||
root = tk.Tk() |
|||
root.title("Traceur de droite") |
|||
|
|||
# Ajout d'un cadre pour organiser les éléments |
|||
top_frame = tk.Frame(root) |
|||
top_frame.pack(pady=10) |
|||
|
|||
# Titre de l'application |
|||
tk.Label(top_frame, text="Traceur de droite : y = ax + b", font=("Arial", 14, "bold")).grid(row=0, column=0, columnspan=2, pady=5) |
|||
|
|||
# Champ de saisie pour le coefficient a |
|||
tk.Label(top_frame, text="Coefficient a :").grid(row=1, column=0) |
|||
entry_a = tk.Entry(top_frame) |
|||
entry_a.grid(row=1, column=1) |
|||
|
|||
# Champ de saisie pour le coefficient b |
|||
tk.Label(top_frame, text="Coefficient b :").grid(row=2, column=0) |
|||
entry_b = tk.Entry(top_frame) |
|||
entry_b.grid(row=2, column=1) |
|||
|
|||
# Bouton pour tracer la droite |
|||
btn_trace = tk.Button(top_frame, text="Tracer la droite", command=trace) |
|||
btn_trace.grid(row=3, column=0, columnspan=2, pady=10) |
|||
|
|||
# Zone de dessin pour afficher la droite |
|||
canvas = tk.Canvas(root, width=400, height=300, bg="white") |
|||
canvas.pack(pady=10) |
|||
|
|||
# Lancement de la boucle principale |
|||
root.mainloop() |
@ -0,0 +1,87 @@ |
|||
#définition de la fonction |
|||
def reussite (joueur, action): |
|||
#établissement des variables |
|||
tentatives = 0 |
|||
réussites = 0 |
|||
#en ouvrant le fichier stats la commande va cherche une ligne avec le nom du joueur l'action et ajouter + 1 ) la variable tentatives chaque fois qu'elle la trouve puis regarder si le mot reussi est sur la même ligne si c'est le cas elle ajoutera + 1 à la variable réussite |
|||
with open("stats.txt", "r") as fichier: |
|||
for ligne in fichier: |
|||
if joueur.upper() + " " in ligne and action in ligne: |
|||
tentatives += 1 |
|||
if "tir-reussi" in ligne or "lancer-reu" in ligne: |
|||
réussites += 1 |
|||
return tentatives, réussites |
|||
|
|||
#print(reussite("j1", "tir")) |
|||
|
|||
def points (x, y): |
|||
#les coordonnées du centre gauche et droit et le rayon du cercle |
|||
centre_gauche = (0, 300) |
|||
centre_droit = (1000, 300) |
|||
rayon = 250 |
|||
#on vérifie si le point est dans le cercle gauche ou droit |
|||
dans_gauche = (x - centre_gauche[0])**2 + (y - centre_gauche[1])**2 <= rayon**2 and x <= 0 + rayon |
|||
dans_droit = (x - centre_droit[0])**2 + (y - centre_droit[1])**2 <= rayon**2 and x >= 1000 - rayon |
|||
#si c'est le cas on revoie 2 sinon on renvoie 3 |
|||
if dans_gauche or dans_droit: |
|||
return 2 |
|||
else: |
|||
return 3 |
|||
|
|||
#print(points(250, 300)) |
|||
|
|||
def totalpoints (joueur): |
|||
#on établie la variable des points totaux |
|||
total_points = 0 |
|||
with open("stats.txt", "r") as fichier: |
|||
for ligne in fichier: |
|||
element = ligne.split() |
|||
#on regarde dans chaque ligne si le nom du joueur choisit y est |
|||
if joueur.upper() + " " in ligne: |
|||
#si le nom est suivi de tir-reussi la commande regardera à l'aide de la fonction points si c'est un tir à 2 ou 3 point puis ajoutera en conséquence 2 ou 3 à la variable total_points |
|||
if element[1] == "tir-reussi": |
|||
x = int(element[2]) |
|||
y = int(element[3]) |
|||
total_points += points(x, y) |
|||
#si c'est un lancer franc la commande ajoutera 1 à la variablke total_points |
|||
elif element[1] == "lancer-reu": |
|||
total_points += 1 |
|||
return total_points |
|||
|
|||
#print(totalpoints("j1")) |
|||
|
|||
def rebondspasses (joueur): |
|||
with open("stats.txt", "r") as fichier: |
|||
rebond_pris = 0 |
|||
passe = 0 |
|||
for ligne in fichier: |
|||
if joueur.upper() + " " in ligne and ("rebondOff"or "rebondDef") in ligne: |
|||
rebond_pris += 1 |
|||
elif joueur.upper() + " " in ligne and "passe" in ligne: |
|||
passe += 1 |
|||
return rebond_pris, passe |
|||
|
|||
print(rebondspasses("j1")) |
|||
|
|||
def manque (joueur): |
|||
with open("stats.txt", "r") as fichier: |
|||
#on établie la variable de perte de balle |
|||
perte_balle = 0 |
|||
for ligne in fichier: |
|||
#si le nom du joueur et un tir-manque apparait sur la même ligne la variable augemnte de 1 |
|||
if joueur.upper() + " " in ligne and "tir-manque" in ligne: |
|||
perte_balle += 1 |
|||
#de même pour un lancer raté |
|||
elif joueur.upper() + " " in ligne and "lancer-rat" in ligne: |
|||
perte_balle += 1 |
|||
return perte_balle |
|||
|
|||
#print(manque("j1")) |
|||
|
|||
def affichestats (joueur): |
|||
print(totalpoints(joueur)) |
|||
taux_reussite = reussite(joueur, "tir") |
|||
print(taux_reussite[1] / taux_reussite[0] * 100) |
|||
print(manque(joueur)) |
|||
|
|||
#print(affichestats("j1")) |
@ -0,0 +1,197 @@ |
|||
J4V tir-reussi 928 258 |
|||
J1 tir-manque 79 242 |
|||
J2V rebondDef 75 300 |
|||
J8V tir-reussi 981 319 |
|||
J10V lancer-rat 818 293 |
|||
J10V lancer-reu 817 296 |
|||
J8 tir-manque 52 157 |
|||
J4 passe 200 150 |
|||
J1 tir-reussi 68 288 |
|||
J10V tir-manque 973 427 |
|||
J8 tir-manque 80 309 |
|||
J1 rebondOff 150 310 |
|||
J8V tir-reussi 908 116 |
|||
J1 tir-reussi 22 397 |
|||
J10V tir-manque 838 425 |
|||
J5 tir-manque 44 316 |
|||
J4 perteBalle 150 250 |
|||
J10V tir-reussi 977 323 |
|||
J8V passe 750 250 |
|||
J10V tir-reussi 894 299 |
|||
J7 tir-manque 155 154 |
|||
J8V rebondDef 100 320 |
|||
J2V tir-reussi 928 330 |
|||
J2 tir-manque 20 330 |
|||
J4 rebondOff 100 280 |
|||
J8V tir-reussi 975 317 |
|||
J8 tir-reussi 42 312 |
|||
J8V tir-reussi 971 307 |
|||
J3 perteBalle 520 100 |
|||
J8V tir-reussi 971 307 |
|||
J2 tir-reussi 45 265 |
|||
J2 tir-manque 37 261 |
|||
J1V rebondDef 100 360 |
|||
J10V tir-manque 926 280 |
|||
J10V rebondOff 900 300 |
|||
J10V tir-manque 958 333 |
|||
J3 rebondDef 900 285 |
|||
J2 tir-reussi 58 266 |
|||
J10V lancer-rat 819 300 |
|||
J10V lancer-reu 819 303 |
|||
J8V tir-manque 899 260 |
|||
J8V rebondOff 900 280 |
|||
J8V tir-reussi 974 254 |
|||
J10V lancer-rat 816 300 |
|||
J10V lancer-rat 815 297 |
|||
J5 tir-manque 111 108 |
|||
J1 passe 50 280 |
|||
J2 tir-reussi 77 259 |
|||
J10V tir-reussi 938 557 |
|||
J2 tir-manque 100 253 |
|||
J3V perteBalle 450 200 |
|||
J2 tir-manque 60 76 |
|||
J8 tir-manque 37 328 |
|||
J1 tir-manque 96 258 |
|||
J1 lancer-reu 187 306 |
|||
J1 lancer-rat 190 303 |
|||
J8 tir-reussi 57 270 |
|||
J8 lancer-rat 183 297 |
|||
J7V tir-manque 976 323 |
|||
J3 rebondOff 897 275 |
|||
J8 tir-manque 19 302 |
|||
J8V lancer-rat 815 294 |
|||
J8V lancer-rat 816 304 |
|||
J8 tir-reussi 63 286 |
|||
J1 tir-manque 69 244 |
|||
J8 tir-reussi 35 273 |
|||
J4V tir-manque 814 158 |
|||
J8 tir-manque 74 281 |
|||
J9 tir-reussi 78 280 |
|||
J8V tir-reussi 945 366 |
|||
J10V tir-reussi 942 335 |
|||
J10V tir-manque 962 318 |
|||
J9 tir-manque 55 460 |
|||
J2 tir-reussi 63 310 |
|||
J6V lancer-reu 817 301 |
|||
J6V lancer-rat 815 307 |
|||
J2 tir-reussi 42 260 |
|||
J6V tir-manque 884 292 |
|||
J6V tir-manque 919 282 |
|||
J3V lancer-rat 815 300 |
|||
J3V lancer-rat 817 294 |
|||
J5 tir-manque 78 92 |
|||
J9 tir-manque 34 290 |
|||
J2V tir-reussi 959 322 |
|||
J5 tir-manque 105 242 |
|||
J4 rebondOff 50 380 |
|||
J5 tir-manque 43 492 |
|||
J9 tir-reussi 67 255 |
|||
J2 lancer-reu 185 301 |
|||
J2 lancer-rat 189 297 |
|||
J2 passe 239 260 |
|||
J9 tir-reussi 41 263 |
|||
J6 tir-manque 80 294 |
|||
J10V tir-manque 938 321 |
|||
J7 tir-manque 176 183 |
|||
J7 tir-manque 41 79 |
|||
J10V lancer-rat 817 299 |
|||
J10V lancer-rat 818 300 |
|||
J2 tir-manque 223 179 |
|||
J10V tir-reussi 955 306 |
|||
J2 tir-reussi 974 269 |
|||
J4V lancer-rat 184 298 |
|||
J4V lancer-reu 185 290 |
|||
J5 tir-manque 923 303 |
|||
J3V rebondDef 900 330 |
|||
J10V tir-reussi 68 261 |
|||
J5 tir-manque 973 421 |
|||
J1 tir-reussi 848 183 |
|||
J10V tir-manque 188 220 |
|||
J8V tir-manque 53 264 |
|||
J2 tir-reussi 974 261 |
|||
J2 tir-manque 971 301 |
|||
J8V tir-manque 59 249 |
|||
J1 passe 800 220 |
|||
J2 tir-reussi 967 309 |
|||
J6V tir-reussi 59 254 |
|||
J2 tir-manque 926 305 |
|||
J10V tir-manque 69 254 |
|||
J3V tir-reussi 84 265 |
|||
J2 tir-reussi 749 378 |
|||
J5 tir-manque 905 261 |
|||
J8V rebondDef 880 331 |
|||
J10V tir-reussi 51 294 |
|||
J1 tir-manque 894 171 |
|||
J10V tir-reussi 59 258 |
|||
J1 tir-manque 961 183 |
|||
J1 rebondOff 920 300 |
|||
J7V tir-manque 59 326 |
|||
J2 tir-reussi 970 321 |
|||
J2 tir-manque 953 324 |
|||
J1 rebondOff 897 230 |
|||
J2 tir-reussi 967 318 |
|||
J10V tir-reussi 77 274 |
|||
J7 tir-manque 982 314 |
|||
J10V rebondDef 900 286 |
|||
J3V tir-reussi 51 249 |
|||
J3V lancer-rat 184 300 |
|||
J10V tir-reussi 53 255 |
|||
J7 tir-manque 974 326 |
|||
J4V perteBalle 750 423 |
|||
J1 tir-reussi 957 196 |
|||
J3V perteBalle 223 398 |
|||
J2 tir-reussi 977 256 |
|||
J5V tir-reussi 181 229 |
|||
J3V tir-reussi 135 438 |
|||
J7 tir-manque 919 262 |
|||
J8 tir-reussi 931 269 |
|||
J10V tir-reussi 82 258 |
|||
J1 tir-reussi 859 387 |
|||
J3V tir-reussi 114 247 |
|||
J1 tir-manque 893 66 |
|||
J4V lancer-reu 183 295 |
|||
J4V lancer-rat 185 294 |
|||
J1 tir-manque 884 46 |
|||
J2V perteBalle 280 420 |
|||
J8 tir-manque 972 267 |
|||
J8 rebondOff 980 310 |
|||
J8 tir-manque 952 312 |
|||
J2V rebondDef 900 284 |
|||
J9 tir-manque 936 292 |
|||
J4V tir-manque 43 270 |
|||
J7 tir-manque 810 299 |
|||
J1 passe 720 336 |
|||
J8 tir-reussi 928 292 |
|||
J8 lancer-rat 817 298 |
|||
J2 lancer-reu 815 297 |
|||
J2 lancer-rat 816 290 |
|||
J1 tir-reussi 829 201 |
|||
J10V tir-reussi 29 314 |
|||
J8 tir-reussi 937 252 |
|||
J5 tir-manque 956 259 |
|||
J1 rebondOff 900 317 |
|||
J9 tir-manque 947 265 |
|||
J9 lancer-rat 816 300 |
|||
J9 lancer-rat 819 302 |
|||
J8V tir-reussi 37 303 |
|||
J7 tir-reussi 929 265 |
|||
J7 tir-manque 871 172 |
|||
J2 rebondOff 920 286 |
|||
J9 tir-manque 963 261 |
|||
J10V tir-reussi 178 114 |
|||
J5 tir-manque 861 150 |
|||
J8V tir-reussi 49 423 |
|||
J1 lancer-rat 818 302 |
|||
J1 lancer-rat 817 297 |
|||
J9 lancer-rat 814 299 |
|||
J9 lancer-rat 818 301 |
|||
J9 tir-manque 941 306 |
|||
J10V rebondDef 920 282 |
|||
J10V lancer-reu 183 298 |
|||
J10V lancer-rat 182 300 |
|||
J5 tir-reussi 956 242 |
|||
J10V tir-reussi 28 326 |
|||
J10V tir-reussi 64 258 |
|||
J1 tir-manque 783 444 |
|||
J3V tir-manque 44 317 |
|||
J10V tir-reussi 61 278 |
Loading…
Reference in new issue