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

   10 WINDOW:CLS:G$="*":PRINT AT(0,0);CHR$(32)
   20 FOR X=1 TO 39:PRINT AT(1,X);G$:PRINT AT(23,X);G$:NEXT
   60 FOR X=1 TO 23:PRINT AT(X,1);G$:PRINT AT(X,39);G$:NEXT
  200 PRINT AT(12,10);"T V - S P I E L E"
  220 PAUSE 20:WINDOW 2,22,2,38:CLS:PRINT AT(0,0);CHR$(32):G$="*"
  230 PRINT AT(3,7);"ANGEBOT":PRINT AT(4,7);"_______"
  240 PRINT AT(6,7);"1    PELOTA"
  250 PRINT AT(8,7);"2    TENNIS"
  260 PRINT AT(10,7);"3    ZAHLENRATEN"
  270 PRINT AT(12,7);"4    MASTER MIND"
  280 PRINT AT(14,7);"E    FUER ENDE"
  290 WINDOW 19,22,7,31
  300 PRINT "EINGABE DES GEWUENSCHTEN":PRINT:PRINT "SPIELES(NR.):"
  305 PRINT AT(22,7);CHR$(32)
  310 A$=INKEY$:IF A$="1"OR A$="2"OR A$="3"OR A$="4"OR A$="E"THEN 315 ELSE 310
  312 WINDOW:CLS:END
  315 IF A$="E"THEN 312
  320 A=VAL(A$):ON A GOTO 360,1200,2000,3005
  360 WINDOW 2,22,2,38:CLS:PRINT
  370 PRINT "PELOTA IST EIN SPIEL FUER EINE PERSON"
  390 PRINT "BEI BETAETIGUNG DER TASTE H WIRD DER":PRINT
  410 PRINT "SCHLAGER NACH OBEN BEWEGT":PRINT
  430 PRINT "BEI BETAETIGUNG DER TASTE N WIRD DER":PRINT
  450 PRINT "SCHLAEGER NACH UNTEN BEWEGT"
  460 PRINT AT(12,2);CHR$(32):PAUSE 50 
  470 WINDOW 2,22,2,38:CLS:CLEAR:PRINT AT(10,10);A:PRINT AT(15,10);B
  480 X$="P E L O T A":GOSUB 3000
  485 PRINT AT(15,2);"COMPUTER"
  487 PRINT AT(10,2);"SPIELER"
  490 WINDOW 6,19,15,36:CLS
  495 FOR X=14 TO 37:PRINT AT(5,X);CHR$(226):PRINT AT(20,X);CHR$(238):NEXT
  515 FOR X=6 TO 19:PRINT AT(X,14);CHR$(232):PRINT AT(X,38);CHR$(161):NEXT
  525 PRINT AT(6,15);CHR$(32)
  670 Y1=12:Y2=Y1+1:P=1
  680 X=36:Y=INT(RND(1)*15+5)
  690 B$=CHR$(207):C$=CHR$(244)
  700 PRINT AT(Y,X);B$
  710 IF Y<=13 THEN 770 ELSE 720
  720 GOSUB 950
  730 PRINT AT(Y,X);" ":Y=Y-1:X=X-1:PRINT AT(Y,X);B$:GOSUB 950
  740 IF X=15 THEN 750 ELSE 760
  750 IF Y=6 THEN 860 ELSE 820
  760 IF Y=6 THEN 770 ELSE 720
  770 GOSUB 950
  780 PRINT AT(Y,X);" ":Y=Y+1:X=X-1:PRINT AT(Y,X);B$:GOSUB 950
  790 IF X=15 THEN 800 ELSE 810
  800 IF Y=19 THEN 820 ELSE 860
  810 IF Y=19 THEN 720 ELSE 770
  820 GOSUB 950
  830 PRINT AT(Y,X);" ":Y=Y-1:X=X+1:PRINT AT(Y,X);B$:GOSUB 950
  840 IF X=34 THEN 900
  850 IF Y=6 THEN 860 ELSE 820
  860 GOSUB 950
  870 PRINT AT(Y,X);" ":Y=Y+1:X=X+1:PRINT AT(Y,X);B$:GOSUB 950
  880 IF X=34 THEN 930
  890 IF Y=19 THEN 820 ELSE 860
  900 IF Y=Y1 OR Y=Y2 THEN 902 ELSE 910
  902 A=A+1:IF A=15 THEN 1100
  905 BEEP:PAUSE 2:BEEP:PRINT AT(10,10);A:IF Y=6 THEN 770 ELSE 720
  910 B=B+1:IF B=15 THEN 1150
  915 PRINT AT(15,10);B:BEEP
  920 PRINT AT(Y,X);" ":GOTO 680
  930 IF Y=Y1 OR Y=Y2 THEN 932 ELSE 940
  932 A=A+1:IF A=15 THEN 1100
  935 BEEP:PAUSE 2:BEEP:PRINT AT(10,10);A:IF Y=19 THEN 720 ELSE 770
  940 B=B+1:IF B=15 THEN 1150
  945 PRINT AT(15,10);B:PRINT AT(Y,X);" ":BEEP:GOTO 680
  950 A$=INKEY$
  960 PRINT AT(Y1,34);C$
  970 PRINT AT(Y2,34);C$
  980 IF A$="H"THEN 1010
  990 IF A$="N"THEN 1050
 1000 RETURN
 1010 IF Y1<=6 THEN RETURN
 1020 PRINT AT(Y1,34);" ":PRINT AT(Y2,34);" ":Y1=Y1-1:Y2=Y1+1
 1030 PRINT AT(Y1,34);C$:PRINT AT(Y2,34);C$
 1040 RETURN
 1050 IF Y2>=19 THEN RETURN
 1060 PRINT AT(Y1,34);" ":PRINT AT(Y2,34);" "
 1070 Y1=Y1+1:Y2=Y1+1
 1080 PRINT AT(Y1,34);C$:PRINT AT(Y2,34);C$
 1090 RETURN
 1100 IF B<=5 THEN 1110 ELSE 1130
 1110 PRINT AT(21,2);"Mit ihnen spiele ich nicht"
 1120 PRINT AT(22,2);"mehr,sie sind mir zu gut!":PAUSE 20:GOTO 220
 1130 PRINT AT(22,2);"Neues SPIEL(Y/N)?"
 1140 IF INKEY$="Y"THEN 470
 1145 IF INKEY$="N"THEN 220
 1146 GOTO 1140
 1150 PRINT AT(21,2);"Versuchen Sie es nochmal,denn Uebung"
 1160 PRINT AT(22,2);"macht den Meister.Neues Spiel(Y/N)?"
 1180 IF INKEY$="Y"THEN 470
 1190 IF INKEY$="N"THEN 220
 1195 GOTO 1180
 1200 WINDOW 2,22,2,38:CLS:CLEAR
 1201 X$="T E N N I S":GOSUB 3000
 1220 PRINT AT(13,3);A:PRINT AT(13,36);B
 1230 WINDOW 6,19,8,33:CLS
 1235 FOR X=7 TO 33:PRINT AT(5,X);CHR$(226):PRINT AT(20,X);CHR$(238):NEXT
 1236 FOR X=6 TO 19:PRINT AT(X,7);CHR$(232):PRINT AT(X,34);CHR$(161):NEXT
 1238 PRINT AT(6,8);CHR$(32)
 1260 W1=12:W2=W1+1:Z1=12:Z2=Z1+1
 1270 D1$=CHR$(161):D2$=CHR$(161):D3$=CHR$(207)
 1280 PRINT AT(W1,8);D2$:PRINT AT(W2,8);D2$
 1290 PRINT AT(Z1,33);D2$:PRINT AT(Z2,33);D2$
 1340 U=INT(RND(1)*15+5):V=8:PRINT AT(U,V);D3$:IF U<=13 THEN 1480 ELSE 1360
 1350 U=INT(RND(1)*15+5):V=33:PRINT AT(U,V);D3$:IF U<=13 THEN 1540 ELSE 1420
 1360 GOSUB 1640
 1365 IF INKEY$="H"THEN GOSUB 1800
 1367 IF INKEY$="N"THEN GOSUB 1840
 1370 PRINT AT(U,V);" ":U=U-1:V=V+1:PRINT AT(U,V);D3$:IF INKEY$="N"THEN GOSUB 1840
 1375 IF INKEY$="H"THEN GOSUB 1800
 1377 GOSUB 1640
 1380 IF V=33 THEN 1390 ELSE 1410
 1390 IF U=Z1 OR U=Z2 THEN 1400 ELSE 1600
 1400 IF U=6 THEN 1540 ELSE 1420
 1410 IF U=6 THEN 1480 ELSE 1360
 1420 GOSUB 1660
 1423 IF INKEY$="A"THEN GOSUB 1720
 1427 IF INKEY$="Y"THEN GOSUB 1760
 1430 PRINT AT(U,V);" ":U=U-1:V=V-1:PRINT AT(U,V);D3$:IF INKEY$="Y"THEN GOSUB 1760
 1435 IF INKEY$="A"THEN GOSUB 1720
 1437 GOSUB 1660
 1440 IF V=8 THEN 1450 ELSE 1470
 1450 IF U=W1 OR U=W2 THEN 1460 ELSE 1620
 1460 IF U=6 THEN 1480 ELSE 1360
 1470 IF U=6 THEN 1540 ELSE 1420
 1480 GOSUB 1640
 1483 IF INKEY$="H"THEN GOSUB 1800
 1487 IF INKEY$="N"THEN GOSUB 1840
 1490 PRINT AT(U,V);" ":U=U+1:V=V+1:PRINT AT(U,V);D3$:IF INKEY$="N"THEN GOSUB 1840
 1495 IF INKEY$="H"THEN GOSUB 1800
 1497 GOSUB 1640
 1500 IF V=33 THEN 1510 ELSE 1530
 1510 IF U=Z1 OR U=Z2 THEN 1520 ELSE 1600
 1520 IF U=19 THEN 1420 ELSE 1540
 1530 IF U=19 THEN 1360 ELSE 1480
 1540 GOSUB 1660
 1543 IF INKEY$="A"THEN GOSUB 1720
 1547 IF INKEY$="Y"THEN GOSUB 1760
 1550 PRINT AT(U,V);" ":U=U+1:V=V-1:PRINT AT(U,V);D3$:IF INKEY$="Y"THEN GOSUB 1760
 1555 IF INKEY$="A"THEN GOSUB 1720
 1557 GOSUB 1660
 1560 IF V=8 THEN 1570 ELSE 1590
 1570 IF U=W1 OR U=W2 THEN 1580 ELSE 1620
 1580 IF U=19 THEN 1360 ELSE 1480
 1590 IF U=19 THEN 1420 ELSE 1540
 1600 A=A+1:IF A>9 AND A-2>=B THEN 1880 
 1610 PRINT AT(13,3);A:PRINT AT(U,V);" ":BEEP:PAUSE 2:BEEP:GOTO 1340
 1620 B=B+1:IF B>9 AND B-2>=A THEN 1880
 1630 PRINT AT(13,36);B:PRINT AT(U,V);" ":BEEP:PAUSE 2:BEEP:GOTO 1350
 1640 E$=INKEY$:PRINT AT(W1,8);D1$:PRINT AT(W2,8);D1$
 1645 IF E$="H"THEN 1800
 1650 IF E$="N"THEN 1840
 1655 RETURN
 1660 F$=INKEY$:PRINT AT(Z1,33);D1$:PRINT AT(Z2,33);D1$
 1665 IF F$="A"THEN 1720
 1670 IF F$="Y"THEN 1760
 1675 RETURN
 1720 IF W1<=6 THEN RETURN
 1730 PRINT AT(W1,8);" ":PRINT AT(W2,8);" ":W1=W1-1:W2=W1+1
 1740 PRINT AT(W1,8);D2$:PRINT AT(W2,8);D2$
 1750 RETURN
 1760 IF W2>=19 THEN RETURN
 1770 PRINT AT(W1,8);" ":PRINT AT(2,8);" ":W1=W1+1:W2=W1+1
 1780 PRINT AT(W1,8);D2$:PRINT AT(W2,8);D2$
 1790 RETURN
 1800 IF Z1<=6 THEN RETURN
 1810 PRINT AT(Z1,33);" ":PRINT AT(Z2,33);" ":Z1=Z1-1:Z2=Z1+1
 1820 PRINT AT(Z1,33);D1$:PRINT AT(Z2,33);D1$
 1830 RETURN
 1840 IF Z2>=19 THEN RETURN
 1850 PRINT AT(Z1,33);" ":PRINT AT(Z2,33);" ":Z1=Z1+1:Z2=Z1+1
 1860 PRINT AT(Z1,33);D1$:PRINT AT(Z2,33);D1$
 1870 RETURN
 1880 PRINT AT(21,2);"Der bessere gewinnt!!!"
 1881 IF A>B THEN 1883
 1882 R=1:GOTO 1890
 1883 R=2
 1890 PRINT AT(22,2);"Spieler":PRINT AT(22,9);R
 1895 PRINT AT(22,11);",fordern Sie Revanche?(Y/N)"
 1920 P$=INKEY$:IF P$="Y"THEN 1200
 1930 IF P$="N"THEN 220 ELSE 1920
 2000 WINDOW 2,22,2,38:CLEAR:CLS
 2010 X$="Z A H L E N R A T E N":GOSUB 3000
 2020 WINDOW 6,20,2,38
 2030 PRINT "  DER COMPUTER SUCHT EINE ZAHL,"
 2035 PRINT:PRINT "  IM BEREICH VON 1-1000"
 2040 PRINT:PRINT "  DIE SIE ERATEN MUESSEN!"
 2060 A=INT(RND(1)*1000+1)
 2070 PRINT:PRINT AT(12,18);"VERSUCH NR."
 2080 WINDOW 13,14,5,30:CLS:WINDOW 14,19,5,35:INPUT "IHRE ZAHL:";B
 2090 IF B<A THEN 2120
 2100 IF B>A THEN 2140
 2110 IF B=A THEN 2160
 2120 PRINT:PRINT "IHRE ZAHL IST ZU KLEIN!":PRINT:PRINT "NEU RATEN!"
 2130 C=C+1:PRINT AT(12,30);C:GOTO 2080
 2140 PRINT:PRINT "IHRE ZAHL IST ZU GROSS!":PRINT:PRINT "NEU RATEN!"
 2150 C=C+1:PRINT AT(12,30);C:GOTO 2080
 2160 PRINT:PRINT "SIE HABEN DIE ZAHL GEFUNDEN!"
 2170 PRINT:PRINT "NEUES SPIEL?(Y/N)"
 2180 D$=INKEY$:PRINT AT(19,5);CHR$(32)
 2190 IF D$="Y"THEN 2000
 2200 IF D$="N"THEN 220 ELSE 2180
 3000 PRINT AT(3,10);X$:RETURN
 3005 WINDOW 2,22,2,38:CLS:PRINT
 3015 PRINT "DER COMPUTER DENKT SICH EINE":PRINT
 3025 PRINT "5-STELLIGE ZAHL,OHNE ZIFFERN-":PRINT
 3035 PRINT "WIEDERHOLUNG,DIE ERRATEN WERDEN SOLL."
 3055 PRINT "ES STEHEN 15 VERSUCHE ZUR VERFUEGUNG."
 3065 PRINT AT(11,2);CHR$(32):PAUSE 30
 3068 WINDOW 2,22,2,38:CLS
 3070 FOR X=1 TO 39:PRINT AT(5,X);G$:NEXT
 3080 FOR X=1 TO 23:PRINT AT(X,13);G$:PRINT AT(X,27);G$:NEXT
 3090 PRINT AT(3,3);"IHRE ZAHL":PRINT AT(3,15);"RICHTIGE":PRINT AT(4,15);"ZIFFERN
 3100 PRINT AT(3,29);"RICHTIGE":PRINT AT(4,29);"POSITION"
 3110 WINDOW 7,21,2,10
 3130 Q=0
 3140 INPUT A$:IF ASC(A$)<49 OR ASC(A$)>57 THEN F$="FALSCHE EINGABE!!":ELSE 3200
 3150 GOSUB 3180:GOTO 3070
 3180 WINDOW 2,22,2,38:CLS:PRINT AT(2,2);" ":PRINT AT(12,10);F$:PAUSE 30
 3190 CLS:RETURN
 3200 A=VAL(A$)
 3210 B=INT(A/1E4):C=INT((A-B*1E4)/1E3):D=INT((A-B*1E4-C*1E3)/1E2)  
 3220 E=INT((A-1E2*(B*1E2+C*10+D))/10):F=A-B*1E4-C*1E3-D*1E2-E*10
 3230 IF B=C OR B=D OR B=E OR B=F THEN 3250:ELSE 3240
 3240 IF C=D OR C=E OR C=F OR D=E OR D=F OR E=F THEN 3250:ELSE 3260
 3250 F$="NICHT SCHUMMELN!!":GOSUB 3180:GOTO 3070
 3260 IF Q>0 THEN 3360
 3270 B1=INT(10*RND(1)):Z=1
 3280 X=INT(10*RND(1)):ON Z GOTO 3290,3310,3330,3350
 3290 IF X<>B1 THEN C1=X:Z=2
 3300 GOTO 3280
 3310 IF X<>B1 AND X<>C1 THEN D1=X:Z=3
 3320 GOTO 3280
 3330 IF X<>B1 AND X<>C1 AND X<>D1 THEN E1=X:Z=4
 3340 GOTO 3280
 3350 IF X<>B1 AND X<>C1 AND X<>D1 AND X<>E1 THEN F1=X:ELSE 3280
 3360 Y=0:Z=0
 3370 IF C=B1 OR D=B1 OR E=B1 OR F=B1 THEN Y=Y+1
 3380 IF B=C1 OR D=C1 OR E=C1 OR F=C1 THEN Y=Y+1
 3390 IF B=D1 OR C=D1 OR E=D1 OR F=D1 THEN Y=Y+1
 3400 IF B=E1 OR C=E1 OR D=E1 OR F=E1 THEN Y=Y+1
 3410 IF B=F1 OR C=F1 OR D=F1 OR E=F1 THEN Y=Y+1
 3420 IF B=B1 THEN Z=Z+1:Y=Y+1
 3430 IF C=C1 THEN Z=Z+1:Y=Y+1
 3440 IF D=D1 THEN Z=Z+1:Y=Y+1
 3450 IF E=E1 THEN Z=Z+1:Y=Y+1
 3460 IF F=F1 THEN Z=Z+1:Y=Y+1
 3470 PRINT AT(Q+7,20);Y:PRINT AT(Q+7,30);Z
 3480 Q=Q+1:IF Z=5 THEN 3600:ELSE 3490
 3490 IF Q=15 THEN PAUSE 20:GOTO 3510
 3500 GOTO 3140
 3510 R$="HURRA,ICH HABE GEWONNEN!!!":GOTO 3700
 3600 IF Q=15 THEN R$="GERADE NOCH GESCHAFFT.NICHT SCHLECHT!!":GOTO 3700
 3610 IF Q>10 THEN R$="WIRKLICH GUT!!":GOTO 3700
 3620 IF Q>5 THEN R$="WAHNSINN!GEBEN SIE ZU,HEIMLICH GEUEBT ZU HABEN!!"
 3630 IF Q<=5 THEN R$="ABSOLUT SPITZE!ABER WOHL MEHR GLUECK ALS VERSTAND!!"
 3640 GOTO 3700
 3700 WINDOW 2,22,2,38:CLS
 3705 IF Z<5 THEN 3720
 3710 PRINT:PRINT:PRINT "SIE BENOETIGTEN ";Q;"VERSUCHE!":PRINT
 3720 PRINT:PRINT:PRINT:PRINT R$:PRINT
 3730 PRINT:PRINT:PRINT "NEUES SPIEL(Y/N):":PRINT AT(15,2);CHR$(32)
 3780 S$=INKEY$:IF S$="Y"THEN 3068
 3790 IF S$="N"THEN 220:ELSE 3780