1 REM ++++++++++++++++++++++++++++++++ 2 REM ! Program .... ALIEN 3 REM ! Utg}va 1.0 31 Jan. -80 4 REM ! av (c) 5 REM ! {ndrat av Nils H{ggblom 7 REM ! Minne 16 Kbytes 9 REM ++++++++++++++++++++++++++++++++ 30 RANDOMIZE 40 DIM Q(9,9) 50 ; CHR$(12) 60 ; "ENTER YOUR NAME FOR THE GALACTIC RECORDS" 70 INPUT A$ 90 ; 130 ; 280 S=25 290 ; CHR$(12) : ; "COMMANDER ";A$;" YOU HAVE ";S;" SHOTS" : GET H$ 300 FOR X=1 TO 9 310 FOR Y=1 TO 9 320 Q(Y,X)=0 330 Q(0,X)=-1 340 Q(9,X)=-1 350 Q(Y,0)=-1 360 Q(Y,9)=-1 370 NEXT Y 380 NEXT X 390 X=INT(10*RND(0)) 400 IF X<1 THEN 390 410 IF X>8 THEN 390 420 Y=INT(10*RND(0)) 430 IF Y<1 THEN 420 440 IF Y>8 THEN 420 450 ; CHR$(12) 460 ; "ENEMY'S LAST KNOWN POSITION" 470 ; "SECTOR ";X;" ,";Y 475 D%=X*2-1 : C%=Y+3 480 ; 490 IF S<=0 THEN 1310 500 C=X 510 D=Y 520 A=INT(10*RND(0)) 530 IF AC THEN 580 570 GOTO 590 580 X=X+1 590 IF X<1 THEN 610 600 GOTO 620 610 X=1 620 IF X>8 THEN 640 630 GOTO 650 640 X=8 650 A=INT(10*RND(0)) 660 IF AD THEN 710 700 GOTO 720 710 Y=Y+1 720 IF Y<1 THEN 740 730 GOTO 750 740 Y=1 750 IF Y>8 THEN 770 760 GOTO 780 770 Y=8 780 IF Q(Y,X)<>-1 THEN 820 790 X=C 800 Y=D 810 GOTO 520 820 FOR A=1 TO 8 830 FOR B=1 TO 8 840 IF Q(A,B)=0 THEN 860 850 GOTO 870 860 ; " ";"*"; 870 IF Q(A,B)=-1 THEN 890 880 GOTO 900 890 ; " ";" "; 900 NEXT B 910 ; " ";A 920 NEXT A 930 ; " 1 2 3 4 5 6 7 8 " 935 X%=31744%+(C%-C%/8%*8%)*128%+C%/8%*40%+D% : POKE X%,PEEK(X%) OR 128% 940 ; 950 A=INT(10*RND(0)) 960 IF A>4 THEN 1020 970 ; "COMMANDER ";A$;" YOU HAVE BEEN ATTACKED" 980 ; "ENERGY USED TO REPLENISH SHIELDS " 990 S=S-1 1000 ; "COMMANDER ";A$;" ONLY ";S;" SHOTS REMAIN" 1010 ; 1020 A=INT(10*RND(0)) 1030 IF A<9 THEN 1150 1040 A=INT(10*RND(0)) 1050 IF A=X THEN 1040 1060 IF A<1 THEN 1040 1070 IF A<8 THEN 1040 1080 B=INT(10*RND(0)) 1090 IF B=Y THEN 1080 1100 IF B<1 THEN 1080 1110 IF B>8 THEN 1080 1120 Q(B,A)=-1 1130 ; "NOVA IN SECTOR ";A;" , ";B 1140 ; 1150 ; "ENTER YOUR PHASER SHOT (X,Y)"; 1160 ONERRORGOTO 1160 : INPUT A,B : ONERRORGOTO 0 1170 S=S-1 1180 IF A=X AND B=Y THEN 1340 1190 IF Q(B,A)=-1 THEN 1400 1200 Q(B,A)=-1 1210 FOR A=X-1 TO X+1 1220 FOR B=Y-1 TO Y+1 1230 IF A=X AND B=Y THEN 1250 1240 IF Q(B,A)<>-1 THEN 450 1250 NEXT B 1260 NEXT A 1270 ; CHR$(12) : ; "GOOD SHOW COMMANDER ";A$ 1280 ; "YOU HAVE CAPTURED THE ALIEN ENEMY" 1290 ; "AND YOU HAVE ";S;" SHOTS REMAINING" 1300 GOTO 1440 1310 ; "COMMANDER ";A$ 1320 ; "YOU HAVE NO MORE ENERGY FOR PHASERS" 1330 GOTO 1370 1340 ; CHR$(12) : ; "COMMANDER ";A$ 1350 ; "YOU DID BLOW IT THIS TIME" 1360 ; "YOU ZAPPED THE ALIEN!!!!!!!!" 1370 ; "YOUR MISSION WAS A TOTOAL WASTE OF TIME " 1380 ; "FOR YOU AND THE EMPIRE" 1390 GOTO 1440 1400 ; "COMMANDER ";A$ 1410 ; "GOOD-SHOT, YOU FIRED ON A PREVIOUSLY DESTROYED AREA" 1420 ; "TURKEY" : GET H$ 1430 GOTO 450 1440 ; : ; "*** RUN COMPLETE ***" : GET H$ : GOTO 280