1 REM Ins{nd av Patric Ljung <5455> 1986-01-26 12.14.41 1000 ! *---- 1010 ! * FNQIX.GAM 1020 ! * Konstrukt|r: Patric Ljung / MI Software 1030 ! * Datum: 1986-01.?? 1040 ! *------------------------------------------- 1050 ! * Till den som vill se hur 'pinnen' ter sig. 1060 ! * Om synpunkter finns vill ovanst}ende g{rna 1070 ! * ta del av dessa. S} spelet blir b{ttre. 1080 ! * 1090 ! * / Patric <5455> 1100 ! *------------------------------------------- 1110 ! 1120 ! 1130 ! 1140 EXTEND : INTEGER : RANDOMIZE : OPTION BASE 0 : ATTRIBUTE 1 1150 FGCTL 0 : FGCTL BLK+GRED+GGRN+GBLU+BLK 1160 OUT 7.+2.*256.,10. ! ,7+3*256,12 1170 DIM Led$=150,Cs.(179),Sn.(179) 1180 ! 1190 X=127 : Y=119 : R=6 1200 Dirx=1 : Diry=1 : Dv=4 : V=1 : Dr=1 1210 Led$=STRING$(80,0) : Z=FNInitrig 1220 FGPOINT 1,1,3 : FGLINE 254,1 : FGLINE 254,238 1230 FGLINE 1,238 : FGLINE 1,1 1240 ; CHR$(12) CUR(24,35) GRN NWBG RED EL ' QIX ' BLBG NRML ' '; 1250 ! 1260 ! 1270 ! 1280 WHILE -1 1290 X=X+Dirx : Y=Y+Diry 1300 IF X<32 OR X>223 X=X-Dirx : Z=FNChdir 1310 IF Y<32 OR Y>206 Y=Y-Diry : Z=FNChdir 1320 X1=Cs.(V)*R : Y1=Sn.(V)*R : V=(V+Dv) AND 255 1330 IF V>179 V=V-180 1340 R=R+Dr : IF R<6 OR R>25 R=R-Dr : Z=FNChrot 1350 X2=X+X1 : Y2=Y+Y1 : X3=X-X1 : Y3=Y-Y1 1360 Z=FNCv1(X2)+FNCv1(Y2)+FNCv1(X3)+FNCv1(Y3) 1370 X4=FNCv2 : Y4=FNCv2 : X5=FNCv2 : Y5=FNCv2 1380 FGPOINT X4,Y4,0 : FGLINE X5,Y5 1390 FGPOINT FNCv3(65),FNCv3(67),2 : FGLINE FNCv3(69),FNCv3(71) 1400 FGPOINT X2,Y2,1 : FGLINE X3,Y3 1410 IF RND>.9 Z=FNChrot+FNChdir 1420 WEND 1430 ! 1440 ! 1450 ! 1460 DEF FNChdir 1470 Dirx=INT(RND*4)*2-3 : Diry=INT(RND*4)*2-3 1480 RETURN -1 1490 FNEND 1500 ! 1510 ! 1520 ! 1530 DEF FNChrot 1540 Dv=INT(RND*8)*2-7 1550 Dr=INT(RND*3)-1 1560 RETURN -1 1570 FNEND 1580 ! 1590 ! 1600 ! 1610 DEF FNCv1(Koor) LOCAL Koor 1620 Led$=Led$+CVT%$(Koor) 1630 RETURN -1 1640 FNEND 1650 ! 1660 ! 1670 ! 1680 DEF FNCv2 LOCAL W$=2 1690 W$=LEFT$(Led$,2) : Led$=RIGHT$(Led$,3) 1700 RETURN CVT$%(W$) 1710 FNEND 1720 ! 1730 ! 1740 ! 1750 DEF FNCv3(Pos) LOCAL Pos 1760 RETURN CVT$%(MID$(Led$,Pos,2)) 1770 FNEND 1780 ! 1790 ! 1800 ! 1810 DEF FNInitrig LOCAL I 1820 I=0 1830 WHILE I<180 1840 Cs.(I)=COS(I*2*PI/180.) : Sn.(I)=SIN(I*2*PI/180.) 1850 I=I+1 1860 WEND 1870 RETURN -1 1880 FNEND