====== Différences ======
Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.
cours:activite1:python_jeu [2013/11/07 13:47] r.doiteau |
cours:activite1:python_jeu [2019/05/11 14:35] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ==== Jeu de hasard ==== | + | ===== Jeu de hasard ===== |
+ | ==== Installation ==== | ||
+ | |||
+ | * Télélécharger python 3.3.2 : http://www.python.org/download/ | ||
+ | |||
+ | * Dézipper le fichier python.zip {{:cours:activite1:jeu_de_hasard_doiteau_romain.tar|}} | ||
+ | |||
+ | * Placer les trois fichiers dans un même répertoire | ||
+ | |||
+ | * Double cliquer sur le fichier module | ||
+ | |||
+ | * Pour une aide consulter le fichier help du jeu en tapant 5 | ||
+ | |||
+ | ==== Utilisation ==== | ||
+ | |||
+ | |||
+ | Pour commencer à jouer taper 1 | ||
+ | |||
+ | 1-----JOUER------------------ | ||
+ | |||
+ | Renseigner un nombre entier compris entre 0 et 9 | ||
+ | |||
+ | Si le nombre entré est égale au nombre choisi par | ||
+ | |||
+ | l'ordinateur, vous avez gagné, sinon vous avez perdu | ||
+ | |||
+ | Si vous avez perdu , il vous est proposé de rejouer | ||
+ | |||
+ | Taper O ou o pour rejouer et N ou n pour revenir au menu | ||
+ | |||
+ | 2-----SCORES----------------- | ||
+ | |||
+ | Affiche le palmarès des scores | ||
+ | |||
+ | 3-----CHANGER DE JOUEUR------ | ||
+ | |||
+ | Permet de changer de joueur en cours de partie | ||
+ | |||
+ | 4-----QUITTER---------------- | ||
+ | |||
+ | Quitte le jeu | ||
+ | |||
+ | |||
+ | ---------------------------------------- | ||
+ | |||
+ | ==== Code source ==== | ||
+ | |||
=== Module ==== | === Module ==== | ||
<code=python> | <code=python> | ||
- | ############################################# | + | ################################################################################ |
- | # Programme Python type # | + | # Programme Python type # |
- | # auteur : R.Doiteau # | + | # auteur : R.Doiteau # |
- | ############################################# | + | ################################################################################ |
- | #Consiste à deviner un entier tiré au # | + | #http://doiteauromain.amon-internet.com/doku.php?id=cours:activite1:python_jeu # |
- | # hasard depuis une liste d'entiers de 0 à9 # | + | ################################################################################ |
- | #Les résultats sont consignées dans # | + | #Consiste à deviner un entier tiré au # |
- | # un fichier sous la forme : palmares.txt # | + | # hasard depuis une liste d'entiers de 0 à9 # |
- | ############################################# | + | #Les résultats sont consignées dans # |
+ | # un fichier sous la forme : palmares.txt # | ||
+ | ################################################################################ | ||
+ | |||
# Importation de fonctions externes : | # Importation de fonctions externes : | ||
Ligne 23: | Ligne 73: | ||
=== Programme === | === Programme === | ||
<code=python> | <code=python> | ||
- | def initialisation(): | + | ####################################################################### |
- | #variable | + | ###################PROGRAMME#PRINCIPALE################################ |
- | + | ####################################################################### | |
- | nom_joueur="a" #initilisation d'un joueur au hasard pour commencé le programme | + | |
- | #programme = chargement de la consigne | + | |
- | print(40*"-") | + | |
- | print (17*"-","MENU",17*"-") | + | |
- | print(40*"-") | + | |
- | print("Ce jeu consiste a tiré au sort un entier entre 0 et 9 ") | + | |
- | print(40*"-") | + | |
- | return changer_joueur(nom_joueur) | + | |
def menu (nom_joueur): | def menu (nom_joueur): | ||
Ligne 41: | Ligne 83: | ||
Choix_3=print("3-----CHANGER DE JOUEUR------") | Choix_3=print("3-----CHANGER DE JOUEUR------") | ||
Choix_4=print("4-----QUITTER----------------") | Choix_4=print("4-----QUITTER----------------") | ||
+ | Choix_5=print("5-----HELP-------------------") | ||
#programme = initialisation du menu | #programme = initialisation du menu | ||
Ligne 48: | Ligne 91: | ||
print(40*"-") | print(40*"-") | ||
- | while Choix !="1" and Choix !="2" and Choix !="3" and Choix !="4": | + | while Choix !="1" and Choix !="2" and Choix !="3" and Choix !="4" and Choix !="5": |
Choix = input("Veuiller choisir : ") | Choix = input("Veuiller choisir : ") | ||
if Choix == "1": | if Choix == "1": | ||
Ligne 56: | Ligne 99: | ||
elif Choix == "3": | elif Choix == "3": | ||
changer_joueur (nom_joueur) | changer_joueur (nom_joueur) | ||
- | |||
elif Choix == "4": | elif Choix == "4": | ||
- | print("Au revoir les amis") | + | quitter() |
+ | elif Choix == "5": | ||
+ | help(nom_joueur) | ||
+ | ########################################################################################################### | ||
+ | ########################################################################################################### | ||
+ | |||
+ | def help (nom_joueur): | ||
+ | fic_help=open("readme.txt","r") | ||
+ | dico_help=fic_help.read() | ||
+ | |||
+ | print (dico_help) | ||
+ | retour_menu=input("Retour menu /1") | ||
+ | |||
+ | if retour_menu =="1": | ||
+ | menu(nom_joueur) | ||
+ | while retour_menu !="1": | ||
+ | retour_menu=(input("veuillez choisir ? ")) | ||
+ | else: | ||
+ | menu(nom_joueur) | ||
+ | |||
+ | def initialisation(): | ||
+ | ####### ENTREE = sert à initialisé un nom de joueur pour charger le menu, sans énoncé a chaque fois la consigne##### | ||
+ | #variable | ||
+ | nom_joueur="" | ||
+ | #nom_joueur="a" #initilisation d'un joueur au hasard pour commencé le programme | ||
+ | #programme = chargement de la consigne | ||
+ | print(40*"-") | ||
+ | print (17*"-","MENU",17*"-") | ||
+ | print(40*"-") | ||
+ | print("Ce jeu consiste a tiré au sort un entier entre 0 et 9 ") | ||
+ | print(40*"-") | ||
+ | return changer_joueur(nom_joueur) | ||
+ | |||
+ | def quitter (): | ||
+ | |||
+ | print("Au revoir les amis") | ||
+ | exit() | ||
def changer_joueur(nom_joueur): | def changer_joueur(nom_joueur): | ||
#variable | #variable | ||
nom_joueur=input("Veuillez entrer votre nom :") | nom_joueur=input("Veuillez entrer votre nom :") | ||
+ | comptage=len(nom_joueur) #compte le nombre de carcartére du nom_joueur | ||
+ | i=0 #variable utilisé pour le nombre de passe du nom | ||
+ | # si le nombre de caractére du nom joueur et nul et > à 10 il renvoie une entrée nom | ||
+ | while comptage == 0 or comptage>10: | ||
+ | i=i+1 | ||
+ | if i<4: #arrête le progarmme si la passe est < à 4 | ||
+ | nom_joueur=input("Veuillez entrez votre nom svp : ") | ||
+ | else: | ||
+ | print("au revoir") | ||
+ | exit() | ||
+ | |||
#programme | #programme | ||
print("Bonjour",nom_joueur) | print("Bonjour",nom_joueur) | ||
Ligne 77: | Ligne 166: | ||
#séparation des éléments de la liste et tri dans la liste vide | #séparation des éléments de la liste et tri dans la liste vide | ||
for ligne in liste_palmares: | for ligne in liste_palmares: | ||
- | liste_lu=ligne.split(":") | + | liste_lu=ligne.split(":") #coupe le palmares par les : |
- | liste_vide.append(int(liste_lu[1])) | + | liste_vide.append(int(liste_lu[1])) #implémante une liste |
- | liste_vide.sort(reverse=True) | + | liste_vide.sort(reverse=True) #tri la liste en ordfe inverse |
- | #effectueun tri par orde croissant | + | #effectue un tri par orde décroissant |
for element in liste_vide: | for element in liste_vide: | ||
if record > 0: | if record > 0: | ||
podium=podium+1 | podium=podium+1 | ||
- | if liste_vide[record] != liste_vide[record-1]: | + | if liste_vide[record] != liste_vide[record-1]: |
for ligne in liste_palmares: | for ligne in liste_palmares: | ||
- | liste_lu=ligne.split(":") | + | liste_lu=ligne.split(":") |
if str(element) == liste_lu[1]: | if str(element) == liste_lu[1]: | ||
Ligne 121: | Ligne 210: | ||
rejouer = "O" | rejouer = "O" | ||
pnts=0 # implémente le compteur de points à zéro | pnts=0 # implémente le compteur de points à zéro | ||
- | i=0 | + | i=0 # variable pour multiplier le nombre des points |
pnts_gagne=0 # implémente les compteur point gagné à zéro | pnts_gagne=0 # implémente les compteur point gagné à zéro | ||
Ligne 129: | Ligne 218: | ||
if nbre_joueur == nbre_gagnant: | if nbre_joueur == nbre_gagnant: | ||
- | pnts=pnts+10 | + | pnts=pnts+10 # incrémente le nombre de points |
- | i=i+1 | + | i=i+1 # mutliplie le nombre de points |
pnts=i*pnts | pnts=i*pnts | ||
print("GAGNE votre score est de",pnts) | print("GAGNE votre score est de",pnts) | ||
pnts_gagne=pnts | pnts_gagne=pnts | ||
pnts=0 | pnts=0 | ||
- | nbre_gagnant=random.randint(0,9) | + | nbre_gagnant=random.randint(0,9) #réeffectue le hasard pour rejouer |
- | print(nbre_gagnant) | + | print("Le nombre est",nbre_gagnant,"mais chut !!!!!!") |
else : | else : | ||
Ligne 144: | Ligne 233: | ||
rejouer = input("Rejouer O/N ?") | rejouer = input("Rejouer O/N ?") | ||
nbre_gagnant=random.randint(0,9) #réeffectue le hasard pour rejouer | nbre_gagnant=random.randint(0,9) #réeffectue le hasard pour rejouer | ||
- | print(nbre_gagnant) | + | print("Le nombre est",nbre_gagnant,"mais chut !!!!!!") |
while rejouer !="O" and rejouer != "N": | while rejouer !="O" and rejouer != "N": | ||
Ligne 150: | Ligne 239: | ||
else: | else: | ||
- | rejouer !="N" | + | #rejouer !="N" |
pnts_gagne=str(pnts_gagne) | pnts_gagne=str(pnts_gagne) | ||
palmares=open("palmares.txt","a") | palmares=open("palmares.txt","a") | ||
Ligne 194: | Ligne 283: | ||
nbre=int(nbre_gagnant) | nbre=int(nbre_gagnant) | ||
print(nbre) | print(nbre) | ||
+ | |||
</code> | </code> |