dos33fsprogs/graphics/gr/raycast/ray_good.bas
2021-06-02 17:03:37 -04:00

14 lines
378 B
QBasic

10 GR
20 Z=H:FOR Y=0 TO 39:Z=Z+0.04
30 XX=SIN(Z)/2:YY=COS(Z)/2:D=0:RX=PX:RY=PY
40 D=D+1:IF D>40 THEN 60
50 RX=RX+XX:RY=RY+YY
55 C=0:IF ABS(RX)>16 OR ABS(RY)>16 THEN C=5
56 IF RX>4 AND RX<6 AND RY>4 AND RY<6 THEN C=1
57 IF C=0 THEN 40
60 U=40/D:IF U>19 THEN U=19
70 V=19-U:COLOR=7:VLIN0,V AT Y
75 COLOR=C:VLINV,V+U+U AT Y
80 COLOR=8:VLIN V+U+U,39 AT Y
100 NEXT Y:H=H+0.2:GOTO 20