Microsoft Small Basic

Program Listing: FTN258
GraphicsWindow.Title = "Piano"
GraphicsWindow.Width = 500
GraphicsWindow.Height = 300

sirohaba = 30
sirotakasa = 90
kurohaba = 26
kurotakasa = 50

'白鍵の描画
For i = 1 To 14
GraphicsWindow.PenColor = "black"
GraphicsWindow.DrawRectangle(sirohaba * i, 50, sirohaba, sirotakasa)
EndFor
'黒鍵の描画
For i = 1 To 2
GraphicsWindow.BrushColor = "black"
GraphicsWindow.FillRectangle(16 + (sirohaba * i), 50, kurohaba, kurotakasa)
EndFor
For i = 4 To 6
GraphicsWindow.BrushColor = "black"
GraphicsWindow.FillRectangle(16 + (sirohaba * i), 50, kurohaba, kurotakasa)
EndFor
For i = 8 To 9
GraphicsWindow.BrushColor = "black"
GraphicsWindow.FillRectangle(16 + (sirohaba * i), 50, kurohaba, kurotakasa)
EndFor
For i = 11 To 13
GraphicsWindow.BrushColor = "black"
GraphicsWindow.FillRectangle(16 + (sirohaba * i), 50, kurohaba, kurotakasa)
EndFor

GraphicsWindow.MouseDown = OnMouseDown

For i = 1 to 14
kurohidari[i] = 16 + (sirohaba * i)
kuromigi[i] = 16 + (sirohaba * i) + kurohaba
sirohidari[i] = sirohaba * i
siromigi[i] = sirohaba * (i + 1) - 1
Endfor

Sub OnMouseDown
x = GraphicsWindow.MouseX
y = GraphicsWindow.MouseY

'黒鍵をクリックした時に音を鳴らす
If kurohidari[1] <= x And x <= kuromigi[1] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 c+")
EndIf
If kurohidari[2] <= x And x <= kuromigi[2] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 d+")
EndIf
If kurohidari[4] <= x And x <= kuromigi[4] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 f+")
EndIf
If kurohidari[5] <= x And x <= kuromigi[5] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 g+")
EndIf
If kurohidari[6] <= x And x <= kuromigi[6] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 a+")
EndIf
If kurohidari[8] <= x And x <= kuromigi[8] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 c+")
EndIf
If kurohidari[9] <= x And x <= kuromigi[9] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 d+")
EndIf
If kurohidari[11] <= x And x <= kuromigi[11] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 f+")
EndIf
If kurohidari[12] <= x And x <= kuromigi[12] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 g+")
EndIf
If kurohidari[13] <= x And x <= kuromigi[13] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 a+")
EndIf

'白鍵(被りなし部分)をクリックした時に音を鳴らす
If sirohidari[1] <= x And x <= siromigi[1] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o4 c")
EndIf
If sirohidari[2] <= x And x <= siromigi[2] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o4 d")
EndIf
If sirohidari[3] <= x And x <= siromigi[3] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o4 e")
EndIf
If sirohidari[4] <= x And x <= siromigi[4] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o4 f")
EndIf
If sirohidari[5] <= x And x <= siromigi[5] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o4 g")
EndIf
If sirohidari[6] <= x And x <= siromigi[6] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o4 a")
EndIf
If sirohidari[7] <= x And x <= siromigi[7] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o4 b")
EndIf
If sirohidari[8] <= x And x <= siromigi[8] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o5 c")
EndIf
If sirohidari[9] <= x And x <= siromigi[9] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o5 d")
EndIf
If sirohidari[10] <= x And x <= siromigi[10] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o5 e")
EndIf
If sirohidari[11] <= x And x <= siromigi[11] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o5 f")
EndIf
If sirohidari[12] <= x And x <= siromigi[12] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o5 g")
EndIf
If sirohidari[13] <= x And x <= siromigi[13] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o5 a")
EndIf
If sirohidari[14] <= x And x <= siromigi[14] And 100 <= y And y <= 140 Then
Sound.PlayMusic("o5 b")
EndIf

'白鍵(黒鍵との被りあり部分)をクリックした時に音を鳴らす
If sirohidari[1] <= x And x <= kurohidari[1] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 c")
EndIf
If kuromigi[1] <= x And x <= kurohidari[2] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 d")
EndIf
If kuromigi[2] <= x And x <= siromigi[3] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 e")
EndIf
If sirohidari[4] <= x And x <= kurohidari[4] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 f")
EndIf
If kuromigi[4] <= x And x <= kurohidari[5] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 g")
EndIf
If kuromigi[5] <= x And x <= kurohidari[6] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 a")
EndIf
If kuromigi[6] <= x And x <= siromigi[7] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o4 b")
EndIf
If sirohidari[8] <= x And x <= kurohidari[8] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 c")
EndIf
If kuromigi[8] <= x And x <= kurohidari[9] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 d")
EndIf
If kurohidari[9] <= x And x <= siromigi[10] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 e")
EndIf
If sirohidari[11] <= x And x <= kurohidari[11] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 f")
EndIf
If kuromigi[11] <= x And x <= kurohidari[12] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 g")
EndIf
If kuromigi[12] <= x And x <= kurohidari[13] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 a")
EndIf
If kuromigi[13] <= x And x <= siromigi[14] And 50 <= y And y <= 100 Then
Sound.PlayMusic("o5 b")
EndIf
EndSub