Microsoft Small Basic
Program Listing: TMQ892
GraphicsWindow.Width = 500
GraphicsWindow.Height = 400
tbShow = Controls.AddTextBox(170,110)
tbType = Controls.AddTextBox(170,200)
bNext = Controls.AddButton("next",350,200)
letter[1] = "a"
letter[2] = "b"
letter[3] = "c"
letter[4] = "d"
letter[5] = "e"
letter[6] = "f"
letter[7] = "g"
letter[8] = "h"
letter[9] = "i"
letter[10] = "j"
letter[11] = "k"
letter[12] = "l"
letter[13] = "m"
letter[14] = "n"
letter[15] = "o"
letter[16] = "p"
letter[17] = "q"
letter[18] = "r"
letter[19] = "s"
letter[20] = "t"
letter[21] = "u"
letter[22] = "v"
letter[23] = "w"
letter[24] = "x"
letter[25] = "y"
letter[26] = "z"
a = "0"
b = "0"
n = Math.GetRandomNumber(26)
Controls.SetTextBoxText(tbShow,letter[n])
Controls.ButtonClicked = subButtonClicked
Sub subButtonClicked
btnClicked = Controls.LastClickedButton
If (Controls.GetTextBoxText(tbType) = letter[n]) Then
n = Math.GetRandomNumber(26)
Controls.SetTextBoxText(tbShow,letter[n])
a = a + 1
b = b + 1
Controls.SetTextBoxText(tbType,"")
Else
a = a + 1
n = Math.GetRandomNumber(26)
Controls.SetTextBoxText(tbShow,letter[n])
Controls.SetTextBoxText(tbType,"")
EndIf
If (a = 10) Then
Controls.HideControl(tbShow)
Controls.HideControl(tbType)
Controls.HideControl(bNext)
scoredisplay = Controls.AddTextBox(170,160)
score = Controls.AddTextBox(170,200)
Controls.SetTextBoxText(scoredisplay," \/ score \/")
Controls.SetTextBoxText(score,b + " out of " + a)
brestart = Controls.AddButton("restart",310,300)
EndIf
If (brestart = Controls.LastClickedButton) Then
a = 0
b = 0
Controls.HideControl(scoredisplay)
Controls.HideControl(score)
Controls.HideControl(brestart)
Controls.ShowControl(tbShow)
Controls.ShowControl(tbType)
Controls.ShowControl(bNext)
n = Math.GetRandomNumber(26)
Controls.SetTextBoxText(tbShow,letter[n])
EndIf
EndSub