From f4f0518847bc8aa80ec2c99bb3f061e81a5da593 Mon Sep 17 00:00:00 2001 From: Mattheo Date: Mon, 12 Dec 2022 16:45:10 +0100 Subject: [PATCH] =?UTF-8?q?s=C3=A9paration=20du=20jeu=20est=20des=20class?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.txt | 39 +++++++++++++++++++++++---------------- bataille.py | 10 ++++++++++ main.py | 4 ++++ 3 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 main.py diff --git a/README.txt b/README.txt index f8e03b5..30bd045 100644 --- a/README.txt +++ b/README.txt @@ -2,23 +2,30 @@ Votre mission, si vous l’acceptez (et même si vous ne l’acceptez pas), est utilisant une structure de donnée adaptée, et avec une interface graphique. Vous aurez pour cela 6 heures (les trois séances jusqu’aux vacances de Noël). Plus précisément, on attend au minimum : -• Une classe Carte ayant -– deux attributs valeur et couleur -– une méthode compare qui prend en paramètre une autre carte other, et qui renvoie -1 si la valeur de self est supérieure à la valeur de other ; -−1 si la valeur de other est supérieure à la valeur de self ; -0 si les deux valeurs sont les mêmes. -• Une classe Jeux ayant -– Un attribut paquet contenant toutes les cartes du jeux. Le nombre de cartes (32 ou 54) sera un paramètre -du constructeur. Ce paquet sera créé puis mélangé dans le constructeur. -– Une méthode distribue qui renvoie deux Files contenant la moitié des cartes du paquet chacune. On -utilisera la classe File du cours (disponible sur Moodle). -À chaque tour de jeu, chaque joueur joue la carte supérieure de son paquet. Le joueur ayant la carte de plus -grande valeur récupère les deux cartes et les remets sous son paquet. -En cas d’égalité, chaque joueur ajoute une carte à l’envers, puis une autre carte à l’endroit, et on compare à -nouveau les valeurs. En cas de nouvelle égalité, on réitère le processus. Le gagnant remporte l’ensemble des -cartes jouées. + + + • Une classe Carte ayant + – deux attributs valeur et couleur + – une méthode compare qui prend en paramètre une autre carte other, et qui renvoie: 1 si la valeur de self est supérieure à la valeur de other ; + −1 si la valeur de other est supérieure à la valeur de self ; + 0 si les deux valeurs sont les mêmes. + + + • Une classe Jeux ayant + – Un attribut paquet contenant toutes les cartes du jeux. Le nombre de cartes (32 ou 52) sera un paramètre du constructeur. Ce paquet sera créé puis mélangé dans le constructeur. + – Une méthode distribue qui renvoie deux Files contenant la moitié des cartes du paquet chacune. On utilisera la classe File du cours (disponible sur Moodle). + + +À chaque tour de jeu, chaque joueur joue la carte supérieure de son paquet. Le joueur ayant la carte de plus grande valeur récupère les deux cartes et les remets sous son paquet. + +En cas d’égalité, chaque joueur ajoute une carte à l’envers, puis une autre carte à l’endroit, et on compare à nouveau les valeurs. En cas de nouvelle égalité, on réitère le processus. +Le gagnant remporte l’ensemble des cartes jouées. + Si un joueur ne peut plus jouer car il n’a plus de carte, il a perdu la partie. + + + + Concernant l’interface graphique, elle sera réalisée en Tkinter, et permettra de faire une partie contre l’or- dinateur. Il n’est pas nécessaire d’afficher les cartes à un format graphique (même si ce n’est bien sûr pas interdit) : on pourra se contenter de textes de la forme « 3 de carreau » ou « roi de pique ». \ No newline at end of file diff --git a/bataille.py b/bataille.py index 9ad2619..93b9b46 100644 --- a/bataille.py +++ b/bataille.py @@ -1,3 +1,7 @@ +import File_lst from File +from random import * + + class Carte: def __init__(self, valeur, couleur): self.valeur = valeur @@ -14,4 +18,10 @@ class Carte: class Jeux: def __init__(self, paquet, nbcartes): self.paquet = paquet + +class Joueur: + def __init__(self, paquet_joueur, nom): + self.paquet_joueur = paquet_joueur + self.nom = nom + \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..970dce3 --- /dev/null +++ b/main.py @@ -0,0 +1,4 @@ +def bataille(): + tour = 1 + if tour = 1: + tour = 2 \ No newline at end of file