musicgames
Nombre de messages : 55 Date d'inscription : 21/01/2008
| Sujet: clavier de piano et notes Dim 14 Déc 2008 - 12:26 | |
| Cliquez sur une touche du clavier pour voir le nom de la note qui correspond : - Code:
-
dim i,NomsNotes$(36),NotesNatx%(22),NotesAltx%(37) dim NotesNat%(21),note%,positionx%
label MontrerNotes
width 0,800 height 0,300 color 0,200,255,255 font_name 0,verdana
data "DO","DO#/REb","RE","RE#/MIb","MI","FA","FA#/SOLb" data "SOL","SOL#/LAb","LA","LA#/SIb","SI" for i=1 to 12 read NomsNotes$(i) next i for i=13 to 36 NomsNotes$(i) = NomsNotes$(i-12) next i
data 1,3,5,6,8,10,12 for i=1 to 7 read NotesNat%(i) next i for i=8 to 21 NotesNat%(i) = NotesNat%(i-7) + 12 next i
for i=1 to 22 NotesNatx%(i) = (i-1)*30 next i
data 0,20,40,50,70,90,110,130,140,160,170,190
for i=1 to 12 read NotesAltx%(i) next i for i=13 to 37 NotesAltx%(i) = NotesAltx%(i-12) + 210 next i
picture 1 width 1,630 height 1,100 left 1,85 top 1,50 file_load 1,"clavier.bmp" on_click 1,MontrerNotes
alpha 2 width 2,500 left 2,85 top 2,20 font_size 2,12 caption 2,"clique sur une touche du clavier pour voir la note"
alpha 3 width 3,50 left 3,300 top 3,200 font_size 3,20 font_bold 3 font_color 3,0,128,255
end
MontrerNotes: positionx% = mouse_x_position(1)
if mouse_y_position(1) > 60 for i=1 to 21 if (positionx% > NotesNatx%(i)) and (positionx% <= NotesNatx%(i+1)) note% = NotesNat%(i) end_if next i else for i=1 to 36 if (positionx% > NotesAltx%(i)) and (positionx% <= NotesAltx%(i+1)) note% = i end_if next i end_if
caption 3,NomsNotes$(note% )
return
cette image (le clavier) doit être dans le même répertoire que le code source. | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: clavier de piano et notes Dim 14 Déc 2008 - 17:23 | |
| Programme intéressant... Personnellement j'ai l'habitude dans la mesure du possible de mettre en début de programme les ressources externes, par exemple ici: - Code:
-
label fclav$ fclav$ = "C:\images\bmp\clavier.bmp" et donc plus loin: - Code:
-
file_load 1, fclav$ Ainsi on peut mettre ces ressources n'importe où, il suffit de donner le chemin d'accès complet. | |
|
lutcho74
Nombre de messages : 139 Age : 30 Date d'inscription : 21/11/2008
| Sujet: Re: clavier de piano et notes Dim 14 Déc 2008 - 20:44 | |
| Je trouve ce programme super Je pense que pour les amateur en piano sa ferait un petit exercice ^^ | |
|
musicgames
Nombre de messages : 55 Date d'inscription : 21/01/2008
| Sujet: Re: clavier de piano et notes Mar 16 Déc 2008 - 10:15 | |
| JL35: Si j' ai bien compris, t' attribues à une variable le chemin absolu, pour pas avoir à le répéter. Je l' ai pas fait ici, parce qu' il s' agit d' un code court et le chemin est utilisé qu' une seule fois, mais c' est vrai que c' est une bonne habitude. Par contre, donner le chemin relatif est une meilleure solution à mon avis. Comme ça, le programme trouvera toujours les images et autres fichiers qui sont inclus, indépendamment du dossier dans lequel l' utilisateur l' a installé. Lutcho74: Merci, content que ça te plaise.
Dernière édition par musicgames le Mar 16 Déc 2008 - 16:20, édité 1 fois | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: clavier de piano et notes Mar 16 Déc 2008 - 14:55 | |
| Je crois, par expérience, qu'il faut paramétrer le plus possible et éviter de mettre des données "en dur" dans le programme, ça facilite beaucoup la compréhension, la maintenance et les modifications ultérieures, y compris par d'autres programmeurs. Maintenant, ceci est pondéré dans le cas de Panoramic par la limitation du nombre de variables.
Rien n'empêche de mettre le chemin relatif dans une variable, à condition que tout soit dans le même répertoire.
Dans le cas d'une image très simple comme celle-ci, on pourrait aussi imaginer de la dessiner dans le programme, plutôt que d'avoir à adjoindre un fichier annexe. | |
|
Contenu sponsorisé
| Sujet: Re: clavier de piano et notes | |
| |
|