Bonjour,

Dans notre générateur de calcul mental nous avons plusieurs icônes a créer, 3 :

La première comportant un bouton "lancer" qui mène vers une seconde en quittant la première, Les niveaux de difficulté du générateur,Le message de bienvenue.

Dans la seconde nous voulons insérer le générateur de calcul, il comporte deux parties, l'une avec la question "combien de calculs voulez vous effectuer?" et la deuxième avec le lancement du calcul (troisième icône), seulement il faut les séparer en deux icônes différentes pour y ajouter le niveau de difficulté.

La troisième qui afficherais le score a la fin de la partie, et qui comporterai un délai de temps pour répondre au calcul. Parce que sinon c'est trop facile.

Problèmes :

_ Le générateur de calcul ne se lance que dans la console tkinter au lieu d'être dans une fenêtre (quel widget?)

_ Séparer la menu/calcul et générer une nouvelle fenêtre à la réponse au nombre de calculs choisis.

_ Afficher les scores en fin de partie

_ Petit problème en passant d'un pc windows à mac, la barre de menu et les niveaux non plus.

Ci-dessous mon programme et celui de mon collègue:

_ Pour la première fenêtre

from tkinter import *

import tkinter as tk

import tkinter.ttk as ttk

#creation de la fenêtre principale

fenetre1=Tk()

fenetre1.geometry("300x150+10+10") # dimension et position par defaut

fenetre1.title("CALCULATOR - Identifiez-vous") # titre de la fenetre

fenetre1.minsize(300,50) # taille minimum de la fenetre

fenetre1.maxsize(300,150) # taille maximum de la fenetre

fenetre1.positionfrom("user") # placement manuel de la fenetre

fenetre1.sizefrom("user") # dimensionnement manuel de la fenetre

# bouton lancer qui envoi au moteur du programme, les calculs(partie de tristan)

def zut():

t=Toplevel()

a=Button(t,text='Tristan!',command=t.destroy)

a.pack()

b = Button(fenetre1, text='Lancer', command=zut)

b.pack()

#Création des variables

p = StringVar()

m = StringVar()

# message principal placé en haut de la fenêtre

connectez_vs = Label(fenetre1, text="Bienvenue sur CALCULATOR, veuillez vous identifier. ")

connectez_vs.pack(side = TOP)

# on fait une première frame

frame1 = Frame(fenetre1)

frame1.pack(side = TOP)

pseudotext = Label(frame1, text="Pseudo: ")

pseudotext.pack(side = LEFT)

pseudo = Entry(frame1, textvariable=p,width=30)

# on fait une deuxième frame

frame1 = Frame(fenetre1)

frame1.pack(side=TOP)

mdptext = Label(frame1, text=" Mdp: ")

mdptext.pack(side=LEFT)

mdp = Entry(frame1, textvariable=m,width=30)

mdp.pack(side=LEFT)

pseudo.pack(side=LEFT)

values = [ 'Facile', 'Moyen', 'Difficile' ]

champ_label= Label(fenetre1,text="Calcul mental")

champ_label.pack()

bouton_quitter = Button(fenetre1, text="Quitter", foreground="red", command=fenetre1.quit)

bouton_quitter.pack()

# Création d'un widget Menu

menubar = Menu(fenetre1)

menufichier = Menu(menubar,tearoff=0)

menufichier.add_command(label="Nouvelle partie",command=open)

menubar.add_cascade(label="Fichier", menu=menufichier)

menuscores = Menu(menubar,tearoff=0)

menuscores.add_command(label="Meilleures Scores", )

menubar.add_cascade(label="Score", menu=menuscores)

menuaide = Menu(menubar,tearoff=0)

# Affichage du menu

fenetre1.config(menu=menubar)

# Création d'un widget Canvas

Canevas = Canvas(fenetre1)

Canevas.pack(padx=5,pady=5)

# Utilisation d'un dictionnaire pour conserver une référence

gifdict={}

fenetre1.mainloop()

Pour la deuxième

import random

def menu():

fois='-1'

while(fois=='-1'):

try:

fois = int(input("Combien de calculs souhaitez vous faire ? >>"))

except:

print ('La chose que vous venez d\'entrer ne semble pas etre un nombre')

fois=('-1')

calcul(fois)

def calcul(fois):

ensemble = 0

while ensemble < fois:

a = random.randint(0,10)

b = random.randint(0,10)

signe = random.randint(1,3)

resultat_2='-1'

if signe == 1:

resultat_1 = a + b

print (a, "+", b, "=")

elif signe == 2:

resultat_1 = a - b

print (a, "-", b, "=")

else:

resultat_1 = a * b

print (a, "*", b, "=")

while(resultat_2=='-1'):

try:

resultat_2 = int(input("Resultat >>"))

except:

print ('Le resultat que vous venez d\'entrer ne semble pas etre un nombre')

if resultat_1 == resultat_2:

print ("Bravo")

else:

print ("Dommage")

ensemble = ensemble + 1

# Main

menu()

Cordialement, nous recherchons de l'aide !