⚔️ Jeu 2 : avec deux joueurs⚓︎
Astuce
Pour éviter la triche, on peut demander à Python de faire des vérifications.
Si on demande à un joueur un nombre de 1 à 3, on peut demander à Python de vérifier cela avec #py assert
. Si c'est bon, le programme continue normalement, sinon le programme s'arrête.
Exemple
nombre = int(input())
assert 1 <= nombre <= 3, "On avait dit de 1 à 3 !"
# suite...
Si le nombre
est bien de 1 à 3, le programme se poursuit.
Sinon, le programme s'arrête avec #py AssertionError
et le message On avait dit de 1 à 3 !
Vous devez créer un jeu avec un programme Python :
- Le programme affiche les règles du jeu.
- Le programme demande un nombre entre 10 et 30 : le nombre de barres au départ.
- À tour de rôle, les joueurs peuvent enlever 1, 2 ou 3 barres, mais toujours en laisser au moins une. Le programme demande combien chaque joueur souhaite en enlever.
- Celui qui ne peut plus jouer a perdu. Le programme affiche le vainqueur.
Exemple de partie :
Bienvenue au donjon.
Voici un jeu à deux joueurs, où :
- il faut enlever à tour de rôle 1, 2 ou 3 barres,
- il faut toujours en laisser au moins une.
Celui qui ne peut plus jouer a perdu.
Combien de barres au départ ? 12
===== C'est parti =====
IIIIIIIIIIII
Combien joueur 1 en enlève ? 3
IIIIIIIII
Combien joueur 2 en enlève ? 2
IIIIIII
Combien joueur 1 en enlève ? 3
IIII
Combien joueur 2 en enlève ? 3
II
Combien joueur 1 en enlève ? 1
I
Le joueur 2 ne peut plus jouer.
Le joueur 1 a gagné. Bravo !
Vous pouvez utiliser les fragments de code.
"""bksl-nlJeu : Des barres à enleverbksl-nlVotre nom : py-strpy-strpy-strpy-strbksl-nl"""bksl-nlbksl-nlprint("""bksl-nlBienvenue au donjon.bksl-nlbksl-nlVoici un jeu à deux joueurs, où :bksl-nl- il faut enlever à tour de rôle 1, 2 ou 3 barres,bksl-nl- il faut toujours en laisser au moins une.bksl-nlCelui qui ne peut plus jouer a perdu.bksl-nlbksl-nl""") # fin des règles affichéesbksl-nlbksl-nlbksl-nlnbpy-undbarres = int(input("Combien de barres au départ ? "))bksl-nlbksl-nl# RÉPÉTER...bksl-nlbksl-nl # afficher les barresbksl-nlbksl-nl # faire un tourbksl-nl print("Combien joueur", joueur, "en enlève ? ")bksl-nl coup = int(input())bksl-nl assert 1 <= coup <= 3, "On avait dit de 1 à 3 !"bksl-nl # vérifier aussi qu'il en restera au moins une avec assert !!!bksl-nlbksl-nlbksl-nlprint("Le joueur", perdant, "ne peut plus jouer.")bksl-nlprint("Le joueur", gagnant, "a gagné. Bravo !")bksl-nlbksl-nl
Jeu fini
Quand votre jeu est terminé,
- vous pouvez le télécharger
- vous pouvez l'envoyer à un ami ou votre professeur
- vous pourrez le recharger dans tout interpréteur Python
Bravo.