You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.8 KiB

import math
def reussite(joueur, action):
nbtentatives = 0
nbreussites = 0
with open('stats.txt','r') as file:
for line in file:
elements = line.split(' ')
resultat = elements[1].split('-')
if elements[0] == joueur and resultat[0] == action:
nbtentatives += 1
if 'reussi' in elements[1] or 'reu' in elements[1]:
nbreussites += 1
return nbtentatives, nbreussites
def points(x, y):
""" fonction points prenant en paramètres deux entiers x et y (les coordonnées du point où a eu
lieu l’action) et qui renvoie l’entier 2 si le point est à l’intérieur d’un des demi-cercles et 3 sinon"""
# Calcule la distance entre le tire et le demi-cercle
dist1 = math.sqrt(x**2 + (y-300)**2)
dist2 = math.sqrt((x-1000)**2 + (y-300)**2)
# Si il est dans le cerle renvoie 2 sinon 3
if dist1 < 250 or dist2 < 250 :
return 2
else:
return 3
def totalPoints(joueur):
"""Fonction totalPoints qui prend en paramètre une chaîne de caractère joueur (le nom du
joueur) et qui renvoie le nombre total de points marqués par ce joueur"""
total = 0
with open("stats.txt", "r") as file:
for line in file:
data = line.strip().split(" ")
if data[0] == joueur:
if data[1] == "tir-reussi" or data[1] == "lancer-reu":
x, y = int(data[2]), int(data[3]) #Coordonnées du tir
total += points(x, y) * int(data[4]) #mise a jour du total de point
return total
def main():
print(reussite("J6V", "tir"))
print(points(0, 300))
print(totalPoints("J6V"))
print(reussite("J6", "tir"))
print(points(0, 300))
print(totalPoints("J6"))
main()