Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Juste prix Version 3.5
- from random import*
- def init():
- '''affecte 5 ou 10 à essai selon le niveau choisi'''
- global niveau, essai
- while niveau!=1 and niveau!=2:
- niveau=int(input('Niveau : Normal= 1 ou Difficile = 2'))
- if niveau==2:
- essai=5
- reponse['text']='Vous avez 5 essais'
- else:
- reponse['text']='Vous avez 10 essais'
- def affiche_test(prop,essai):
- ''' affiche un message de réussite ou d'echec, selon la proposition et le nombre d'essais, '''
- global prix, total
- if essai==0: # fin de partie
- reponse['text']="Perdu, c'était "+str(prix)+' €'
- fin_partie()
- elif prop < prix : # Comparaison avec le prix à trouver
- reponse['text']="C'est plus de "+ str(prop)
- elif prop > prix :
- reponse['text']="C'est moins de "+ str(prop)
- else:
- reponse['text']="Bravo vous avez gagné \n "+str(prix*niveau)+' €'+" en "+str(5-essai)+" essai(s)"
- total=total+prix
- fin_partie()
- def fin_partie():
- ''' fin de partie : continuer ou fin de jeu et quitter'''
- global niveau, objet,total,essai
- vitrine.remove(objet) # supprime l'objet
- if len(vitrine)==0: # si plus d'objet, c'est terminé
- titre_objet['text']='Gain total: '+str(total)+'€'
- bouton['text']='Quitter'
- bouton['command']=fen.destroy
- else: # sinon réinitialise le nombre d'essais et l'objet
- if niveau==2: essai=5
- choix_vitrine()
- def jouer():
- ''' boucle tant que prix n'est pas trouvé'''
- global prop, prix, essai
- if prop != prix or essai>=1:
- prop=int(entre_prix.get())
- essai = essai -1
- affiche_test(prop,essai)
- entre_prix.delete(0,END) # efface le contenu de l'entry
- ### nouvelle fonction
- def choix_vitrine():
- ''' affiche au hasard un objet de la vitrine et récupère son prix'''
- global prix, objet
- objet=choice(vitrine) # récupère un objet et son prix
- print(objet[0],objet[1]) # pour les tests
- affiche_objet['text']=objet[0].upper() # affiche l'objet en majuscules
- prix=objet[1] # affecte le prix de l'objet au prix à trouver
- #### programme principal ----------------------------------------------
- # Liste des objets, et des prix
- vitrine=[['une TV \n grand écran',490], ['un smartphone',320],['un week-end \n Balnéo',430],['un VTT',260],['un spectacle', 110]]
- prop = 0
- essai = 5
- niveau=0
- total=0
- ###### Interface-------------------------------------------
- from tkinter import *
- fen=Tk()
- fen.title("LE JUSTE PRIX")
- # la vitrine ( texte et objet)
- titre_objet=Label(fen,text="GAGNEZ CET OBJET \n DE LA VITRINE",font="arial 15 bold", fg='purple',width=20)
- titre_objet.grid(row=0,column=0,padx=20,pady=20)
- affiche_objet=Label(fen,text="?????????",font="arial 15 bold",fg='purple',width=15)
- affiche_objet.grid(row=0,column=1,padx=20,pady=20)
- # la question posée
- titre_prix=Label(fen,text="Proposez un prix \n de 100 à 500 €",font="arial 15 bold", fg='purple',width=20)
- titre_prix.grid(row=1,column=0,padx=20,pady=20)
- # le titre de la zone réponse
- reponse=Label(fen,text="Réponse",font="arial",bg='white',fg='purple',height=2, width=20)
- reponse.grid(row=2,column=0,padx=20,pady=20)
- # la zone réponse
- entre_prix=Entry(fen,font="arial 15 bold",fg='purple',width=10 )
- entre_prix.grid(row=1,column=1,padx=20,pady=20)
- # le bouton de lancement du jeu et quitter à la fin
- bouton=Button(fen,text="Jouer",width=10,font="arial 15 bold",bg='purple',fg='white',command=jouer)
- bouton.grid(row=2,column=1,padx=20,pady=20)
- ## appel des fonctions ( niveau et objet à trouver)
- init()
- choix_vitrine()
- fen.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement