Problème programme python jeu de la bataille
Résolu
Sunny
-
Utilisateur anonyme -
Utilisateur anonyme -
A voir également:
- Jeu bataille python
- 94 jeu - Télécharger - Puzzle & Réflexion
- Citizen code python avis - Accueil - Outils
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Logo jeu - Télécharger - Jeux vidéo
2 réponses
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).
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