**Ceci est une ancienne révision du document !**
----

A PCRE internal error occured. This might be caused by a faulty plugin


===== 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:python.zip|}}

* 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

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 ====
<code=python>
#############################################
# Programme Python type #
# auteur : R.Doiteau #
#############################################
#Consiste à deviner un entier tiré au #
# 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 :

from Programme_jeu_de_hasard import *

##############################################
# Corps du programme

initialisation()
</code>

=== Programme ===
<code=python>
#######################################################################
###################PROGRAMME#PRINCIPALE################################
#######################################################################

def menu (nom_joueur):
#variables
Choix_1=print("1-----JOUER------------------")
Choix_2=print("2-----SCORES-----------------")
Choix_3=print("3-----CHANGER DE JOUEUR------")
Choix_4=print("4-----QUITTER----------------")
Choix_5=print("5-----HELP-------------------")

#programme = initialisation du menu
nbre_gagnant=0
print(40*"-")
Choix=str(input("Que voulez vous faire ? 1/2/3/4 "))
print(40*"-")

while Choix !="1" and Choix !="2" and Choix !="3" and Choix !="4" and Choix !="5":
Choix = input("Veuiller choisir : ")
if Choix == "1":
jouer(nom_joueur)
elif Choix == "2":
scores(nom_joueur)
elif Choix == "3":
changer_joueur (nom_joueur)
elif Choix == "4":
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):
#variable
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
print("Bonjour",nom_joueur)
menu(nom_joueur)

def scores (nom_joueur):
#variables
liste_vide = [] #création liste vide
palmares=open("palmares.txt","r") #ouverture du fichier palmares
liste_palmares=palmares.readlines() #lecture palmares dans une liste
record=0 #variable utilisé pour implémanter les records
podium=1
#programme
#séparation des éléments de la liste et tri dans la liste vide
for ligne in liste_palmares:
liste_lu=ligne.split(":") #coupe le palmares par les :
liste_vide.append(int(liste_lu[1])) #implémante une liste
liste_vide.sort(reverse=True) #tri la liste en ordfe inverse


#effectueun tri par orde décroissantcroissant
for element in liste_vide:
if record > 0:
podium=podium+1
if liste_vide[record] != liste_vide[record-1]:
for ligne in liste_palmares:
liste_lu=ligne.split(":")

if str(element) == liste_lu[1]:

print(" ",podium,"--",liste_lu[0], "with",element,"points")
elif record == 0:
for ligne in liste_palmares:
liste_lu=ligne.split(":")
if str(element) == liste_lu[1]:
print("The winner is",liste_lu[0],"with",element,"points")
record +=1
print(40*"-")
palmares.close()

retour_menu=input("Retour menu /1")

#gére l'expection du menu
if retour_menu =="1":
menu(nom_joueur)
while retour_menu !="1":
retour_menu=(input("veuillez choisir ? "))
else:
menu(nom_joueur)

def jouer(nom_joueur):
#fonction externe
import random
#variables

nbre_gagnant=random.randint(0,9) #effectue le hasard
print (nbre_gagnant)
rejouer = "O"
pnts=0 # implémente le compteur de points à zéro
i=0
pnts_gagne=0 # implémente les compteur point gagné à zéro

#programme principal
while rejouer == "O" or rejouer =="o":
nbre_joueur = nbre_entre()

if nbre_joueur == nbre_gagnant:
pnts=pnts+10
i=i+1
pnts=i*pnts
print("GAGNE votre score est de",pnts)
pnts_gagne=pnts
pnts=0
nbre_gagnant=random.randint(0,9)
print(nbre_gagnant)

else :
nbre_joueur != nbre_gagnant
print("RATE")
print("Le nombre à trouver était",nbre_gagnant)
rejouer = input("Rejouer O/N ?")
nbre_gagnant=random.randint(0,9) #réeffectue le hasard pour rejouer
print(nbre_gagnant)

while rejouer !="O" and rejouer != "N":
rejouer = input("Veuiller choisir O/N : ")

else:
rejouer !="N"
pnts_gagne=str(pnts_gagne)
palmares=open("palmares.txt","a")
palmares.write(nom_joueur+":"+pnts_gagne+":"+"\n")
palmares.close()
palmares=open("palmares.txt","r")
liste_1=palmares.readlines()
somme=0
for ligne in liste_1:
liste_2=ligne.split(":")
if nom_joueur == liste_2[0]:
liste_2[1]=int(liste_2[1])
somme=somme+liste_2[1]
return menu(nom_joueur)


def nbre_entre():
#variable

rep=0 #variable gérer pour l'exception

while rep ==0:
nbre_joueur = input("Veuillez entrer un nombre entre 1 et 10 : ")

#programme
try:
nbre_joueur = int(nbre_joueur)
if nbre_joueur < 0 or nbre_joueur > 9 :
print("Entre 0 et 9 svp")
else:
rep = 1
except:
print("Un vrai entier entre 0 et 9 svp: ")
rep =0


return nbre_joueur





nbre=int(nbre_gagnant)
print(nbre)


</code>

 
cours/activite1/python_jeu.1383861751.txt.gz · Dernière modification: 2019/05/11 14:35 (modification externe)     Haut de page