refactored from simpliest models
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from models.player import Player
|
||||
from player import Player
|
||||
|
||||
class Match:
|
||||
"""Get two players
|
||||
|
||||
73
models/models.py
Normal file
73
models/models.py
Normal 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")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from collections import UserDict
|
||||
import json
|
||||
from models.player import Player
|
||||
from player import Player
|
||||
|
||||
|
||||
class Participants(UserDict):
|
||||
|
||||
@@ -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)
|
||||
@@ -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:
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user