10 CALL CLEAR 12 GOSUB 2000 15 CALL SCREEN(2) 20 CALL CHAR(120,"7EFF99FF7E") 25 CALL CHAR(121,"7EFF99FF7E1824C3") 30 CALL CHAR(128,"181818183C3C2424") 40 CALL CHAR(136,"FFFFFFFFFFFFFFFF") 45 CALL CHAR(137,"7EFF99FF7E") 46 CALL CHAR(138,"3E1C10103864106C") 50 CALL CHAR(144,"0000001") 60 DIM MY(200) 70 DIM MX(200),MD(200) 71 SCORE=0 75 CALL HCHAR(24,1,136,32) 80 FOR F=0 TO 200 85 MD(F)=0 90 MY(F)=1 91 MX(F)=1 92 NEXT F 95 FOR F=50 TO 59 100 MX(F)=(F-49)*2+5 101 MD(F)=1 102 MY(F)=23 105 CALL HCHAR(23,MX(F),128) 106 CALL HCHAR(24,MX(F),F-1) 110 NEXT F 115 MX(49)=25 116 MY(49)=23 117 MD(49)=1 120 CALL HCHAR(24,25,48) 130 RANDOMIZE 11 140 FOR F=1 TO 20 150 CALL HCHAR(INT(RND*9)*2+2,INT(RND*16)*2+2,144) 160 NEXT F 170 CALL COLOR(12,14,1) 175 CALL COLOR(3,2,13) 177 CALL COLOR(4,2,13) 180 CALL COLOR(14,13,1) 190 CALL COLOR(15,16,1) 200 CALL COLOR(13,12,1) 205 ASX=1 206 AEX=32 207 ST=1 210 FOR AY=3 TO 21 STEP 2 220 FOR AX=ASX TO AEX STEP ST 230 CALL HCHAR(AY,AX,120) 240 IF MD(K)<>0 THEN 260 250 CALL KEY(3,K,S) 255 K=K+1 260 CALL HCHAR(MY(K),MX(K),32) 270 MY(K)=MY(K)-MD(K) 275 MD(K)=-(MY(K)>1)*MD(K) 280 CALL HCHAR(MY(K),MX(K),128,MD(K)) 285 CALL SOUND(-1000,500,30-AY,400,30-Y,-7,31-MY(K)) 290 ON (AX=MX(K))*(AY=MY(K))+1 GOSUB 1050,1000 330 CALL HCHAR(AY,AX,32) 340 NEXT AX 350 TEMP=ASX 360 ASX=AEX 370 AEX=TEMP 380 ST=-ST 390 NEXT AY 400 CALL HCHAR(21,1,121) 401 CALL SOUND(10,500,30) 405 CALL HCHAR(MY(K),MX(K),32) 410 CALL HCHAR(21,1,32) 420 CALL HCHAR(22,1,121) 430 CALL HCHAR(22,1,32) 440 CALL HCHAR(23,1,121) 445 CALL HCHAR(23,2,138) 450 FOR F=1 TO 2000 460 NEXT F 470 CALL CLEAR 480 CALL COLOR(3,2,1) 490 CALL COLOR(4,2,1) 500 PRINT "WE COME IN PEACE, PLEASE NO"::"SHOOTING AT US. WE GIVE YOUR"::"SHOOTING A SCORE OF ";STR$(INT(SCORE));".":::::::: 505 CALL SCREEN(3) 510 CALL KEY(3,K,S) 520 IF S=0 THEN 510 530 CALL CLEAR 540 CALL COLOR(12,2,1) 550 CALL COLOR(3,2,1) 560 CALL COLOR(4,2,1) 570 CALL COLOR(14,2,1) 580 CALL COLOR(15,2,1) 590 CALL COLOR(13,2,1) 600 GOTO 15 1000 CALL HCHAR(MY(K),MX(K),137) 1010 CALL SOUND(-200,-6,0) 1020 CALL HCHAR(MY(K),MX(K),120) 1030 SCORE=SCORE+EXP(11-(AY-1)/2) 1040 MD(K)=0 1050 RETURN 2000 REM PR"****************************" 2010 PRINT "********UFO INVASION********":: 2020 PRINT "IT IS LATE 1947 AND YOU ARE A JANITOR AT THE WHITE SANDSPROVING GROUNDS.":: 2030 PRINT "IT IS MIDNIGHT AND YOU SEE AUFO APPROACHING. YOUR ONLY CHOICE IS TO LAUNCH CAPTUREDNAZI V2 WEAPONS AGAINST IT.":: 2040 PRINT "USE THE NUMBER PAD TO LAUNCHTHE CORRESPONDING MISSILE.":: 2045 PRINT "****************************":: 2046 PRINT " PROGRAM BY KEN SANDS":: 2047 PRINT " TI BASIC GAMES UNLIMITED":: 2050 PRINT "**PRESS SPACE-BAR TO BEGIN**" 2060 CALL KEY(3,K,S) 2070 IF K<>32 THEN 2060 2080 CALL CLEAR 2090 RETURN