Programmation jeu de carte

Résolu
AnaisArnoo Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 AnaisArnoo -
Bonjour je suis une élève de terminale et j’ai pour projet d’isn le jeu du uno en programmation Python. Cependant je ne visualise pas comment faire pour que la carte du talon change, je m’explique, si c’est un joker il faut en piocher une nouvelle afin de pouvoir commencer le jeu. Pouvez vous m’aider à donner cette condition à la première carte du talon car cela bloque mon jeu pour le moment. Merci d’avance pour votre aide
A voir également:

1 réponse

Utilisateur anonyme
 
Tout dépend de ta manière de voir les choses. Tu peux insérer le code que tu as déjà réalisé pour que nous ayons une idée de ta pensée. Pour cela, utilise le bouton <> dans le menu d'édition de message puis choisit Python. Enfin colle ton code entre les balises.

Une idée serait de différencier les cartes normales des jokers par une simple variable : estJoker (qui vaut vrai ou faux selon la carte). Si la première carte piochée pour le début du jeu est un joker (estJoker == true) alors remettre la carte dans le packet, mélanger et refaire.
0
AnaisArnoo Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from random import shuffle


def initialisation():

cartes=["+4","+4","invV","invV","+2V","+2V","9V","8V","8V","7V","7V","6V","4V","4V","3V","3V","2V
","2V","4c","4c","invJ","invJ","+2J","+2J","9J","8J","8J","7J","7J","6J","4J","4J","3J","3J","2J","2J","sto
pV","stopV","9V","+4","+4","invB","6V","5V","5V","9B","8B","8B","1V","1V","0V","4B","4B","3B","st
opJ","stopJ","9J","4c","4c","invR","6J","5J","5J","1J","1J","0J","9R","8R","8R","4R","4R","3R","invB","
+2B","+2B","stopB","stopB","9B","7B","7B","6B","6B","5B","5B","3B","2B","2B","1B","1B","0B","invR
","+2R","+2R","stopR","stopR","9R","7R","7R","6R","6R","5R","5R","3R","2R","2R","1R","1R","0R"]
shuffle(cartes)
carte_joueur_1=[]
carte_joueur_2=[]
for i in range (7):
carte_joueur_1.append(cartes.pop())
carte_joueur_2.append(cartes.pop())
talon=[cartes.pop()]
return cartes,carte_joueur_1,carte_joueur_2,talon


def coup_possible (carte_jouee):
if carte_jouee[1]==talon[-1][1] or carte_jouee[0]==talon[-1][0]:
talon.append(carte_jouee)
carte_joueur_1.remove(carte_jouee)


print("tu peux jouer")
else:
print("tu peux pas")
# Distribution des cartes
cartes,carte_joueur_1,carte_joueur_2,talon = initialisation()
print(talon)
print(carte_joueur_1)
carte_jouee = input("Que jouez-vous ?")
coup_possible(carte_jouee)

Voici mon code, c’est un prototype afin d’en comprendre comment marchera le vrai code mais je pense que vous comprendrez vers où je souhaite aller, merci pour votre réponse
0
Utilisateur anonyme
 
Tu stockes le résultat de cartes.pop() dans une variable. Tu test cette variable pour savoir si :
- la longueur de la chaine vaut 2 exactement
- le signe + n'est pas dans la chaine
Si c'est le cas, alors le talon est valide donc tu peux l'ajoute dans le tableau talon. Sinon, tu ajoutes la carte dans son packet, tu mélanges et tu recommences.
0
AnaisArnoo
 
D’accord merci beaucoup j’ai réussi à résoudre mon problème
0