Microsoft Small Basic

Program Listing: KXC855
Turtleapp:

'Set up of program

GraphicsWindow.Height = Desktop.Height - 300
GraphicsWindow.Width = Desktop.Width - 300
Turtle.Show()

'Program logic

TextWindow.WriteLine("Turtle App")
TextWindow.WriteLine("")
TextWindow.WriteLine("Commands: Turn Left, Turn Right, Move, Move Back, Turn Angle, Random, End. Is case sensitive.")

Sub TurnLeft
Turtle.TurnLeft()
EndSub

Sub TurnRight
Turtle.TurnRight()
EndSub

Sub Move
TextWindow.Write("Distance: ")
dist = TextWindow.ReadNumber()
Turtle.Move(dist)
EndSub

Sub MoveBack
TextWindow.Write("Distance: ")
back = TextWindow.ReadNumber()
Turtle.Move(back - back*2)
EndSub

Sub TurnAngle
TextWindow.Write("Angle: ")
angle = TextWindow.Read()
TextWindow.Write("Left or Right")
x = TextWindow.Read()
If (x = "Left") Then
Turtle.Turn(angle - angle*2)
Endif
If (x = "Right") Then
Turtle.Turn(angle)
EndIf
EndSub

Sub Random
lor = Math.GetRandomNumber(2)
direct = Math.GetRandomNumber(360)
am = Math.GetRandomNumber(300)
If (lor = 1) Then
Turtle.Angle(direct - direct * 2)
Turtle.Move(am)
Endif
If (lor = 2) Then
Turtle.Angle(direct)
Turtle.Move(am)
EndIf
EndSub

Sub Main
TextWindow.Write("Command: ")
cmd = TextWindow.Read()

If cmd = "Turn Left" Then
TurnLeft()
Main()
EndIf

If cmd = "Turn Right" Then
TurnRight()
Main()
Endif

If cmd = "Move" Then
Move()
Main()
Endif

If cmd = "Move Back" Then
MoveBack()
Main()
Endif

If cmd = "Turn Angle" Then
TurnAngle()
Main()
Endif

If cmd = "Random" Then
Random()
Main()
EndIf

EndSub

Main()