Problème programme python jeu de la bataille
Résolu/Fermé
Sunny
-
Modifié le 14 déc. 2021 à 15:03
Whismeril Messages postés 18991 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 mars 2024 - 14 déc. 2021 à 16:30
Whismeril Messages postés 18991 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 mars 2024 - 14 déc. 2021 à 16:30
A voir également:
- Jeu bataille python
- 94 jeu - Télécharger - Puzzle & Réflexion
- Jeu zuma - Télécharger - Jeux vidéo
- Citizen code python - Guide
- Jeu shazam comment scanner ✓ - Forum Jeux vidéos smartphones
- Jeu 94 degrés - Télécharger - Divers Jeux
2 réponses
Whismeril
Messages postés
18991
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 mars 2024
922
Modifié le 14 déc. 2021 à 15:03
Modifié le 14 déc. 2021 à 15:03
Bonsoir
tout d'abord, merci à KX d'avoir ajouter les balises de code, pour Python c'est indispensable sinon on ne voit pas l'indentation. Voir ce lien pour tes prochains messages.
Le code que tu présentes ne dit pas qui a gagné, c'est pourtant la finalité de ton exercice.
D'ailleurs il se termine par un
Pour le code de la donne :
Une seule boucle suffit
Une seule boucle => temps d'exécution réduit.
Là
tu devrais mettre des print un peu partout pour analyser ce qui se passe. Notamment à
tout d'abord, merci à KX d'avoir ajouter les balises de code, pour Python c'est indispensable sinon on ne voit pas l'indentation. Voir ce lien pour tes prochains messages.
Le code que tu présentes ne dit pas qui a gagné, c'est pourtant la finalité de ton exercice.
D'ailleurs il se termine par un
return, comme s'il s'agissait d'une fonction, or il n'y a pas de début de fonction.
Pour le code de la donne :
for i in range(0, 52, 2): joueur1.append(jeu[i]) for i in range(1, 52, 2): joueur2.append(jeu[i])
Une seule boucle suffit
for i in range(0,52,2): joueur1.append(jeu[i]) joueur2.append(jeu[i + 1])
Une seule boucle => temps d'exécution réduit.
Là
for i in renversed(range(1, len(0)): cartejoueur1 = joueur1[i] cartejoueur2 = joueur2[i] if cartejoueur1[1] > cartejoueur2[1]: comptejoueur1 += 2 if cartejoueur1[1] < cartejoueur2[1]: comptejoueur2 += 2 if cartejoueur1[1] == cartejoueur2[1]: pioche += 2
tu devrais mettre des print un peu partout pour analyser ce qui se passe. Notamment à
len(0).
mamiemando
Messages postés
33030
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 mars 2024
7 736
14 déc. 2021 à 15:55
14 déc. 2021 à 15:55
Bonjour,
Il y a quelques petites erreurs
Quelques remarques supplémentaires :
Bonne chances
Il y a quelques petites erreurs
- attention à l'indentation (j'ai corrigé ton message) ; de manière générale, essaye de suivre les conventions PEP8.
- l12: il faut appeler la fonction, sinon jeu contient un pointeur vers la fonction, et non le résultat qu'elle retourne :
jeu = jeuCartes()
-
renversed
n'est pas défini ; voulais-tu utiliserreverse
? Plus simplement, tu passer àrange
mettre un pas négatif. D'un point de vue "mathématique", il n'y a pas vraiment d'intérêt à renverser l'ordre des pioches, ça ne change rien en termes de statistiques.
Quelques remarques supplémentaires :
- Il n'y a pas vraiment d'utilité à stocker des couples pour les noms des cartes. Tu peux représenter chaque carte par un couple (si tu veux vraiment garder la notion de couleur), voire ne pas les "colorer" car ça n'a pas d'importance dans le jeu de la bataille (tu aurais donc 4 cartes de hauteur 1 à 13 inclues).
- La règle de la "bataille" semble un peu modifiée, après c'est peut-être que les règles que je connais sont un peu familiales. Pour moi, quand il y a égalité, on met par dessus les carte ex-æquo une carte face cachée, puis on relance une bataille entre les deux cartes suivantes, et on répète cette procédure tant qu'il n'y a pas de vainqueur. Si un joueur est à court de carte, celui qui en a le plus gagne. Si les deux joueurs ont épuisés toutes leurs cartes et restent parfaitement ex-æquo, il y a égalité parfaite. J'imagine que la règle a été modifiée pour simplifier l'exercice.
Bonne chances
Whismeril
Messages postés
18991
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 mars 2024
922
14 déc. 2021 à 16:30
14 déc. 2021 à 16:30
Bonjour
J’avais pas fait gaffe pour le pointeur… bien vu.
Concernant les règles, je pense que le prof a simplifié pour l’exercice.
J’avais pas fait gaffe pour le pointeur… bien vu.
Concernant les règles, je pense que le prof a simplifié pour l’exercice.