Microsoft Small Basic

Program Listing: NTQ235
XMAX = 399
YMAX = 399
HABA = 60
MITUDO = 25
RITTAIDO = 2
GraphicsWindow.Width=400
GraphicsWindow.Height=400
Paintsikaku()
For Y = 0 To YMAX
' Erase DOT
For i = 0 To XMAX
DOT[i] = ""
EndFor
TAKASALOAD()
For X = 0 To XMAX
TAKASA1 = TAKASA[X] * RITTAIDO
If (DOT[X] = "") Then
If Math.GetRandomNumber(100) < MITUDO Then
DOT[X] = "7"
Else
DOT[X] = "0"
endif
EndIf
CNumber=DOT[x]
QBColor()
GraphicsWindow.SetPixel(X, Y, col)
TUGI = X + HABA - (TAKASA1 * RITTAIDO)
If TUGI >= 0 And TUGI <= XMAX Then
DOT[TUGI] = DOT[X]
endif
EndFor
endfor
Sub QBCN
If (col1 = "#000000") Or (col1="FF000000") Then
CNumber1 = 0
ElseIf (col1 = "#000080") Or (col1 = "#FF000080") Then
CNumber1 = 1
ElseIf (col1 = "#008000") Or (col1 = "#FF008000") Then
CNumber1= 2
ElseIf (col1 = "#008080") Or (col1 = "#FF008080") Then
CNumber1 = 3
ElseIf (col1 = "#800000") Or (col1 = "#FF800000") Then
CNumber1 = 4
ElseIf (col1 = "#800080") Or (col1 = "#FF800080") Then
CNumber1 = 5
ElseIf (col1 = "#808000") Or (col1 = "#FF808000") Then
CNumber1 = 6
ElseIf (col1 = "#C0C0C0") Or (col1 = "#FFC0C0C0") Then
CNumber1 = 7
ElseIf (col1 = "#808080") Or (col1 = "#FF808080") Then
CNumber1 = 8
ElseIf (col1 = "#0000FF") Or (col1 = "#FF0000FF") Then
CNumber1 = 9
ElseIf (col1 = "#00FF00" ) Or (col1 = "#FF00FF00" ) Then
CNumber1 = 10
ElseIf (col1 = "#00FFFF") Or (col1 = "#FF00FFFF") Then
CNumber1 = 11
ElseIf (col1 = "#FF0000") Or (col1 = "#FFFF0000") Then
CNumber1 = 12
ElseIf (col1 = "#FF00FF") Or (col1 = "#FFFF00FF") Then
CNumber1 = 13
ElseIf (col1 = "#FFFF00") Or (col1 = "#FFFFFF00") Then
CNumber1 = 14
ElseIf (col1 = "#FFFFFF") Or (col1 = "#FFFFFFFF") Then
CNumber1 = 15
EndIf
Endsub
Sub Paintsikaku
j = 1
For i = 1 To 7
CNumber=i
QBColor()
GraphicsWindow.BrushColor=col
GraphicsWindow.FillRectangle(0 + 25 * (i - j), 0 + 25 * (i - j), 400 - 50 * (i - j), 400 - 50 * (i - j))
EndFor
EndSub
Sub QBColor
If (CNumber=0) Then
col="Black"
EndIf
If (CNumber=1) Then
col="Navy"
EndIf
If (CNumber=2) Then
col="Green"
EndIf
If (CNumber=3) Then
col="Teal"
EndIf
If (CNumber=4) Then
col="Maroon"
EndIf
If (CNumber=5) Then
col="Purple"
EndIf
If (CNumber=6) Then
col="Olive"
EndIf
If (CNumber=7) Then
col="Silver"
EndIf
If (CNumber=8) Then
col="Gray"
EndIf
If (CNumber=9) Then
col="Blue"
EndIf
If (CNumber=10) Then
col="Lime"
EndIf
If (CNumber=11) Then
col="Aqua"
EndIf
If (CNumber=12) Then
col="Red"
EndIf
If (CNumber=13) Then
col="Fuchsia"
EndIf
If (CNumber=14) Then
col="Yellow"
EndIf
If (CNumber=15) Then
col="White"
EndIf
EndSub
Sub TAKASALOAD
For X = 0 To XMAX
col1 = GraphicsWindow.GetPixel(X, Y)
QBCN()
TAKASA[X] = CNumber1
EndFor
EndSub