Jeu de domino
Résolu/Fermémamiemando Messages postés 33432 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 - 27 févr. 2023 à 16:22
- Jeu de domino
- 94 jeu - Télécharger - Puzzle & Réflexion
- Jeu zuma - Télécharger - Jeux vidéo
- Jeu 94 degrés - Télécharger - Divers Jeux
- Jeux de moto: jeu de course 3d - Télécharger - Course
- Logo jeu - Télécharger - Jeux vidéo
5 réponses
Salut, erreur classique.
Il faut comparer chaque valeur.
if self.valeur1 == 0 or self.valeur2 == 0: # ....
Ou encore :
if 0 in (self.valeur1, self.valeur2): # ....
A noter que tu peux simplifier la méthode EstDouble.
def EstDouble(self): return self.valeur1 == self.valeur2
Contrairement à d'autres, je ne peux pas colorer mon code. Je fais un test avec un bête copier-coller:
La fonction nbr_double_blanc() fait des choses en "double". On pourrait simplifier.
class Domino: def __init__(self, valeur1, valeur2): self.valeur1 = valeur1 self.valeur2 = valeur2 def EstDouble(self): return self.valeur1 == self.valeur2 def EstBlanc(self): return self.valeur1 == 0 or self.valeur2 == 0 def CalculPoints(self): returnself.valeur1 + self.valeur2 # def nbr_double_blanc(): double_1 = 0 blanc_1 = 0 double_2 = 0 blanc_2 = 0 for i, j in joueur_1: j1 = Domino(i, j) if j1.EstDouble(): double_1 += 1 if j1.EstBlanc(): blanc_1 += 1 j1.AfficheDomino() for i, j in joueur_2: j2 = Domino(i, j) if j2.EstDouble(): double_2 += 1 if j2.EstBlanc(): blanc_2 += 1 j2.AfficheDomino() return f"le joueur 1 a : {double_1} doubles et : {blanc_1} blancs\nle joueur 2 a : {double_2} doubles et : {blanc_2} blancs"
Bonjour,
Même en utilisant le forum sans être inscrit, on peut poster du code, c'est un forum informatique ;-)
il faut utiliser la dernière icône de la barre d'entête de l'éditeur de message < >
class Domino: def __init__(self, valeur1, valeur2): self.valeur1 = valeur1 self.valeur2 = valeur2 def EstDouble(self): return self.valeur1 == self.valeur2 def EstBlanc(self): return self.valeur1 == 0 or self.valeur2 == 0 def CalculPoints(self): returnself.valeur1 + self.valeur2
Le premier avantage à s'inscrire, je m'en rappelle très bien, c'est de pouvoir retrouver simplement toutes les discussions où on est intervenu.
Cordialement
jee pee
24 févr. 2023 à 03:44
J'approuve ce message, cela va m'éviter d'avoir à remettre en forme les messages de Pierrot :-) A moins que ce dernier n'utilise un navigateur en mode texte (aaaah w3m... :p)
>> il faut utiliser la dernière icône de la barre d'entête de l'éditeur de message < >
J'ai déjà précisé que j'étais aveugle et que j'utilisais une synthèse vocale.
Elle ne me donne pas accès à cette barre d'entête en mode édition.
24 févr. 2023 à 04:02
Tiens d'ailleurs, question par curiosité, comment ton logiciel fait-il pour comprendre comment indenter ton code ? C'est toi qui lui dictes ? Et quand tu découvres le code de quelqu'un d'autre, comment fais-tu pour le comprendre sachant que l'indentation peut changer le sens du code en python ?
Si je fais Alt+Sup (supprime), ma synthèse me donne le numéro de colonne et de ligne.
Oui, c'est un peu pénible, mais je n'ai pas le choix.
J'ai bien Astyle, mais il ne marche pas en Python.
J'ai déjà écrit en Python un programme d'indentation simple pour C et C++
24 févr. 2023 à 13:14
Intéressant, merci pour ces précisions. Je me demandais deux choses :
- Comment fais-tu pour envoyer un message (qui nécessite normalement de cliquer sur valider / commenter) ; et pourquoi ce mécanisme ne te permet pas de cliquer sur un autre bouton du forum (notamment ceux qui permettent de mettre en forme tes message) ?
- Si le forum mettait à disposition des balises de code (comme à l'époque), un peu comme sur stackoverflow (qui utilise la syntaxe markdown), j'imagine que ça deviendrait pour toi de mettre en forme ton travail ? Si oui, souhaiterais-tu que je remonte ce besoin aux personnes qui s'occupent du forum ?
- Pour astyle, ça ne me surprend pas que ça n'existe pas en python puisque comme je le disais, l'indentation peut changer le sens. En conséquence, si l'indentation est décidable pour des langages qui n'en dépendent pas (par exemple C, C++), ce n'est donc plus le cas pour Python.
- Dans l'extrait de code du message initial, le code n'était pas indenté et je l'ai ré-indenté moi-même. La syntaxe et les variables locales m'ont permis de savoir comment l'indenter, mais par moment il m'a fallu me demander ce que PythonNoob avait vraisemblablement codé.
- Typiquement, la ligne 13 (qui sert à l'affichage du domino) aurait très bien pu (syntaxiquement parlant) être en dehors de la boucle for, et ça, astyle ne peut pas le décider.
Merci pour tes précisions
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe ne ppeux pas expliquer exactement comment ça se passe.
Mais les boutons en "dehors" de la zone d'édition me sont accessibles alors que ceux qui sont associés à la zone d'édition ne le sont pas.
J'ai toujours associé cela à l'utilisation de la souris, mais je ne peux pas le confirmer.
Est-ce que la barre d'entête requière l'utilisation de la souris?
Or, ma synthèse vocale ne me permet pas d'utiliser la souris.
Au sujet du second point, le site ZesteDeSavoir fonctionne directement avec l'éditeur Markdown.
Je ne connais pas parfaitement Markdown, mais je peux faire les choses suivantes:
+ colorer mon code (Python, C ou C++)
+ Faire des citations.
+ faire des listes numérotées ou non.
+ Faire de l'italique et du caractère gras.
+ Inclure correctement un lien genre html.
Je connais un peu le html et le css (le css est peu utile pour moi).
J'avais commencé à écrire un petit programme d'indentation pour Python, mais il n'est pas terminé. J'écrirais les choses comme suit:
if ... :#1
bla bla bla
:#1
qui donnerait:
if ... :
bla bla bla
La syntaxe :#numéro serait comme un {
et le :#numéro en colonne 1 serait comme le }
Je vérifierais que les niveaux sont jumelés correctement.
Plus de 9 niveaux d'indentation serait absurde. C'est plus clair avec des fonctions.
27 févr. 2023 à 16:22
Merci pour ces précisions. Concernant les boutons de mises en forme, tu peux les utiliser à la souris ou avec les raccourcis clavier :
- ctrl+B pour le gras ;
- ctrl+I pour l'italique ;
- ctrl+U pour le souligné ;
- ctrl+K ou ctrl+L pour faire un lien.
Il n'y a malheureusement pas de lien pour les autres boutons (puces, sections de code, images, tableau, séparateur, citations).