Microsoft Small Basic
Program Listing: SLX082
w = GraphicsWindow.Width
h = GraphicsWindow.Height
SignalSize = w / 10 * 3
SelectSignal = 1
GraphicsWindow.Hide()
GraphicsWindow.PenColor = "block"
GraphicsWindow.PenWidth = 3
GraphicsWindow.BrushColor = "blue"
b = Shapes.AddEllipse(SignalSize, SignalSize)
GraphicsWindow.BrushColor = "yellow"
y = Shapes.AddEllipse(SignalSize, SignalSize)
GraphicsWindow.BrushColor = "red"
r = Shapes.AddEllipse(SignalSize, SignalSize)
SignalY = (h / 2) - (SignalSize / 2)
SignalX = w / 100 * 4
Shapes.Move(b, SignalX, SignalY)
SignalX = w / 100 * 35
Shapes.Move(y, SignalX, SignalY)
SignalX = w / 100 * 66
Shapes.Move(r, SignalX, SignalY)
OnSignal()
GraphicsWindow.Show()
Timer.Tick = OnSignal
Timer.Interval = 1000
Sub OnSignal
Shapes.SetOpacity(b, 30)
Shapes.SetOpacity(y, 30)
Shapes.SetOpacity(r, 30)
If SelectSignal = 1 Then
Shapes.SetOpacity(b, 100)
EndIf
If SelectSignal = 2 Then
Shapes.SetOpacity(y, 100)
EndIf
If SelectSignal = 3 Then
Shapes.SetOpacity(r, 100)
EndIf
SelectSignal = SelectSignal + 1
If (SelectSignal > 3) Then
SelectSignal = 1
EndIf
EndSub