10-12-2004, 04:12 PM
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.
Code:
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