Really cool, never done anything of that kind though :oops: So just for better understandability(for myself) I rewrote it to n+1 lines, but gives a better overview.

1 DIM L(7, 7)

FOR Y = 0 TO 7

FOR X = 0 TO 7

READ L(X, Y)

NEXT X

NEXT Y

X = 24

Y = 24

F = 45

SCREEN 13

2 FOR s = -160 TO 149 STEP 10

R = F + (s * .1875)

R = R + 360 * ((R > 360) - (R < 0))

XI = COS(R / 57)

YI = SIN(R / 57)

X1 = X

Y1 = Y

3 X1 = X1 + XI

Y1 = Y1 + YI

IF L(X1 / 16, Y1 / 16) = 0 THEN GOTO 3

4 D = ABS((X - X1) / COS(R / 57))

H = (1816 / D)

LINE (s + 160, 100 - H)-(s + 169, 100 + H), 1, BF

LINE (s + 160, 0)-(s + 169, 99 - H), 0, BF

LINE (s + 160, 99 - H)-(s + 169, 99 - H), 4 'this line is also my creation

LINE (s + 160, 101 + H)-(s + 169, 320), 0, BF

LINE (s + 160, 101 + H)-(s + 169, 101 + H), 2 'and added this line

5 NEXT s

a$ = INKEY$

F = F + 5 * (a$ = ",") - 5 * (a$ = ".")

F = F - 355 * (F = -5) + 360 * (F = 365)

IF a$ = " " AND (L((X + COS(F / 57)) / 16, (Y + SIN(F / 57)) / 16) = 0) THEN

X = X + COS(F / 57)

Y = Y + SIN(F / 57)

ELSEIF a$ = CHR$(27) THEN END

END IF

6 GOTO 2

DATA 1, 1, 1, 1, 1, 1, 1 ,1

DATA 1, 0, 0, 1, 0, 0, 0, 1

DATA 1, 1, 0, 1, 0, 1, 0, 1

DATA 1, 0, 0, 0, 0, 1, 0, 1

DATA 0, 1, 1, 1, 0, 1, 0, 1

DATA 1, 0, 1, 1, 0, 1, 1, 1

DATA 1, 0, 0, 0, 0, 0, 0, 1

DATA 1, 1, 1, 1, 1, 1, 1, 1