|
|
|
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()
|