This is how I would write the exact same snippet:
sync on
sync rate 30
do
Mx = MouseX(): My = MouseY(): Mc = MouseClick()
Gosub Screen
`Music 1
if Mx > 0 and Mx < 100 and My > 100 and My < 120
ink rgb(0,0,100),0 : text 0,100,"Music1"
if Mc=1 then gosub music1
Endif
`Music2
if Mx > 0 and Mx < 100 and My > 130 and My < 150
ink rgb(0,0,100),0 : text 0,130,"Music2"
if Mc=1 then gosub music2
Endif
`Music3
if Mx > 0 and Mx < 100 and My > 160 and My < 180
ink rgb(0,0,100),0 : text 0,160,"Music3"
if Mc=1 then gosub music3
Endif
`QUIT
if Mx > 0 and Mx < 100 and My > 190 and My < 210
ink rgb(0,0,100),0 : text 0,190,"QUIT"
if Mc=1 then end
Endif
sync
loop
Screen:
cls
ink rgb(255,255,255),0
text 0,100,"Music1"
text 0,130,"Music2"
text 0,160,"Music3"
text 0,190,"QUIT"
text 260,0,"Favourite Hits"
return
rem music 1
music1:
load music "Mind Trick.mid",1
play music 1
suspend for key
stop music 1
Return
rem music 2
music2:
load music "Dodge This.mid",2
play music 2
suspend for key
stop music 2
Return
rem music 3
music3:
load music "dj rankin - crazy frog remix 1.mp3",3
play music 3
suspend for key
stop music 3
Return
Does exactly the same, but a little more organised and easier to follow/add to.
I won't give my usual "don't use Goto's" speech - you are all probably tired of hearing it lol!
TDK_Man