adjust match issue, add total score to tournament display

This commit is contained in:
yann 2025-02-13 15:44:04 +01:00
parent d115126afb
commit 29a56eceaa
3 changed files with 48 additions and 32 deletions

View File

@ -110,6 +110,7 @@ class Application:
def run_tournament(self):
shuffle(self.tournament.players_list)
self.view.display_players(self.tournament.players_list)
for each_round in range(1, self.tournament.total_round + 1):
self.tournament.current_round += 1
self.round = Round()
@ -119,6 +120,7 @@ class Application:
self.round.start_time = self.round.get_time()
# create matches TODO : check from history
self.round.match_list = self.create_match()
self.match_history.add(self.round.match_list)
# display matches
self.view.display_matches(self.round.match_list)
self.view.prompt_for_scores()
@ -156,9 +158,15 @@ class Application:
for i in range(0, len(self.tournament.players_list), 2):
j += 1
match = Match()
match.player1 = self.tournament.players_list[i]
match.player2 = self.tournament.players_list[i+1]
match_list.append(match)
try:
match.player1 = self.tournament.players_list[i]
match.player2 = self.tournament.players_list[i+1]
if self.match_history.check(match):
# match.player2 = self.tournament.players_list[i+2]
print("deja joue")
match_list.append(match)
except IndexError:
pass
return match_list
def scores(self, match_list) -> list:

View File

@ -22,6 +22,7 @@ class Tournament:
self.round_list = []
self.current_round = 0
self.players_list = players_list
self.scores = []
self.description = "Pas de description"
def __str__(self):
@ -67,7 +68,8 @@ class Player:
'prénom': self.name,
'nom': self.lastname,
'date de naissance': self.birthdate,
'ine': self.ine
'ine': self.ine,
'score': self.score
}
return player_dict

View File

@ -34,23 +34,6 @@ class View:
input(f"Prêt à lancer le {round.name} ? (y)")
return True
def display_matches(self, match_list):
print("Liste des matchs : ")
for match in match_list:
print(match.player1.name, match.player1.lastname.upper(),
"contre", match.player2.name, match.player2.lastname.upper(),
"(", match, ")"
)
def display_round_info(self, round):
print("\n -> ", round)
def display_scores(self, players_list):
print("\nLes scores sont :")
print("-----------------")
for i in players_list:
print(i.ine, i.name, i.lastname, ":", i.score)
def prompt_for_new_player(self) -> dict:
print("Enregistrez un nouveau joueur :\n")
lastname = input("Nom de famille ? : ")
@ -77,6 +60,16 @@ class View:
tournament_details['total_round'] = int(total_round)
return tournament_details
def prompt_tournament_to_display(self, tournament_list_to_display):
i = 0
temp_list = []
for tournament in tournament_list_to_display:
i += 1
print(i, ".", tournament)
temp_list.append(tournament)
num = int(input("Numéro du tournoi à afficher ? "))
return temp_list[num - 1]
def input_scores(self, match, count):
print("Scores pour le match", count, " :")
while True:
@ -91,6 +84,23 @@ class View:
except ValueError:
print("Veuillez entrer un chiffre")
def display_matches(self, match_list):
print("Liste des matchs : ")
for match in match_list:
print(match.player1.name, match.player1.lastname.upper(),
"contre", match.player2.name, match.player2.lastname.upper(),
"(", match, ")"
)
def display_round_info(self, round):
print("\n -> ", round)
def display_scores(self, players_list):
print("\nLes scores sont :")
print("-----------------")
for i in players_list:
print(i.ine, ':', i.name, i.lastname, i.score)
def display_players(self, player_list_to_display):
print("Liste des joueurs :")
for player in player_list_to_display:
@ -103,23 +113,16 @@ class View:
"le",
tournament_list_to_display[tournament]['start'])
def prompt_tournament_to_display(self, tournament_list_to_display):
i = 0
temp_list = []
for tournament in tournament_list_to_display:
i += 1
print(i, ".", tournament)
temp_list.append(tournament)
num = int(input("Numéro du tournoi à afficher ? "))
return temp_list[num - 1]
def display_tournament_detail(self, tournament_to_display):
i = tournament_to_display
print("Nom du tournoi : ", i['name'])
print("Lieu : ", i['location'])
print("Description : ", i['description'])
print("Le tournoi a débuté le : ", i['start'])
print("Et s'est terminé le : ", i['end'])
print("Les participants étaient : \n", i['players'])
print("\nLes participants étaient : ")
for j in i['players'] :
print(j['ine'], "-", j['prénom'], str.upper(j['nom']))
print("\nLes matches et leurs résultats étaient :")
for j in i['rounds']:
print(j['Nom'])
@ -129,6 +132,9 @@ class View:
for k in j['Matches']:
print(k)
print()
print("Les scores finaux :")
for j in i['players']:
print(j['prénom'], str.upper(j['nom']), ":", j['score'])
def display_error(self):
print("Erreur de saisie, recommencez;")