- Informations générales
- Liste pré-requis
- Création environnement
- Activation environnement
- Installation des librairies
- Exécution de l'application
- Utilisation de l'application
- Capture d'écran de l'interface
- Rapport avec flake8
- Développement
- Auteur et contact
-
Projet de création d'un programme, dont la structure et l'utilisation et la gestion d'un tournoi d'échecs.
Le programme utilise le système suisse, la procédure d'appariement et d'organisation du programme respect ce même système.
le premier tour (appelé "rondes" aux échecs) est basé sur le classement elo des joueurs, ensuite entre le premier et le dernier tour la création d'appariement des paires est faite de façon aléatoire et non-répétitives.
-
Pour le dernier, tour l'appariement est fait sur le score s'ils sont égaux, alors l'appariement est fait par le classement elo.
-
Par conséquent, de cette manière les joueurs les plus forts se rencontrent pour le tour final, il en est de même pour les joueurs les plus faibles. Ainsi, avec ce système, chaque joueur participe au même nombre de matchs.
-
Le programme est fonctionnel sur un format de 4 ou 8 joueurs avec un minimum de 4 tours par défaut.
Il est architecturé et construit sur le design patternMVC
(Modèles - Vues - Controlleurs), l'utilisation de la librairieTinyDB
est nécessaire pour sauvegarder les joueurs et les tournois.
Retour en haut 🡅
Application conçue avec les technologies suivantes :
-
Python v3.7.2 choisissez la version adaptée a votre ordinateur et système.
-
Python est disponible à l'adresse suivante ➔ https://www.python.org/downloads/
-
TinyDB v4.7.1
-
Windows 7 professionnel SP1
-
Les scripts Python s'exécute depuis un terminal.
- Pour ouvrir un terminal sur Windows, pressez la touche
windows + r
et entrezcmd
. - Sur Mac, pressez la touche
command + espace
et entrezterminal
. - Sur Linux, vous pouvez ouviri un terminal en pressant les touches
Ctrl + Alt + T
.
- Pour ouvrir un terminal sur Windows, pressez la touche
Retour en haut 🡅
- Installer une version de Python compatible pour votre ordinateur.
- Une fois installer ouvrer le cmd (terminal) placer vous dans le dossier principale (dossier racine).
Taper dans votre terminal :
$ python -m venv env
Note : Un répertoire appelé env doit être créé.
Retour en haut 🡅
- Placez-vous avec le terminal dans le dossier principale (dossier racine).
Pour activer l'environnement virtuel créé, il vous suffit de taper dans votre terminal :
$ env\Scripts\activate.bat
- Ce qui ajoutera à chaque ligne de commande de votre terminal
(env)
.
Pour désactiver l'environnement virtuel, il suffit de taper dans votre terminal :
$ deactivate
Retour en haut 🡅
- Le programme utilise plusieurs librairies externes et modules de Python, qui sont répertoriés dans le fichier
requirements.txt
. - Placez-vous dans le dossier où se trouve le fichier
requirements.txt
avec le terminal, l'environnement virtuel doit être activé. - Pour faire fonctionner le programme, il vous faudra installer les librairies requises.
- À l'aide du fichiers
requirements.txt
mis à disposition.
Taper dans votre terminal la commande :
$ pip install -r requirements.txt
Retour en haut 🡅
- Pour exécuter le programme placez vous dans le dossier principale (dossier racine) avec le terminal.
Note : L'environnement virtuel doit être activé.
Taper dans votre terminal la commande :
$ python main.py
Retour en haut 🡅
-
Créer un tournoi
- Le programme permet de créer, gérer et sauvegarder des tournois d'échecs.
- Pendant le tournoi, vous serez invité à saisir les résultats à la fin de chaque tour.
- le classement est accessible après chaque tour ainsi que sa mise à jour si nécessaire.
- A la fin du tournoi une mise à jour manuel ou automatique peut-être faite.
-
Créer des joueurs
- Création de joueurs que vous pourrez charger pour un tournoi.
- Création de joueurs que vous pourrez charger pour un tournoi.
-
Charger un tournoi
- Charge le tournoi sélectionné à partir de la base de données.
- Charge le tournoi sélectionné à partir de la base de données.
-
Voir des rapports
- Dans cette section, vous pouvez consulter différents rapports.
- Consulter le classement et les informations sur les joueurs.
- Consulter les détails d'un tournoi : classements des joueurs, les tours et les matchs de chaque tournoi.
Retour en haut 🡅
. Capture d'écran du menu principal.
. Capture d'écran chargement de tournoi.
. Capture d'écran détails de tournoi.
. Capture d'écran rapport d'un tour et d'un match.
. Capture d'écran détails d'un match.
. Capture d'écran détails d'une mise à jour.
Retour en haut 🡅
- Le repository contient un rapport flake8, qui n'affiche aucune erreur.
<div id="all-good">
<span class="count sev-4">
<span class="tick">✓</span>
</span>
<h2>All good!</h2>
<p>No flake8 errors found in 16 files scanned.</p>
</div>
- Il est possible d'en générer un nouveau en installant le module
flake8
s'il n'est pas installé.
Installation de flake8 en entrant dans votre terminal la commande :
$ pip intall flake8-html
- Créer un fichier
.flake8
si il n'existe pas.
Ecrire le texte suivant dedans :
[flake8]
exclude = .git, env, __pycache__, .gitignore
max-line-length = 119
ignore = F841
filename = main_menu.py
Tapez dans votre terminal la commande :
$ flake8 --format=html --htmldir=flake-report
- Un rapport sera généré dans le dossier
flake-report
.
Retour en haut 🡅
- Une interface avec Tkinter.
- Une fonction pour voir le temps total d'un tournoi.
- Une fonction générant un fichier csv des tournois et des joueurs.
Retour en haut 🡅
Pour toute information supplémentaire, vous pouvez me contacter.
Bubhux: bubhuxpaindepice@gmail.com