Bonjour à tous,
Je lutte sur un exercice que je pensais pouvoir faire seul, mais non, d'où ma présence. Je m'explique :
Je dois créer un aquarium, avec des poissons de différentes couleurs qui sont censés avancer. Avec :
-un bouton "Quitter" qui détruit la fenêtre,
-un bouton "Choix Couleur" qui est un menu déroulant qui permet de choisir parmi une des couleurs de l'aquarium, et de la sélectionner,
-et un bouton "Pêcheur" qui supprime le poisson dont la couleur a été choisie dans le menu "Choix Couleur".
Je dispose par ailleurs d'un module aquarium que je joins .
Ci-joint mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 from Tkinter import * from time import sleep class Aquarium: """gestion d'un aquarium: aquarium -- fenetre Tk eau -- canvas pour dessiner les poissons poissons -- liste de poissons""" def __init__(self, largeur=300, hauteur=200): """creation de l'aquarium avec de l'eau""" self.aquarium = Tk() Button(self.aquarium, text="Quitter", command=self.aquarium.quit).pack(side=TOP) self.eau = Canvas(width=largeur,height=hauteur,background='lightblue') self.eau.pack() self.eau.create_line(0,hauteur*1/3,largeur,hauteur*1/3) self.poissons = [] def demarrer(self): """demarre l'animation de l'aquarium""" self.aquarium.mainloop() def creer_poisson(self,x=10,y=30,couleur='yellow'): """creation d'un poisson dans l'aquarium""" self.poissons.append(Poisson(self.eau,x,y,couleur)) class Poisson: """un poisson qui se promene dans un aquarium poisson -- le dessin du poisson aquarium -- canvas dans lequel se trouve le poisson couleur -- couleur du poisson x -- abscisse du poisson y -- ordonnee du poisson""" def __init__(self, aquarium, x, y, couleur): """creation d'un poisson""" self.aquarium = aquarium self.x = x self.y = int(self.aquarium.cget('height'))-y self.couleur = couleur self.poisson = aquarium.create_oval(self.x, self.y, self.x+15, self.y+10, fill=couleur) def avance(self, x=5, y=0): """deplacement relatif du poisson""" self.aquarium.move(self.poisson, x, y) self.aquarium.update() if __name__ == "__main__": A = Aquarium() A.creer_poisson() A.creer_poisson(x=30,y=50, couleur='red') for i in range(10): sleep(.3) for poisson in A.poissons: poisson.avance() #A.demarrer()
Pour le menu "Choix Couleur", que mettre dans le champ "command" pour choisir une couleur de poisson ??!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 from Tkinter import * from aquarium import * #creation de l aquarium aquarium=Tk() Button(aquarium,text="Quitter",command=aquarium.destroy).pack(side=TOP) eau=Canvas(width=300,height=400,background='lightblue') eau.pack() eau.create_line(0,400*1/3,300,400*1/3) poissons=[] #creation de mes poissons jaune=Poisson(eau,55,100,'yellow') vert=Poisson(eau,75,135,'green') #avancée de mes poissons (pas sur) jaune.avance(65,150) vert.avance(85,155) #brouillon du menu choix_couleur # Creation de la barre de menu: menu1 = Menu(aquarium) # Creation du menu Choix Couleur: choix_col = Menu(menu1, tearoff=0) menu1.add_cascade(label="Choix Couleur",menu=choix_col) choix_col.add_command(label="Jaune") #command=jaune.select() ?? choix_col.add_command(label="Vert")#command=vert.select() (selectionne cette couleur...) aquarium.config(menu=menu1) Button(aquarium,text="Pecheur").pack(side=TOP) aquarium.mainloop()
Pour le bouton pêcheur j'ai une vague idée(les poissons de couleurs choisies par Choix_col sont effacés) mais je vois pas comment faire Choix couleur..
Merci d'avance de vos réponses et du temps qu'il a fallu pour me lire .
Partager