En ole tehnyt tätä varmaan maailman parhaalla tavalla, koodi on tässä:
Code: Select all
SCREEN 800,640
c=LoadSound("EGuitar\C.wma")
cy=LoadSound("EGuitar\C#.wma")
d=LoadSound("EGuitar\D.wma")
dy=LoadSound("EGuitar\D#.wma")
e=LoadSound("EGuitar\E.wma")
f=LoadSound("EGuitar\F.wma")
fy=LoadSound("EGuitar\F#.wma")
g=LoadSound("EGuitar\G.wma")
gy=LoadSound("EGuitar\G#.wma")
a=LoadSound("EGuitar\A.wma")
ay=LoadSound("EGuitar\A#.wma")
h=LoadSound("EGuitar\H.wma")
c2=LoadSound("EGuitar\C2.wma")
tallennus=1
sn = 60
Dim soitettava(1000)
For i=1 To 1000
soitettava(i) = ""
Next i
nyt=0
ns = 0
Repeat
' Musiikin "äänittäminen"
If KeyUp(28) Then tallennus=0
If KeyUp(29) Or KeyUp(157) Then Gosub soita
If KeyUp(30) Then PlaySound c : nyt+1 : soitettava(nyt) = 1
If KeyUp(31) Then PlaySound d : nyt+1 : soitettava(nyt) = 2
If KeyUp(32) Then PlaySound e : nyt+1 : soitettava(nyt) = 3
If KeyUp(33) Then PlaySound f : nyt+1 : soitettava(nyt) = 4
If KeyUp(34) Then PlaySound g : nyt+1 : soitettava(nyt) = 5
If KeyUp(35) Then PlaySound a : nyt+1 : soitettava(nyt) = 6
If KeyUp(36) Then PlaySound h : nyt+1 : soitettava(nyt) = 7
If KeyUp(37) Then PlaySound c2 : nyt+1 : soitettava(nyt) = 8
If KeyUp(17) Then PlaySound cy : nyt+1 : soitettava(nyt) = 9
If KeyUp(18) Then PlaySound dy : nyt+1 : soitettava(nyt) = 10
If KeyUp(20) Then PlaySound fy : nyt+1 : soitettava(nyt) = 11
If KeyUp(21) Then PlaySound gy : nyt+1 : soitettava(nyt) = 12
If KeyUp(22) Then PlaySound ay : nyt+1 : soitettava(nyt) = 13
If LeftKey() Then sn-1
If RightKey() Then sn+1
ClearText
AddText "Soittonopeus: " + sn + " iskua / min: "
DrawScreen
Forever
soita: ' Musiikin toistaminen
ns+1
If soitettava(ns) <> 0 Then
AddText "" + soitettava(ns)
If soitettava(ns) = 1 Then PlaySound c
If soitettava(ns) = 2 Then PlaySound d
If soitettava(ns) = 3 Then PlaySound e
If soitettava(ns) = 4 Then PlaySound f
If soitettava(ns) = 5 Then PlaySound g
If soitettava(ns) = 6 Then PlaySound a
If soitettava(ns) = 7 Then PlaySound h
If soitettava(ns) = 8 Then PlaySound c2
If soitettava(ns) = 9 Then PlaySound cy
If soitettava(ns) = 10 Then PlaySound dy
If soitettava(ns) = 11 Then PlaySound fy
If soitettava(ns) = 12 Then PlaySound gy
If soitettava(ns) = 13 Then PlaySound ay
Wait 17*sn ' Odotetaan, kunnes seuraavan nuotin saa soittaa. Lasketaan soittonopeudesta.
Gosub soita
EndIf
Return
EDIT:
Onko kaava mahdollisesti: 1 / Isk.PerMin * 60 ?