The Rainbow Vol. 09 No. 01 - August 1989 - TRS-80 Color ...
The Rainbow Vol. 09 No. 01 - August 1989 - TRS-80 Color ...
The Rainbow Vol. 09 No. 01 - August 1989 - TRS-80 Color ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
G<br />
750 PUTCX 1, Yl)-(X1+15 , Yl+15),CC ,<br />
PSET<br />
760 A=PEEKC652<strong>80</strong>) : IF A=254 OR A=<br />
126 THEN COLOR1,5 : LIN ECX1,Y1)-(X<br />
1+15,Y1+15) , PSET,BF : CO LOR3,5 : GOT<br />
07<strong>80</strong><br />
770 X2=X1 : Y2=Y1 :GOT06<strong>80</strong><br />
7<strong>80</strong> SOU ND150,2<br />
790 IF OX0 AND OX9 AND OY0<br />
AND OY9 THEN GOT02020<br />
<strong>80</strong>0 IF OX =0 AND OY=0 THEN 2190<br />
810 IF OX=0 AND OY=9 THE N 2190<br />
820 IF OX =9 AND OY=0 THEN 2190<br />
830 IF OX=9 AND OY=9 TH EN 2190<br />
834 '<br />
835 ' SAVE MOVE - CHECK IF REPEA T<br />
840 K$=STR$ (OX)+ " , "+STR$ ( OY)<br />
850 FOR N=0 TO MV<br />
860 IF MV$( N, 1)=K$ THEN 900<br />
870 NEXT N<br />
8<strong>80</strong> MV$CMV,1)=K$<br />
890 GOT<strong>01</strong>000<br />
894 '<br />
895 ' REPEAT MOVE PROCESSING<br />
900 Z=OX : GOSUB1770 : X1=ZX<br />
910 Z=OY : GOS UB1760 : Y1=ZY<br />
920 X$=MV$CN ,0) : GOS UB1940 : X=K1 : Y<br />
=K2<br />
930 L=P<br />
940 P=VAL(M V$(N ,2))<br />
950 IF P=17 THEN P=L : COLOR4,5 : MV<br />
=MV-1 : GOTO 1720<br />
960 IF P=18 THEN P= L: CO LOR3,5 : MV<br />
=MV-1 : GOT<strong>01</strong>530<br />
970 ZP$= "Y"<br />
990 GOTO 1600<br />
994 '<br />
995 ' CONVERT X,Y TO GRAPH I CS LOC<br />
AT IONS<br />
1000 IF X1=62 OR X1=236 THEN GOT<br />
0 1020<br />
1<strong>01</strong>0 IF Y1=1 OR Y1=174 TH EN 1070<br />
1020 IF X1=236 THEN 1050<br />
1030 Y=IN TCY1/18) : X=0<br />
1040 FLG$="X+1 " : GOTO 1120<br />
1050 Y=INTCY1/18) : X=9<br />
1060 FLG$ ="X-1": GOT<strong>01</strong> 120<br />
1070 IF Y1 =174 THEN GOT<strong>01</strong>100<br />
10<strong>80</strong> X=INTCCX1-66) / 18) : Y=0<br />
1<strong>09</strong>0 FLG$= "Y+1 ": GOT0 1120<br />
1100 X=INTCCX1-66)/18) : Y=9<br />
1110 FLG$ ="Y-1 " : GOT<strong>01</strong>120<br />
1114 '<br />
1115 ' PROCESSING OF BEAM PAT H<br />
1120 IF LEFT$(FLG$,1)= "Y" THEN 1<br />
320<br />
1130 IF RIGHT$(FLG$ , 2)= "-1" THEN<br />
GOTO 1230<br />
1140 IF X=9 THEN 15<strong>80</strong><br />
1150 IF GRCX,Y)=-1 THEN 1510<br />
1160 IF Y+1 -1 THEN IF X=0 AND G<br />
30 THE RAINBOW <strong>August</strong> <strong>1989</strong><br />
RCX+1,Y-1)=- 1 THEN 15<strong>80</strong><br />
11<strong>80</strong> I F Y- 10 TH EN IF GRCX+1 , Y-<br />
1)=- 1 THEN FL G$="Y+1 " : GO T<strong>01</strong>1 20<br />
1190 IF Y+1 9 THEN IF GR(X+1 , Y+<br />
1)= -1 THEN FLG$= "Y-1": GOT <strong>01</strong> 120<br />
1200 IF GR(X , Y)=- 1 THEN 15 10<br />
12 10 IF X+ 1 10 THE N X=X+1 : GOT <strong>01</strong><br />
120<br />
1220 GOT<strong>01</strong>1 20<br />
1230 IF X=0 TH EN 15<strong>80</strong><br />
1240 IF GR(X,Y)= -1 THEN 1510<br />
1250 IF Y+1< 10 THE N I F X=9 AND G<br />
RCX -1, Y+1)=-1 TH EN 15<strong>80</strong><br />
1260 I F Y-1>- 1 THEN IF X=9 AND G<br />
R(X - 1,Y -1)=-1 THEN 15<strong>80</strong><br />
1270 IF Y-10 THE N IF GR(X -1, Y-<br />
1)=- 1 THEN FL G$= "Y+1": GOT<strong>01</strong> 120<br />
12<strong>80</strong> IF Y+19 THE N IF GRCX -1 , Y+<br />
1)=-1 THEN FLG$= "Y-1 " : GOT<strong>01</strong> 120<br />
1290 I F GR( X, Y)= -1 THEN 1510<br />
1300 IF X- 1-1 TH EN X=X-1 : GOT<strong>01</strong><br />
120<br />
1310 GOT<strong>01</strong>1 20<br />
1320 IF RIGHT $CFLG$ , 2)= "-1 " THEN<br />
GOTO 1420<br />
1330 I F Y=9 THEN 15<strong>80</strong><br />
1340 IF GR(X,Y)= -1 TH EN 1510<br />
1350 IF X+ 1-1 TH EN IF Y=0 AND G<br />
R(X - 1,Y+1)=-1 TH EN 15<strong>80</strong><br />
1370 I F X- 10 THEN IF GRCX-1 , Y+<br />
1)=-1 THEN FLG$= "X+1": GO T<strong>01</strong>120<br />
13<strong>80</strong> IF X+19 THE N I F GRCX+1, Y+<br />
1)= -1 THEN FLG$= "X-1 " : GOT0 1120<br />
1390 IF GR(X ,Y )=-1 TH EN 1510<br />
1400 I F Y+1 10 TH EN Y=Y+1: GOT0 1<br />
120<br />
14 10 GOT<strong>01</strong>1 20<br />
1420 IF Y=0 TH EN 15<strong>80</strong><br />
1430 IF GR(X ,Y )=- 1 TH EN 1510<br />
1440 IF X+1-1 THE N IF Y=9 AND G<br />
R(X- 1,Y-1)=- 1 THEN 15<strong>80</strong><br />
1460 IF X-10 THE N IF GR(X-1,Y <br />
l)=- 1 THEN FL G$= "X+ 1" : GOT0 11 20<br />
1470 IF X+ 19 THEN I F GR(X+ 1,Y -<br />
1)=- 1 THE N FLG$= "X- 1" : GOT0 1120<br />
14<strong>80</strong> IF GR(X , Y)=- 1 THEN 1510<br />
1490 IF Y-1- 1 THEN Y=Y- 1: GOT<strong>01</strong><br />
120<br />
1500 GO T<strong>01</strong>1 20<br />
1504 '<br />
1505 ' *** HIT ***<br />
15 10 COLOR3,5<br />
1520 MV$( MV ,0)=MV$( MV, 1) : MV$(M V,<br />
2)= "18 "<br />
1530 LIN E(X1,Y1)-(X 1+15, Y1+ 15),P<br />
RESE T,B F<br />
1540 LI NEC X1,Yl ) - CX1+ 15, Yl+15), P<br />
SET,B F<br />
1550 GETCX1 , Yl) - (X1+15,Yl+15) , CS<br />
, G