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