Je me suis lancé un petit défi, faire deux pianos, un dit "débutant" avec seulement 9 notes (beep), et l'autre "expert" avec 28 notes.
Mon problème, c'est que je voudrais faire comme un système d'onglet, par exemple onglet 1 : piano débutant, onglet 2 : piano expert. La seule solution que j'ai trouvé, c'est de faire une fenêtre principale avec deux boutons, chacun menant à un piano différent. Niveau code, c'est vraiment le bazar, mais ça fonctionne. Concrètement, je voudrais faire un code moins bordélique et plus clair, car mes Case à la volée, c'est tiré par les cheveux.
Voici le code :
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate("Piano", 1000, 500)
GUICtrlCreatePic("img.jpg",0,0,1000,500,BitOR($WS_GROUP,$WS_CLIPSIBLINGS))
$choix1= guictrlcreatebutton("Piano débutant", 250, 250)
$choix2= guictrlcreatebutton("Piano avancé", 750,250)
GUISetState(@SW_SHOW)
while(1)
$msg1=GUIGetMsg()
Select
Case $msg1=$choix1 ;débutant ______________________________________________________________________________________________________________________
Hotkeyset("{F1}","do1")
Hotkeyset("{F2}","re")
Hotkeyset("{F3}","mi")
Hotkeyset("{F4}","fa")
Hotkeyset("{F5}","sol")
Hotkeyset("{F6}","la")
Hotkeyset("{F7}","si")
Hotkeyset("{F8}","do2")
GUICreate("Piano", 1000, 500)
msgbox(0,"Piano","Bienvenue sur le piano basic !")
GUICtrlCreatePic("image.jpg",0,0,1000,500,BitOR($WS_GROUP,$WS_CLIPSIBLINGS))
$aide = Guictrlcreatebutton("Au Clavier",940,475,60,25)
$do = GUICtrlCreateButton("Do",30,70,70,300)
$re = GUICtrlCreateButton("Ré",155,70,70,300)
$mi = GUICtrlCreateButton("Mi",280,70,70,300)
$fa = GUICtrlCreateButton("Fa",405,70,70,300)
$sol = GUICtrlCreateButton("Sol",530,70,70,300)
$la = GUICtrlCreateButton("La",655,70,70,300)
$si = GUICtrlCreateButton("SI",780,70,70,300)
$do2 = GUICtrlCreateButton("Do",905,70,70,300)
$musique = GUICtrlCreateButton("Musique à part", 480,450,100,50)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $do
beep(264,300)
Case $msg = $re
beep(297,300)
Case $msg = $mi
beep(330,300)
Case $msg = $fa
beep(352,300)
Case $msg = $sol
beep(396,300)
Case $msg = $la
beep(440,300)
Case $msg = $si
beep(495,300)
Case $msg = $do2
beep(523,300)
Case $msg=$aide
msgbox(0,"Touches clavier", "Pour jouer au clavier, il y a les touches : " & @crlf & _
"F1: Do" & @crlf & _
"F2: Ré"& @crlf & _
"F3: Mi"& @crlf & _
"F5: Sol"& @crlf & _
"F6: La"& @crlf & _
"F7: Si"& @crlf & _
"F8: Do")
Case $msg = $musique
BEEP(480,200)
BEEP(1568,200)
BEEP(1568,200)
BEEP(1568,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(369.99,200)
BEEP(392,200)
BEEP(369.99,200)
BEEP(392,200)
BEEP(392,400)
BEEP(196,400)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(739.99,200)
BEEP(83.99,200)
BEEP(880,200)
BEEP(830.61,200)
BEEP(880,200)
BEEP(987.77,400)
BEEP(880,200)
BEEP(783.99,200)
BEEP(698.46,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(880,200)
BEEP(830.61,200)
BEEP(880,200)
BEEP(987.77,400)
SLEEP(200)
BEEP(1108,10)
BEEP(1174.7,200)
BEEP(1480,10)
BEEP(1568,200)
SLEEP(200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(783.99,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(880,200)
BEEP(830.61,200)
BEEP(880,200)
BEEP(987.77,400)
BEEP(880,200)
BEEP(783.99,200)
BEEP(698.46,200)
BEEP(659.25,200)
BEEP(698.46,200)
BEEP(784,200)
BEEP(880,400)
BEEP(784,200)
BEEP(698.46,200)
BEEP(659.25,200)
BEEP(587.33,200)
BEEP(659.25,200)
BEEP(698.46,200)
BEEP(784,400)
BEEP(698.46,200)
BEEP(659.25,200)
BEEP(587.33,200)
BEEP(523.25,200)
BEEP(587.33,200)
BEEP(659.25,200)
BEEP(698.46,400)
BEEP(659.25,200)
BEEP(587.33,200)
BEEP(493.88,200)
BEEP(523.25,200)
SLEEP(400)
BEEP(349.23,400)
BEEP(392,200)
BEEP(329.63,200)
BEEP(523.25,200)
BEEP(493.88,200)
BEEP(466.16,200)
BEEP(440,200)
BEEP(493.88,200)
BEEP(523.25,200)
BEEP(880,200)
BEEP(493.88,200)
BEEP(880,200)
BEEP(1760,200)
BEEP(440,200)
BEEP(392,200)
BEEP(440,200)
BEEP(493.88,200)
BEEP(783.99,200)
BEEP(440,200)
BEEP(783.99,200)
BEEP(1568,200)
BEEP(392,200)
BEEP(349.23,200)
BEEP(392,200)
BEEP(440,200)
BEEP(698.46,200)
BEEP(415.2,200)
BEEP(698.46,200)
BEEP(1396.92,200)
BEEP(349.23,200)
BEEP(329.63,200)
BEEP(311.13,200)
BEEP(329.63,200)
BEEP(659.25,200)
BEEP(698.46,400)
BEEP(783.99,400)
BEEP(440,200)
BEEP(493.88,200)
BEEP(523.25,200)
BEEP(880,200)
BEEP(493.88,200)
BEEP(880,200)
BEEP(1760,200)
BEEP(440,200)
BEEP(392,200)
BEEP(440,200)
BEEP(493.88,200)
BEEP(783.99,200)
BEEP(440,200)
BEEP(783.99,200)
BEEP(1568,200)
BEEP(392,200)
BEEP(349.23,200)
BEEP(392,200)
BEEP(440,0)
BEEP(698.46,200)
BEEP(659.25,200)
BEEP(698.46,200)
BEEP(739.99,200)
BEEP(783.99,200)
BEEP(392,200)
BEEP(392,200)
BEEP(392,200)
BEEP(392,200)
BEEP(196,200)
BEEP(196,200)
BEEP(196,200)
BEEP(185,200)
BEEP(196,200)
BEEP(185,200)
BEEP(196,200)
BEEP(207.65,200)
BEEP(220,200)
BEEP(233.08,200)
BEEP(246.94,200)
Case $msg = $GUI_EVENT_CLOSE
exit
ExitLoop
EndSelect
WEnd
Func do1()
Beep(264, 200)
EndFunc ;==>F1
Func re()
Beep(297, 200)
EndFunc ;==>F2
Func mi()
Beep(330, 200)
EndFunc ;==>F3
Func fa()
Beep(352, 200)
EndFunc ;==>F4
Func sol()
Beep(396, 200)
EndFunc ;==>F5
Func la()
Beep(440, 200)
EndFunc ;==>F6
Func si()
Beep(495, 200)
EndFunc ;==>F7
Func do2()
Beep(523.3, 200)
EndFunc ;==>F8
Case $msg1=$choix2 ;avancé_________________________________________________________________________________________________________________________________
GUICreate("Piano", 1000, 500)
msgbox(0,"Piano","Bienvenue sur le paino expert !")
GUICtrlCreatePic("image.jpg",0,0,1000,500,BitOR($WS_GROUP,$WS_CLIPSIBLINGS))
$do = GUICtrlCreateButton("Do",20,200,30,100)
$re = GUICtrlCreateButton("Ré",55,200,30,100)
$mi = GUICtrlCreateButton("Mi",90,200,30,100)
$fa = GUICtrlCreateButton("Fa",125,200,30,100)
$sol = GUICtrlCreateButton("Sol",160,200,30,100)
$la = GUICtrlCreateButton("La",195,200,30,100)
$si = GUICtrlCreateButton("SI",230,200,30,100)
$do2 = GUICtrlCreateButton("Do",265,200,30,100)
$re2 = GUICtrlCreateButton("Ré",300,200,30,100)
$mi2 = GUICtrlCreateButton("Mi",335,200,30,100)
$fa2 = GUICtrlCreateButton("Fa",370,200,30,100)
$sol2 = GUICtrlCreateButton("Sol",405,200,30,100)
$la2 = GUICtrlCreateButton("La",440,200,30,100)
$si2 = GUICtrlCreateButton("SI",475,200,30,100)
$do3 = GUICtrlCreateButton("Do",510,200,30,100)
$re3 = GUICtrlCreateButton("Ré",545,200,30,100)
$mi3 = GUICtrlCreateButton("Mi",580,200,30,100)
$fa3 = GUICtrlCreateButton("Fa",615,200,30,100)
$sol3 = GUICtrlCreateButton("Sol",650,200,30,100)
$la3 = GUICtrlCreateButton("La",685,200,30,100)
$si3 = GUICtrlCreateButton("SI",720,200,30,100)
$do4 = GUICtrlCreateButton("Do",755,200,30,100)
$re4 = GUICtrlCreateButton("Ré",790,200,30,100)
$mi4 = GUICtrlCreateButton("Mi",825,200,30,100)
$fa4 = GUICtrlCreateButton("Fa",860,200,30,100)
$sol4 = GUICtrlCreateButton("Sol",895,200,30,100)
$la4 = GUICtrlCreateButton("La",930,200,30,100)
$si4 = GUICtrlCreateButton("SI",965,200,30,100)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $do
beep(264,300)
Case $msg = $re
beep(297,300)
Case $msg = $mi
beep(330,300)
Case $msg = $fa
beep(352,300)
Case $msg = $sol
beep(396,300)
Case $msg = $la
beep(440,300)
Case $msg = $si
beep(495,300)
Case $msg = $do2
beep(523,300)
Case $msg = $re2
beep(587,300)
Case $msg = $mi2
beep(659,300)
Case $msg = $fa2
beep(698,300)
Case $msg = $sol2
beep(784,300)
Case $msg = $la2
beep(880,300)
Case $msg = $si2
beep(988,300)
Case $msg = $do3
beep(1046,300)
Case $msg = $re3
beep(1175,300)
Case $msg = $mi3
beep(1318,300)
Case $msg = $fa3
beep(1397,300)
Case $msg = $sol3
beep(1568,300)
Case $msg = $la3
beep(1760,300)
Case $msg = $si3
beep(1975,300)
Case $msg = $do4
beep(2093,300)
Case $msg = $re4
beep(2349,300)
Case $msg = $mi4
beep(2637,300)
Case $msg = $fa4
beep(2794,300)
Case $msg = $sol4
beep(3136,300)
Case $msg = $la4
beep(3520,300)
Case $msg = $si4
beep(3951,300)
Case $msg = $GUI_EVENT_CLOSE
exit
ExitLoop
EndSelect
WEnd
Case $msg1 = $GUI_EVENT_CLOSE
exit
ExitLoop
EndSelect
WEnd