1000 REM******************************* 1010 REM*** I N V A D E R S *** 1020 REM*** *** 1030 REM*** FUER C 64 + 1541 *** 1040 REM*** *** 1050 REM*** (C) M.FRIESE 1983 *** 1060 REM******************************* 1070 : 1080 : 1090 REM "" = CURSOR DOWN 1100 REM "[147]" = CLEAR HOME 1110 REM "" = HOME 1120 REM "" = REVERS ON 1130 REM "[146]" = REVERS di 1140 : 1150 : 1160 REM******************************* 1170 REM*** COMPUTER INITIALISIEREN *** 1180 REM******************************* 1190 : 1200 POKE56,124:CLR:POKE785,0:POKE786,124:POKE53281,0:PRINTCHR$(5) 1210 FOR INDEX=0 TO 910 1220 : READ WERT:POKE31744+INDEX,WERT 1230 : SUMME=SUMME+WERT 1240 NEXT INDEX 1250 IF SUMME<>104201 THEN PRINT"DATEN FEHLER !":END 1260 d3 READ TABLE 1270 d3 DEF FIGURE 1280 : 1290 REM******************************* 1300 REM*** HAUPTPROGRAMM *** 1310 REM******************************* 1320 : 1330 d3 do 1340 d1 NEU 1350 PUNKTE=0:ATTACK=1 1360 d1 START 1370 PRINT"[147]" 1380 FOR ZEILE=2 TO 12 STEP2 1390 : FOR SPALTE=0 TO 20 STEP2 1400 : d ZEILE+ATTACK-1,SPALTE,1,1,64+INT((ZEILE-1)/4)*2,1 1410 : NEXT SPALTE 1420 NEXT ZEILE 1430 d0,0,40,25,1 1440 TREFFER=USR(0):IF TREFFER=66 THEN d2 UEBERLEBT 1450 PUNKTE=PUNKTE+TREFFER*10^ATTACK 1460 d2 TOT 1470 : 1480 : 1490 : 1500 d1 UEBERLEBT 1510 PRINT"[147] ANGRIFF";ATTACK;"BEENDET" 1520 PUNKTE=PUNKTE+1234*10^(ATTACK-1) 1530 PRINT"SIE HABEN";PUNKTE;"PUNKTE" 1540 df "WEITER MIT ",9999 1550 ATTACK=ATTACK+1:d2 START 1560 : 1570 : 1580 : 1590 d1 DEF FIGURE 1600 : 1610 REM******************************* 1620 REM*** DEFINIERT ALLE IM *** 1630 REM*** PROGRAMM VERWENDETEN *** 1640 REM*** SYMBOLE (BASIS,d ADER, *** 1650 REM*** EXPLOSION,SCHUSS,BOMBE) *** 1660 REM******************************* 1670 : 1680 dz:db2,$E000+8*64:REM d ADER 1A 1690 @...BB... 1700 @..BBBB.. 1710 @.BBBBBB. 1720 @BBBBBBBB 1730 @.BBBBBB. 1740 @..B..B.. 1750 @.B....B. 1760 @B......B 1770 db2,$E000+8*65 :REM d ADER 1B 1780 @...BB... 1790 @..B..B.. 1800 @.B....B. 1810 @B......B 1820 @.BBBBBB. 1830 @..B..B.. 1840 @..B..B.. 1850 @.B....B. 1860 db2,$E000+8*66 :REM d ADER 2A 1870 @........ 1880 @BBBBBBBB 1890 @B.BBBB.B 1900 @BBBBBBBB 1910 @BB....BB 1920 @B.BBBB.B 1930 @BBBBBBBB 1940 @........ 1950 db2,$E000+8*67 :REM d ADER 2B 1960 @........ 1970 @BBBBBBBB 1980 @B.BBBB.B 1990 @BBB..BBB 2000 @BBBBBBBB 2010 @BB....BB 2020 @BBBBBBBB 2030 @........ 2040 db2,$E000+8*68 :REM d ADER 3A 2050 @..B..B.. 2060 @B..BB..B 2070 @B.BBBB.B 2080 @BBBBBBBB 2090 @..BBBB.. 2100 @..BBBB.. 2110 @.B....B. 2120 @B......B 2130 db2,$E000+8*69 :REM d ADER 3B 2140 @..B..B.. 2150 @...BB... 2160 @..BBBB.. 2170 @BBBBBBBB 2180 @B.BBBB.B 2190 @B.BBBB.B 2200 @..B..B.. 2210 @.B....B. 2220 db2,$E000+8*70 :REM BASIS 2230 @........ 2240 @........ 2250 @........ 2260 @...BB... 2270 @...BB... 2280 @.BBBBBB. 2290 @BBBBBBBB 2300 @BBBBBBBB 2310 db2,$E000+8*71 :REM BOMBE 2320 @B.B..B.B 2330 @.B.BB.B. 2340 @........ 2350 @..B..B.. 2360 @........ 2370 @...BB... 2380 @..BBBB.. 2390 @...BB... 2400 db2,$E000+8*72 :REM SCHUSS 2410 @...B.... 2420 @...B.... 2430 @..BBB... 2440 @..BBB... 2450 @..BBB... 2460 @..BBB... 2470 @..BBB... 2480 @..BBB... 2490 db2,$E000+8*73 :REM EXPLOSION 2500 @B..B...B 2510 @.B.B..B. 2520 @..B..B.. 2530 @......BB 2540 @BB...... 2550 @..B..B.. 2560 @.B..B.B. 2570 @B...B..B 2580 d4 2590 : 2600 : 2610 : 2620 d1 do 2630 : 2640 REM******************************* 2650 REM* DRUCKT TITELBILD/ANLEITUNG * 2660 REM******************************* 2670 : 2680 PRINT"[147] INVADERS" 2690 PRINT" -========-" 2700 PRINT"SIE SIND KOMMANDANT EINER BASIS" 2710 PRINT"AUF DER ERDE. EINE FEINDLICHE KULTUR" 2720 PRINT"HAT BESCHLOSSEN DIE RUECKSTAENDIGE" 2730 PRINT"ERDE ZUM SCHUTZ DES WELTALL'S" 2740 PRINT"ZU VERNICHTEN !" 2750 PRINT"ALS VERTRETER DER IMPERIALISTISCHEN" 2760 PRINT"ERDE VERTEIDIGEN SIE IHRE HEIMAT." 2770 PRINT"FUER JEDEN ABGESCHOSSENEN INVADER" 2780 PRINT"ERHALTEN SIE PUNKTE ." 2790 PRINT" STEUERUNG:":PRINT" [1] BASIS LINKS" 2800 PRINT" [2] FEUER":PRINT" [3] BASIS RECHTS" 2810 PRINT"START?" 2820 d1 WARTE 2830 GETA$:IFA$<>"J"THEN d2 WARTE 2840 d4 2850 : 2860 : 2870 : 2880 REM******************************* 2890 REM*** TABELLENVERWALTUNG *** 2900 REM******************************* 2910 : 2920 d1 READ TABLE 2930 OPEN15,8,15:OPEN2,8,2,"TAB INVADERS,S,R" 2940 INPUT#15,FEHLER:IF FEHLER=62 THEN d2 NO TABLE 2950 FOR INDEX=0 TO 9 2960 : INPUT#2,PUNKTE(INDEX) 2970 : INPUT#2,NAME$(INDEX) 2980 NEXT:CLOSE2:CLOSE15:d4 2990 d1 NO TABLE 3000 FOR INDEX=0 TO 9 3010 : PUNKTE(INDEX)=500:NAME$(INDEX)="***" 3020 NEXT:CLOSE2:CLOSE15:d4 3030 : 3040 d1 TOT 3050 PRINT"[147]*** SIE ERREICHTEN" PUNKTE "PUNKTE ***":df5 3060 RANG=10 3070 FOR INDEX=0 TO 9 3080 IF PUNKTE(INDEX)"J" AND A$<>"N" THEN d2 WAIT 3260 PRINTA$;:IF A$="J" THEN d2 NEU 3270 OPEN2,8,2,"@0:TAB INVADERS,S,W" 3280 FOR INDEX=0 TO 9 3290 : PRINT#2,PUNKTE(INDEX) 3300 : PRINT#2,NAME$(INDEX) 3310 NEXT 3320 CLOSE2 3330 : 3340 : 3350 : 3360 REM******************************* 3370 REM*** MASCHINENPROGRAMM *** 3380 REM******************************* 3390 : 3400 DATA32,164,124,169,207,133,101,169,210,133,100,32,182,124,169,70 3410 DATA160,0,145,20,32,173,124,169,12,133,252,169,0,133,102,133,110,133,108 3420 DATA133,2,133,251,165,251,201,66,240,110,165,2,240,8,198,2,32,246,126 3430 DATA76,122,124,160,0,177,20,201,73,208,7,169,32,145,20,76,82,124,32,4 3440 DATA125,224,0,240,3,32,26,125,32,5,126,32,225,124,165,20,201,0,208,219 3450 DATA165,21,201,204,208,213,56,169,66,229,251,74,74,74,133,2,32,102,127 3460 DATA32,57,125,32,207,125,32,43,126,32,85,126,32,190,126,32,173,124,165 3470 DATA97,240,5,56,233,3,133,97,24,105,128,141,24,212,165,108,201,1,208,143 3480 DATA32,34,127,32,17,125,164,251,32,162,179,96,165,20,133,98,165,21,133 3490 DATA99,96,169,255,133,20,169,207,133,21,96,165,100,133,20,165,101,133 3500 DATA21,96,165,105,133,20,165,106,133,21,96,165,20,133,100,165,21,133,101 3510 DATA96,165,20,133,105,165,21,133,106,96,230,20,208,2,230,21,96,198,20 3520 DATA166,20,224,255,208,2,198,21,96,165,20,24,105,40,144,2,230,21,133,20 3530 DATA96,165,20,56,233,40,176,2,198,21,133,20,96,162,0,201,64,48,6,201,70 3540 DATA16,2,162,1,96,165,98,133,20,165,99,133,21,96,73,1,166,102,208,13,32 3550 DATA218,124,145,20,169,32,32,225,124,145,20,96,72,169,32,145,20,32,225 3560 DATA124,104,145,20,96,32,179,125,165,102,201,1,240,4,169,39,133,20,169 3570 DATA0,133,107,177,20,32,4,125,224,1,240,13,32,236,124,166,107,232,134 3580 DATA107,224,23,208,235,96,165,102,73,1,133,102,32,173,124,177,20,133,109 3590 DATA32,4,125,224,1,208,14,32,236,124,165,109,145,20,32,248,124,169,32 3600 DATA145,20,32,225,124,165,20,201,0,208,222,165,21,201,204,208,216,32,179 3610 DATA125,162,23,32,236,124,202,208,250,162,40,134,107,32,218,124,177,20 3620 DATA32,4,125,224,1,208,2,134,108,198,107,208,238,96,169,0,133,20,169,204 3630 DATA133,21,96,169,128,141,18,212,169,143,141,24,212,169,1,141,15,212,173 3640 DATA27,212,96,32,179,125,162,4,32,188,125,24,101,20,133,20,144,2,230,21 3650 DATA202,208,241,177,20,32,4,125,224,1,208,24,32,236,124,177,20,201,32 3660 DATA208,4,169,71,145,20,201,70,208,7,169,1,133,108,76,245,125,96,177,20 3670 DATA201,71,208,24,169,32,145,20,32,236,124,177,20,201,32,208,4,169,71 3680 DATA145,20,201,70,240,4,32,248,124,96,169,1,133,108,76,24,126,32,182,124 3690 DATA32,188,125,41,15,240,246,133,107,32,248,124,198,107,208,249,177,20 3700 DATA32,4,125,224,1,208,13,32,236,124,177,20,201,32,208,4,169,71,145,20 3710 DATA96,32,182,124,32,159,255,160,0,165,203,201,59,208,17,165,110,201,1 3720 DATA240,10,32,209,124,32,6,127,169,1,133,110,96,201,56,208,30,169,32,145 3730 DATA20,32,225,124,165,20,201,191,208,3,32,218,124,177,20,201,71,240,43 3740 DATA169,70,145,20,32,200,124,96,201,8,240,1,96,169,32,145,20,32,218,124 3750 DATA165,20,201,232,208,3,32,225,124,177,20,201,71,240,8,169,70,145,20 3760 DATA32,200,124,96,169,1,133,108,96,165,110,208,1,96,32,191,124,177,20 3770 DATA201,72,208,4,169,32,145,20,32,248,124,177,20,201,32,208,8,169,72,145 3780 DATA20,32,209,124,96,32,4,125,224,0,240,5,230,251,32,77,127,169,73,145 3790 DATA20,169,0,133,110,96,169,8,133,21,32,225,124,165,20,208,249,165,21 3800 DATA208,245,96,169,0,141,11,212,141,0,212,169,18,133,97,169,100,141,1 3810 DATA212,169,129,141,4,212,169,240,141,6,212,96,169,7,141,1,212,169,15 3820 DATA141,24,212,169,0,141,11,212,141,18,212,141,4,212,141,5,212,169,252 3830 DATA141,6,212,169,129,141,4,212,32,246,126,169,128,141,4,212,96,169,7 3840 DATA141,1,212,169,18,133,97,169,129,141,4,212,169,240,141,6,212,169,0 3850 DATA141,11,212,96,165,252,56,233,2,201,2,208,2,169,10,141,8,212,133,252 3860 DATA169,15,133,97,169,240,141,13,212,169,143,141,24,212,169,0,141,4,212 3870 DATA169,33,141,11,212,96