refactored from simpliest models

This commit is contained in:
2025-02-05 13:47:52 +01:00
parent c30d907847
commit 04aa65f2a8
17 changed files with 272 additions and 311 deletions

View File

@@ -1,4 +1,4 @@
from models.player import Player
from player import Player
class Match:
"""Get two players

73
models/models.py Normal file
View File

@@ -0,0 +1,73 @@
from datetime import datetime
class Tournament:
"""Chess tournament with player_list, keeps a list with all rounds"""
def __init__(self, name = None, players_list = None, location = "club", total_round = 4):
self.name = name
self.location = location
self.start = "start"
self.end = "end"
self.total_round = total_round
self.round_list = []
self.current_round = 1
self.players_list = players_list
self.description = "Pas de description"
class Player:
"""A Chess player"""
def __init__(self, name, lastname, birth_date, ine):
self.lastname = lastname
self.name = name
self.birth_date = birth_date
self.ine = ine
self.score = 0
def __str__(self):
"""Used in print"""
return self.ine
def __repr__(self):
return str(self)
class Match:
def __init__(self, player1 = None, player2 = None):
self.player1 = player1
self.player2 = player2
self.score1 = 0
self.score2 = 0
def __str__(self):
return self.player1.name + " " + self.player1.lastname + " / " + self.player2.name + " " + self.player2.lastname
def __repr__(self):
return str(self)
def create(self):
pass
def get_data(self):
return ([self.player1.ine, self.player1.score], [self.player2.ine, self.player2.score])
class Round:
def __init__(self, name = "Round 1"):
self.name = name
self.match_list = []
self.start_time = None
self.end_time = None
def turn_time(self):
return datetime.now().strftime("%d-%m-%Y, %H:%M:%S")
def create_match2(self):
pass
def start(self):
self.start_time = datetime.now().strftime("%d-%m-%Y, %H:%M:%S")
def stop(self):
self.end_time = datetime.now().strftime("%d-%m-%Y, %H:%M:%S")

View File

@@ -1,6 +1,6 @@
from collections import UserDict
import json
from models.player import Player
from player import Player
class Participants(UserDict):

View File

@@ -2,19 +2,29 @@ import json
from datetime import datetime
class Player:
"""Player from the club"""
def __init__(self, name, lastname, birthdate, gender, chess_id=None):
"""A chess player"""
def __init__(self, name, lastname, birthdate, ine=None, score = 0):
self.name = name
self.lastname = lastname
self.birthdate = birthdate
self.gender = gender
self.chess_id = chess_id
self.ine = ine
self.score = score
def __str__(self):
"""Used in print"""
# return f"{self.name} {self.lastname}, né le {self.birthdate}, genre: {self.gender}"
return self.chess_id
return self.ine
def __repr__(self):
return str(self)
joueur1 = Player("Bob", "Durand", "25/12/1995", "EF34924")
joueur2 = Player("Joe", "Bidjoba", "02/01/2001", "QS42622")
joueur3 = Player("Jeanine", "Mequesurton", "25/12/1995", "AB20022")
joueur4 = Player("Jean-Pierre", "Quiroul", "15/09/1992", "JF78739")
joueur5 = Player("René", "Nuphard", "25/12/1995", "ED22230")
joueur6 = Player("Sophie", "Fonfec", "24/05/1999", "EE49948")
liste = [joueur1, joueur2, joueur3, joueur4, joueur5, joueur6]
print(joueur1)

View File

@@ -1,5 +1,5 @@
from models.participant import Participants
from models.turn import Turn
from ChessTournament.models.participant import Participants
from ChessTournament.models.turn import Turn
class Tournament:

View File

@@ -1,13 +1,15 @@
from random import choice, shuffle
from models.participant import Participants
from models.match import Match
from datetime import datetime
from time import sleep
from participant import Participants
from match import Match
class Turn:
"""Round for tournament
has name, dict of participant (object)
"""
def __init__(self, participants, name="Round 1"):
def __init__(self, participants = None, name="Round 1"):
self.name = name
self.participants = participants
self.match_history = []
@@ -15,16 +17,16 @@ class Turn:
self.match_result = []
self.player_list = []
def ramble_player_list(self):
"""shuffle player's list"""
return shuffle(self.player_list)
def turn_time(self):
return(datetime.now())
def sort_players_by_score(self):
"""orders dict on value and returns sorted list"""
return sorted(self.participants.items(), key=lambda t: t[1])
def create_match(self):
print("Liste des joueurs: ", self.player_list)
j = 0
k = 0
for i in range(0, len(self.player_list), 2):
@@ -62,3 +64,11 @@ class Turn:
self.match_result.append(match.data)
return self.match_result
tour = Turn()
tour.turn_time()
sleep(3)
tour.turn_time()