Вот код в Small Basic:
GraphicsWindow.CanResize = 0
GraphicsWindow.Width = 201
GraphicsWindow.Height = 300
X = 0
circumstance = 0
'Initialization
GraphicsWindow.SetPixel(100,0,"Black")
code = "01111111"
'Start
For i=1 To GraphicsWindow.Height
For X=0 To GraphicsWindow.Width
Program.Delay(1)
If X>0 Then
If GraphicsWindow.GetPixel(X-1,i-1) = "Black" Then
circumstance = circumstance + 1
EndIf
EndIf
If GraphicsWindow.GetPixel(X,i-1) = "Black" Then
circumstance = circumstance + 10
EndIf
If X<GraphicsWindow.Width Then
If GraphicsWindow.GetPixel(X+1,i-1) = "Black" Then
circumstance = circumstance + 100
EndIf
EndIf
TextWindow.WriteLine(circumstance)
EndFor
EndFor
Что он делает, так это просматривает графическое окно пиксель за пикселем. Переменная "обстоятельство" - это то, что он нашел. Если в верхнем левом углу целевого пикселя есть черный пиксель, первая цифра будет равна 1. Если в верхней части целевого пикселя есть черный пиксель, вторая цифра будет равна 1. Если есть черный пиксель в вверху справа от целевого пикселя, третья цифра будет 1. Но независимо от того, что я пытаюсь, обстоятельства всегда выводят 000.