Dans cette section, vous trouverez des ressources sur les cours que j'enseigne à savoir de la documentation, du code, des vidéos etc. Dès que je trouve quelque chose d'intéressant à partager, je le mettrai à disposition ici pour mes étudiants.
##Auteur : Enseignant
##École : Collège Marie Victorin
##Session : Automne 2023
##Titre du cours : Introduction à la programmation avec Python
##Titre du programme : roche_papier_ciseau.py
##Courte description du programme : Programme qui simule le jeu roche-papier-ciseau.
##Version : 1.0
##Date : 00/00/2023
##Langage et version : Python - 3.11
##Règles de fonctionnement du programme :
##
#*************************************************
# Programme qui simule le jeu roche-papier-ciseau
# Les boucles
# Les cas multiples
# Opérateurs logiques
#*************************************************
# Variables chaines de caractères
strTitre = "\n--- Bienvenue au jeu roche - papier - ciseau ---"
strSouligne = '-' * len(strTitre)
strPrompt = '\nCombien de manches voulez-vous jouer ? : '
strMsgErreurManche = 'Erreur, le nombre de manches est erroné'
strJoueur1 = 'Joueur 1'
strJoueur2 = 'Joueur 2'
strMsgJoueur = '{}, quel est votre choix ?[r/p/c] : '
strMsgScore = '\n{} a gagné cette manche! Score : {}-{}'
strMsgMancheNulle = 'Manche nulle...'
strFinProgramme = 'Fin de programme'
strManchesRestantes = 'Il reste {} manches à jouer'
strChoixJoueur1 = strChoixJoueur2 = ''
strRoche = 'r'
strPapier = 'p'
strCiseau = 'c'
strErreurPariteManche = 'Choisissez un nombre impair'
strMsgFelicitations = '\n{} a gagné le match! Félicitations.'
strScoreFinal = 'Score final : {}-{}'
strChoixErrone = 'Erreur d\'entrée, veuillez recommencer.'
# Variables booléennes
boolDebut = False
# Variables numériques
intNombreManches = 0
intScoreJoueur1 = intScoreJoueur2 = 0
intMancheAJouer = intCompteur = 0
# Début du programme
# ==================
# Affichage du titre du programme
print(strSouligne)
print(strTitre)
print(strSouligne)
while boolDebut != True:
# Demande du nombre de manches à jouer
intNombreManches = int(input(strPrompt))
if intNombreManches < 0:
print(strMsgErreurManche)
else:
#Sortie du programme lorsque le nombre de manches est nul
if intNombreManches == 0:
boolDebut = True
print(strFinProgramme)
else:
# Afin qu'il puisse avoir un gagnant, le nombre de manche
# doit être impair
# S'il est pair, on le retape
# On aurait pu incrémenter d'une unité pour rendre le jeu
# jouable
if intNombreManches % 2 == 0:
#print(strErreurPariteManche)
intNombreManches = intNombreManches + 1
intMancheAJouer = intNombreManches
else:
# Au début, le nombre de manche à jour est le nombre entré par l'utilisateur
intMancheAJouer = intNombreManches
# On joue tant le compteur est inérieur au nombre de manches
# ou que le nombre de manche restantes est nul
while (intCompteur < intNombreManches) or intMancheAJouer > 0:
# Affichage du nombre de manches à jouer
print(strManchesRestantes.format(intMancheAJouer))
# Le premier jouer s'élance
strChoixJoueur1 = input(strMsgJoueur.format(strJoueur1))
# Validation du choix du joueur 1
if strChoixJoueur1 != strRoche and strChoixJoueur1 != strPapier and strChoixJoueur1 != strCiseau:
intNombreManches = 0
print(strChoixErrone)
else:
strChoixJoueur2 = input(strMsgJoueur.format(strJoueur2))
# Validation du choix du joueur 2
if strChoixJoueur2 != strRoche and strChoixJoueur2 != strPapier and strChoixJoueur2 != strCiseau:
intNombreManches = 0
print(strChoixErrone)
else:
if strChoixJoueur1 == strChoixJoueur2:
print(strMsgMancheNulle)
else:
if strChoixJoueur1 == strRoche and strChoixJoueur2 == strCiseau:
intScoreJoueur1 = intScoreJoueur1 + 1
print(strMsgScore.format(strJoueur1, intScoreJoueur1, intScoreJoueur2))
elif strChoixJoueur1 == strRoche and strChoixJoueur2 == strPapier:
intScoreJoueur2 = intScoreJoueur2 + 1
print(strMsgScore.format(strJoueur2, intScoreJoueur2, intScoreJoueur1))
elif strChoixJoueur1 == strPapier and strChoixJoueur2 == strCiseau:
intScoreJoueur2 = intScoreJoueur2 + 1
print(strMsgScore.format(strJoueur2, intScoreJoueur2, intScoreJoueur1))
elif strChoixJoueur1 == strPapier and strChoixJoueur2 == strRoche:
intScoreJoueur1 = intScoreJoueur1 + 1
print(strMsgScore.format(strJoueur1, intScoreJoueur1, intScoreJoueur2))
elif strChoixJoueur1 == strCiseau and strChoixJoueur2 == strRoche:
intScoreJoueur2 = intScoreJoueur2 + 1
print(strMsgScore.format(strJoueur2, intScoreJoueur2, intScoreJoueur1))
elif strChoixJoueur1 == strCiseau and strChoixJoueur2 == strPapier:
intScoreJoueur1 = intScoreJoueur1 + 1
print(strMsgScore.format(strJoueur1, intScoreJoueur1, intScoreJoueur2))
else:
print('Non prevu')
# Incrémenter le compteur de manche
# Lorsque les joueurs font des choix différents
intCompteur = intCompteur + 1
# Décrémenter le nombre de manche à jouer
# Sauf en cas de match nul
intMancheAJouer = intMancheAJouer - 1
# Fin du match
if intScoreJoueur1 > intScoreJoueur2:
print(strMsgFelicitations.format(strJoueur1))
print(strScoreFinal.format(intScoreJoueur1,intScoreJoueur2))
else:
print(strMsgFelicitations.format(strJoueur2))
print(strScoreFinal.format(intScoreJoueur2, intScoreJoueur1))
# Condition de fin de programme
# Après affichage du score final
boolDebut = True
print(strFinProgramme)
## Fin de programme
W3schools
Python.org