Fixer des variables
Résolu
Florine
-
quent217 Messages postés 420 Date d'inscription Statut Membre Dernière intervention -
quent217 Messages postés 420 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans le cadre d'un projet en ISN pour le bac, je fais un jeu d'escape game.
Sur une de mes énigme, le but est de rentrer sur les 7 boutons scroll des nombres différents (correspondant à un nombre de goute pour la potion dans le jeu), puis valider (sur un bouton "Valider") afin de vérifier si les chiffres rentrés sont corrects
Or, je n'arrive pas a fixer les variables de mes boutons scroll et que le bouton "Valider" vérifie si tout les résultats des boutons scrolls sont corrects avant de passer à la page suivante.
Je débute en informatique et je ne sais pas comment faire, pourriez vous m'aider ?
je vous met ci-dessous l'extrait de mon programme correspondant à la page des variables :
Dans le cadre d'un projet en ISN pour le bac, je fais un jeu d'escape game.
Sur une de mes énigme, le but est de rentrer sur les 7 boutons scroll des nombres différents (correspondant à un nombre de goute pour la potion dans le jeu), puis valider (sur un bouton "Valider") afin de vérifier si les chiffres rentrés sont corrects
Or, je n'arrive pas a fixer les variables de mes boutons scroll et que le bouton "Valider" vérifie si tout les résultats des boutons scrolls sont corrects avant de passer à la page suivante.
Je débute en informatique et je ne sais pas comment faire, pourriez vous m'aider ?
je vous met ci-dessous l'extrait de mon programme correspondant à la page des variables :
from tkinter import* #importer la bibliothèque tkinter from tkinter.messagebox import* import pygame import webbrowser from time import gmtime,strftime pygame.init() #initialiser pygame main=Tk() #Ouvrir une fenêtre main.title("Infected World")#donner un nom à la fenêtre, ici le nom du jeu main.geometry("600x480") #dimension de la fenêtre main.iconbitmap("épidémie.ico") #Modification de l'icone de la fenêtre main.configure (bg="dark slate gray") #Intégrer une bande sonore dès l'ouverture de la fenêtre, qui tourne en boucle sons_n1=pygame.mixer.Sound("laboratoire.wav") sons_n1.set_volume(0.2) sons_n1.play(-1) #Création d'une cinquième frame page5=Frame(main,width=600,height=480,bg="dark slate gray") page5.forget() #Création d'un label pour l'explication Labeljauge=Label(page5,text="Vous avez trouvé une recette qui vous semble être celle d'un antidote.\nVous décidez de la suivre à la lettre afin de sortir au plus vite de ce laboratoire.",font=("Stencil",15),fg="white",bg="dark slate gray") Labeljauge.pack(expand=YES) #Importation d'une photo photo5=PhotoImage(file="recette.png").zoom(35).subsample(32) canvas5=Canvas(page5,width=600,height=450,bd=0,highlightthickness=0,bg="dark slate gray") canvas5.create_image(300,225,image=photo5) canvas5.pack(expand=YES) #Création d'une sixième frame pour le lien hypertexte page6=Frame(main,width=600,height=200,bg="dark slate gray") page6.forget() #Création d'un lien hypertexte vers la page Wiki de Claude François Geoffroy def recherche(event): webbrowser.open_new("https://fr.wikipedia.org/wiki/Claude_Geoffroy_le_Jeune") link = Label(page6, text="Wikipédia", fg="white", font= ("Stencil",15), cursor="hand2",bg="dark slate gray") link.pack(side=LEFT) link.bind("<Button-1>", recherche) #Création d'une frame et d'un label pour les noms des atomes et les scales page7=Frame(main) page7.forget() Labelatomes=Label(page7,text="U Sr Kr C Bh O Bi",bg="dark slate gray",fg="white",font=15) Labelatomes.pack(side=TOP) def sel1(): global selection1 selection1="Value="+str(var.get()) def sel2(): global selection2 selection2="Value="+str(var.get()) def sel3(): global selection3 selection3="Value="+str(var.get()) def sel4(): global selection4 selection4="Value="+str(var.get()) def sel5(): global selection5 selection5="Value="+str(var.get()) def sel6(): global selection6 selection6="Value="+str(var.get()) def sel7(): global selection7 selection7="Value="+str(var.get()) #Création des 7 scales pour choisir le nombre de gouttes par scroll valeur5 = DoubleVar() jaune = Scale(page7, variable=valeur5,from_=0, to=10,bg="yellow", command=sel1) jaune.pack(side=RIGHT) valeur2 = DoubleVar() bleu = Scale(page7, variable=valeur2,from_=0, to=10,bg="cyan", command=sel2) bleu.pack(side=RIGHT) valeur1 = DoubleVar() orange = Scale(page7, variable=valeur1,from_=0, to=10,bg="orange", command=sel3) orange.pack(side=RIGHT) valeur3 = DoubleVar() violet = Scale(page7, variable=valeur3,from_=0, to=10,bg="purple", command=sel4) violet.pack(side=RIGHT) valeur7 = DoubleVar() vert = Scale(page7, variable=valeur7,from_=0, to=10,bg="green", command=sel5) vert.pack(side=RIGHT) valeur4 = DoubleVar() rouge = Scale(page7, variable=valeur4,from_=0, to=10,bg="red", command=sel6) rouge.pack(side=RIGHT) valeur6=DoubleVar() rose=Scale(page7,variable=valeur6,from_=0, to=10,bg="pink", command=sel7) rose.pack(side=RIGHT) def Validerrecette(): if selection1.get()==0 and selection2==6 and selection3==0 and selection4==5 and selection5==4 and selection6==6 and selection7==8: canvas5.delete() page5.destroy() page6.destroy() page7.destroy() pagehorloge.pack() else: showwarning("Attention, vous avez mal lu la recette ! Tenez-vous vraiment à faire exploser le laboratoire ?") #Création boutons Valider Valider1=Button(page7, text="Valider",command=Validerrecette) Valider1.pack(side=RIGHT) main.mainloop() #Maintien la fenêtre
A voir également:
- Fixer des variables
- Fixer colonne excel - Guide
- All media fixer - Télécharger - Récupération de données
- Account profile fixer - Astuces et Solutions
- Comment fixer la barre des taches - Guide
- Faut il mettre des piles rechargeables dans un téléphone fixe ✓ - Forum telephonie fixe
1 réponse
Bonjour,
les variables que vous avez associés aux Scale (valeur1, etc.) contiennent déjà les valeurs de chaque Scale. Vous n'avez donc pas besoins de stocker ces valeurs dans selection1, etc. Vous pouvez donc supprimer les fonctions sel1, etc. et les command dans les Scale. Dans la fonction Validerrecette, remplacez selections1, etc. par valeur5, etc. (je ne sais pas pourquoi les variables ne sont pas numérotées dans l'ordre mais peu importe).
les variables que vous avez associés aux Scale (valeur1, etc.) contiennent déjà les valeurs de chaque Scale. Vous n'avez donc pas besoins de stocker ces valeurs dans selection1, etc. Vous pouvez donc supprimer les fonctions sel1, etc. et les command dans les Scale. Dans la fonction Validerrecette, remplacez selections1, etc. par valeur5, etc. (je ne sais pas pourquoi les variables ne sont pas numérotées dans l'ordre mais peu importe).
Sauf que même si je met les bons numéros, il m'affiche tout de même le message d'erreur...
Vous pouvez mettre le sujet en résolu en cliquant en haut à droite de votre premier message.