baelle_sss.tap
baelle_sss.z80
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   10 CLS:GOTO 1010
   20 IF PEEK(-4363)=207 THEN POKE-4363,32:X=X+1:IF INT(X/2)=X/2 THEN P=P+10
   30 PRINT AT(3,33);X
   40 PZ=X*10+P
   50 IF Q<25 THEN 80
   60 IF PZ>P5 AND Q>=25 THEN 1720
   70 GOTO 1550
   80 PRINT AT(5,33);PZ
   90 PRINT AT(3,7);L:IF L=155 THEN 1720
  100 GOSUB 900
  110 IF PEEK(-4326)=207 THEN POKE-4326,32:POKE-4363,207
  120 GOSUB 900
  130 IF PEEK(-4208)=207 THEN POKE-4208,32:POKE-4326,207
  140 GOSUB 900
  150 IF PEEK(-4289)=207 THEN POKE-4289,32:POKE-4208,207:GOTO 170
  160 GOTO 180
  170 IF S<>30 THEN POKE-4208,32:G=4250:GOSUB 1390
  180 GOSUB 900
  190 IF PEEK(-4372)=207 THEN POKE-4372,32:POKE-4289,207
  200 GOSUB 900
  210 IF PEEK(-4335)=207 THEN POKE-4335,32:POKE-4372,207
  220 GOSUB 900
  230 IF PEEK(-4217)=207 THEN POKE-4217,32:POKE-4335,207
  240 GOSUB 900
  250 IF PEEK(-4378)=207 THEN POKE-4378,32:POKE-4217,207:GOTO 270
  260 GOTO 280
  270 IF S<>21 THEN POKE-4217,32:G=4259:GOSUB 1390
  280 GOSUB 900
  290 IF PEEK(-4539)=207 THEN POKE-4539,32:POKE-4378,207
  300 GOSUB 900
  310 IF PEEK(-4621)=207 THEN POKE-4621,32:POKE-4539,207
  320 GOSUB 900
  330 IF PEEK(-4583)=207 THEN POKE-4583,32:POKE-4621,207
  340 GOSUB 900
  350 IF PEEK(-4504)=207 THEN POKE-4504,32:POKE-4583,207
  360 GOSUB 900
  370 IF PEEK(-4385)=207 THEN POKE-4385,32:POKE-4504,207
  380 GOSUB 900
  390 IF PEEK(-4226)=207 THEN POKE-4226,32:POKE-4385,207
  400 GOSUB 900
  410 IF PEEK(-4347)=207 THEN POKE-4347,32:POKE-4226,207:GOTO 430
  420 GOTO 440
  430 IF S<>12 THEN POKE-4226,32:G=4268:GOSUB 1390
  440 GOSUB 900
  450 IF PEEK(-4468)=207 THEN POKE-4468,32:POKE-4347,207
  460 GOSUB 900
  470 IF PEEK(-4549)=207 THEN POKE-4549,32:POKE-4468,207
  480 GOSUB 900
  490 IF PEEK(-4671)=207 THEN POKE-4671,32:POKE-4549,207
  500 GOSUB 900
  510 IF PEEK(-4753)=207 THEN POKE-4753,32:POKE-4671,207
  520 GOSUB 900
  530 W=W+1
  540 RETURN
  550 BEEP:PAUSE(3):BEEP:PAUSE(3):BEEP:V=22:S=21:L=0
  560 Q=0:W=0:E=0:R=0:T=0:Z=0:U=0:I=0:O=0:PZ=0:A=0:D=0:F=0:G=0:H=0:J=0:K=0
  570 Y=0:X=0:C=0:B=0:N=0:M=0:P=0
  580 POKE-4753,207:L=L+1
  590 I1=1 
  600 T=1
  610 IF I1<300 THEN T=2
  620 IF I1<200 THEN T=3
  630 IF I1<150 THEN T=4
  640 IF I1<75 THEN T=5
  650 F=ABS(INT(RND(I1)*T+.5))
  660 IF F=1 THEN POKE-4753,207:L=L+1
  670 GOSUB 20
  680 I1=I1+1
  690 GOTO 600
  700 CLS
  710 N7=N7+1:PRINT AT(0,0);" "
  720 A$="":B$="   ":C$="":D$=" ":E$=" "
  730 G$="":H$="":I$="     ":J$="  "
  740 FOR I=3 TO 23
  750 PRINT AT(I,0);A$
  760 IF I=4 OR I=5 OR I=8 OR I=9 OR I=12 OR I=13 OR I=16 OR I=17 OR I=20 OR I=21 THEN 780
  770 GOTO 790
  780 PRINT AT(I,0);B$
  790 NEXT
  800 FOR I=20 TO 22
  810 PRINT AT(I,36);G$
  820 NEXT
  830 PRINT AT(23,37);H$
  840 PRINT AT(1,13);"ZAHL DER GEFANGENEN"
  850 PRINT AT(3,26);"BAELLE: 0"
  860 PRINT AT(7,17);"FALLENGELASSENE: 0"
  870 PRINT AT(5,26);"PUNKTE: 0"
  880 PRINT AT(22,21);D$:PRINT AT(22,24);E$:PRINT AT(23,21);C$
  890 GOTO 550
  900 T$=INKEY$
  910 IF T$="Y"THEN 940
  920 IF T$="="THEN 970
  930 GOTO 1000
  940 S=S-9:IF S=3 THEN S=12
  950 PRINT AT(V,S+9);J$:PRINT AT(V,S+12);J$:PRINT AT(V+1,S+9);I$
  960 GOTO 990
  970 S=S+9:IF S=39 THEN S=30
  980 PRINT AT(V,S-9);J$:PRINT AT(V,S-6);J$:PRINT AT(V+1,S-9);I$
  990 PRINT AT(V,S);D$:PRINT AT(V,S+3);E$:PRINT AT(V+1,S);C$
 1000 RETURN
 1010 FOR I=0 TO 38 STEP 2
 1020 FOR J=0 TO 22 STEP 2
 1030 PRINT AT(J,I);""
 1040 NEXT:NEXT
 1050 FOR I=1 TO 39 STEP 2
 1060 FOR J=1 TO 23 STEP 2
 1070 PRINT AT(J,I);""
 1080 NEXT:NEXT
 1090 GOTO 1860
 1100 CLS:OUT 136,12
 1110 FOR I=1 TO 100:NEXT
 1120 A$="Sie haben sich entschieden, das Spiel"
 1130 B$="BAELLE FANGEN zu spielen. Der Program-"
 1140 C$="mierer dieses Spiels, FRANK JARSETZ"
 1150 D$="(ABF-Jahrgang 1984/86), dankt ihnen"
 1160 E$="dafuer und wuenscht ihnen VIEL ERFOLG."
 1170 F$="Der Sinn dieses Spiels besteht darin,"
 1180 G$="soviel wie moeglich Baelle mit der"
 1190 H$="Fangeinrichtung aufzufangen. Die Fang-"
 1200 I$="einrichtung kann mit der Taste (Y) nach"
 1210 J$="links und durch die Taste (=) nach"
 1220 K$="rechts bewegt werden."
 1230 L$="Sinkt ihre Zahl der Punkte nach 40  "
 1240 M$="Baellen unter 0 Punkte, ist das Spiel"
 1250 N$="beendet. Sie erhalten nach jeweils 2" 
 1260 O$="gefangenen Baellen 10 Zusatzpunkte"
 1270 S$="und bei Fallengelassenen 20 Punkte"
 1280 T$="Abzug! Haben sie 25 Baelle fallen las-"
 1290 R$="sen, so ist ebenfalls das Spiel zu Ende"
 1300 Z$="Wollen sie das Spiel starten, dann "
 1305 P$="druecken sie die Taste <ENTER>!"
 1310 PRINT A$:PRINT B$:PRINT C$:PRINT D$:PRINT E$:PRINT F$:PRINT G$
 1320 PRINT H$:PRINT I$:PRINT J$:PRINT K$:PRINT L$:PRINT M$:PRINT N$:PRINT O$
 1330 PRINT S$:PRINT T$:PRINT R$:PRINT Z$:PRINT P$
 1340 T$=INKEY$
 1350 IF T$<>CHR$(13)THEN 1340
 1360 CLS:BORDER 6
 1370 FOR I=1 TO 150:NEXT
 1380 GOTO 710
 1390 U=0
 1400 P=P-20
 1410 POKE-G,217:POKE-G+1,210:POKE-G+2,217:POKE-G+3,209:POKE-G+4,217
 1420 POKE-G+40,181:POKE-G+41,191:POKE-G+42,207:POKE-G+43,142:POKE-G+44,180
 1430 POKE-G+80,142:POKE-G+81,185:POKE-G+82,182:POKE-G+83,184:POKE-G+84,191
 1440 BEEP
 1450 POKE-G,208:POKE-G+1,213:POKE-G+2,211:POKE-G+3,217:POKE-G+4,211
 1460 POKE-G+40,180:POKE-G+41,143:POKE-G+42,207:POKE-G+43,190:POKE-G+44,181
 1470 POKE-G+80,190:POKE-G+81,184:POKE-G+82,183:POKE-G+83,185:POKE-G+84,143
 1480 U=U+1:IF U<>5 THEN 1410
 1490 FOR I=1 TO 5
 1500 FOR J=1 TO 81 STEP 40
 1510 POKE-G-2+I+J,32 
 1520 NEXT:NEXT
 1530 Q=Q+1:PRINT AT(7,33);Q
 1540 RETURN
 1550 CLS:PRINT AT(0,0);" ":BEEP:PRINT AT(7,0);"DAS SPIEL":PAUSE(1):BEEP
 1560 PRINT AT(7,10);"IST LEIDER":PAUSE(1):BEEP
 1570 PRINT AT(7,21);"ZU ENDE!"
 1580 PRINT AT(9,0);"SIE WAREN LEIDER ZU SCHLECHT ODER HATTEN"
 1590 PRINT AT(11,0);"KEINE LUST MEHR!"
 1600 A$="WENN SIE NOCHMAL SPIELEN MOECHTEN,"
 1610 B$="DANN DRUECKEN SIE DIE TASTE <ENTER>!"
 1620 PRINT AT(13,0);A$:PRINT AT(15,0);B$
 1630 F=F+1:IF F=300 THEN 1670
 1640 T$=INKEY$
 1650 IF T$<>CHR$(13)THEN 1630
 1660 X=0:Q=0:L=0:P=0:GOTO 700
 1670 CLS:PRINT AT(0,0);" "
 1680 PRINT AT(11,12);"AUF WIEDERSEHEN!"
 1690 PAUSE(100)
 1700 CLS
 1710 END
 1720 CLS
 1730 BEEP
 1740 PRINT AT(0,0);" "
 1750 PRINT AT(6,0);STRING$(39,""):PRINT AT(7,0);STRING$(39,"*")  
 1760 PRINT AT(10,6);"SIE HABEN SEHR GUT GESPIELT"
 1770 PRINT AT(15,0);STRING$(39,"*"):PRINT AT(16,0);STRING$(39,"")
 1780 PRINT AT(12,5);"SIE HABEN      PUNKTE ERREICHT"
 1790 PRINT AT(12,15);PZ 
 1800 PAUSE(100)
 1810 PRINT AT(10,0);STRING$(39," "):PRINT AT(12,0);STRING$(39," ")
 1820 IF PZ>P5 THEN 2130
 1830 PRINT AT(10,1);"WENN SIE NOCH EINMAL SPIELEN WOLLEN,"
 1840 PRINT AT(12,1);"DRUECKEN SIE DIE TASTE <ENTER>!"
 1850 GOTO 1640
 1860 CLS
 1870 PRINT AT(2,0);STRING$(40,""):PRINT AT(3,0);STRING$(40,"*")
 1880 PRINT AT(17,0);STRING$(40,"*"):PRINT AT(18,0);STRING$(40,"")
 1890 WINDOW 4,18,0,39
 1900 A$="GEBEN SIE BITTE DIE FUENF BESTEN RESUL-"
 1910 B$="TATE EIN (NAME-ENTER,PUNKTE-ENTER)!  "
 1920 PRINT:PRINT A$:PRINT:PRINT B$
 1930 WINDOW 11,18,0,39
 1940 PRINT "NAME":PRINT:PRINT "PUNKTE"
 1950 WINDOW 11,16,20,39
 1960 INPUT "1.";A1$:PRINT:INPUT C1
 1970 CLS:INPUT "2.";A2$:PRINT:INPUT C2
 1980 CLS:INPUT "3.";A3$:PRINT:INPUT C3
 1990 CLS:INPUT "4.";A4$:PRINT:INPUT C4
 2000 CLS:INPUT "5.";A5$:PRINT:INPUT C5
 2010 WINDOW 4,16,0,39:CLS
 2020 PRINT:PRINT "1.";A1$;TAB(20);C1;TAB(27);"PUNKTE"
 2030 PRINT:PRINT "2.";A2$;TAB(20);C2;TAB(27);"PUNKTE"
 2040 PRINT:PRINT "3.";A3$;TAB(20);C3;TAB(27);"PUNKTE"
 2050 PRINT:PRINT "4.";A4$;TAB(20);C4;TAB(27);"PUNKTE"
 2060 PRINT:PRINT "5.";A5$;TAB(20);C5;TAB(27);"PUNKTE"
 2070 PRINT:PRINT "                             <ENTER>"
 2080 IF N7<>0 THEN PRINT AT(22,0);"SOLL DAS SPIEL ZU ENDE SEIN, DANN <U>!"
 2090 WINDOW:PRINT AT(0,0);" "
 2100 T$=INKEY$
 2110 IF T$=CHR$(13)THEN 2360
 2120 IF T$="U"THEN 2380:ELSE 2100
 2130 WINDOW 9,13,0,39:PRINT AT(9,0);" "
 2140 PRINT AT(10,0);"   SIE KOENNEN SICH IN DIE LISTE DER"
 2150 PRINT AT(12,0);"        BESTEN FUENF EINTRAGEN!":PAUSE(100)
 2160 CLS
 2170 INPUT "NAME?";A6$
 2180 C5=PZ:A5$=A6$
 2190 IF C5>C4 THEN E=C4:C4=C5:C5=E:X$=A4$:A4$=A5$:A5$=X$:ELSE 2210
 2200 GOTO 2220
 2210 GOTO 2320
 2220 IF C4>C3 THEN E=C3:C3=C4:C4=E:X$=A3$:A3$=A4$:A4$=X$:ELSE 2240
 2230 GOTO 2250
 2240 GOTO 2320
 2250 IF C3>C2 THEN E=C2:C2=C3:C3=E:X$=A2$:A2$=A3$:A3$=X$:ELSE 2270
 2260 GOTO 2280
 2270 GOTO 2320
 2280 IF C2>C1 THEN E=C1:C1=C2:C2=E:X$=A1$:A1$=A2$:A2$=X$:ELSE 2300
 2290 GOTO 2310
 2300 GOTO 2320
 2310 CLS:PRINT:PRINT "SIE HABEN EINEN NEUEN REKORD ERREICHT!":PAUSE(50)
 2320 WINDOW 4,18,0,39
 2330 PRINT AT(2,0);STRING$(40,""):PRINT AT(3,0);STRING$(40,"*")
 2340 PRINT AT(19,0);STRING$(40,"*"):PRINT AT(20,0);STRING$(40,"")
 2350 CLS:GOTO 2020
 2360 IF G9=0 THEN G9=G9+1:GOTO 1100
 2370 IF G9<>0 THEN 700
 2380 PRINT AT(22,0);"SCHREIBEN SIE DIE BESTEN ERGEBNISSE AUF!"
 2390 PAUSE 200
 2400 PRINT AT(22,0);"DRUECKEN SIE DIE <ENTER>-TASTE!"
 2410 T$=INKEY$
 2420 IF T$<>CHR$(13)THEN 2410
 2430 GOTO 1670