Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 10 REM TAXI-SPIEL 20 REM 21 CLEAR 20:POKE-4652,32 22 KI=0 30 DIM ST$(21) 40 ST$(0)="" 50 ST$(1)=" " 60 ST$(2)=" H " 70 ST$(3)=" TAXI " 80 ST$(4)=" H " 90 ST$(5)=" " 100 ST$(6)=" " 110 ST$(7)=" H " 120 ST$(8)=" " 130 ST$(9)=" " 140 ST$(10)=" " 150 ST$(11)=" H " 160 ST$(12)=" " 170 ST$(13)=" " 180 ST$(14)=" H " 190 ST$(15)=" " 200 ST$(16)=" " 210 ST$(17)=" " 220 ST$(18)=" " 230 ST$(19)=" Abflug " 240 ST$(20)=" " 250 ST$(21)="" 290 DATA 3,6,1,13,2,-1,1,28,-1 291 DATA 1,2,10,10,70,5,5,1,2,60,15,15,6,5,35,10,11,16,16,35,8,8,28,27,40 300 X=18:Y=3 320 DIM X(2),Y(2),XO(2),YO(2),S(2) 325 DIM AY(4),HY(4),AX(4),HX(4),TA(4) 330 FOR I=0 TO 2 340 READ Y(I),X(I),S(I) 345 YO(I)=1:XO(I)=0 350 NEXT I 351 FOR I=0 TO 4 352 READ AY(I),HY(I),AX(I),HX(I),TA(I) 353 NEXT I 355 EY=19:EX=18 360 TH=6:TM=598 370 KO=0:KA=16500:PE=500 380 BE=0:TA=0 500 WINDOW:CLS:WINDOW 23,23,38,38 510 FOR I=0 TO 21 520 PRINT AT(I,0);ST$(I) 530 NEXT I 540 PRINT AT(Y,X);"" 550 FOR I=0 TO 2 560 PRINT AT(Y(I),X(I));"" 570 NEXT I 580 PRINT AT(11,31);"Uhrzeit:" 600 PRINT AT(15,31);"Benzin:" 620 PRINT AT(19,31);"Kasse:" 640 PRINT AT(2,34);"TAXI" 650 PRINT AT(3,33);"" 660 PRINT AT(4,31);" " 670 PRINT AT(5,30);"" 680 PRINT AT(6,33);" " 690 PRINT AT(8,33);"FREI" 1000 T$=INKEY$ 1010 XO=0:YO=0 1015 IF T$<>CHR$(8)THEN 1025 1020 IF PEEK(-5120+Y*40+X-1)=32 THEN XO=-1:ELSE BEEP:KO=KO+1 1025 IF T$<>CHR$(9)THEN 1035 1030 IF PEEK(-5120+Y*40+X+1)=32 THEN XO=1:ELSE BEEP:KO=KO+1 1035 IF T$<>CHR$(10)THEN 1045 1040 IF PEEK(-5120+(Y+1)*40+X)=32 THEN YO=1:ELSE BEEP:KO=KO+1 1045 IF T$<>CHR$(11)THEN 1060 1050 IF PEEK(-5120+(Y-1)*40+X)=32 THEN YO=-1:ELSE BEEP:KO=KO+1 1060 IF XO=0 AND YO=0 THEN 1110 1070 PRINT AT(Y,X);" " 1080 X=X+XO:Y=Y+YO 1090 IF XO THEN PRINT AT(Y,X);"" 1100 IF YO THEN PRINT AT(Y,X);"" 1101 PE=PE-1 1102 IF PE/10=INT(PE/10)THEN KF=1 1103 IF BE=0 THEN 1110 1104 BE=BE+40 1110 IF T$<>"E"OR BE>0 THEN 1200 1115 J=5 1120 FOR I=0 TO 4 1130 IF X=AX(I)AND Y=AY(I)AND PEEK(-5120+HY(I)*40+HX(I))=196 THEN J=I:I=4 1140 NEXT I 1150 IF J>4 THEN 1200 1160 PRINT AT(HY(J),HX(J));" " 1170 PRINT AT(4,36);"" 1180 PRINT AT(8,32);"BESETZT" 1190 IF J<2 THEN BE=500:ELSE BE=200 1195 TA=TA(J) 1200 IF T$<>"A"THEN 1300 1210 IF BE=0 THEN 1300 1215 PRINT AT(EY,EX+1);"" 1220 PRINT AT(4,36);" " 1230 PRINT AT(8,32);" FREI " 1250 KA=KA+BE:BE=0:KF=1 1300 IF T$<>"T"THEN 1500 1301 IF X<>27 OR(Y<>12 AND Y<>15)THEN 1500 1310 WINDOW 22,23,0,38 1320 CLS 1325 P=INT(PE/10):IF P<>PE/10 THEN PE=10*(P+1) 1330 INPUT "Wieviel Liter Benzin:";P:P=INT(P)*10 1340 IF P+PE>500 THEN PRINT "Tank fasst 50 Liter.":GOTO 1330 1350 KF=KA-P*16 1360 IF KF<0 THEN PRINT "Dafuer reicht Ihr Geld nicht.":GOTO 1330 1370 KA=KF:KF=1:PE=PE+P 1380 CLS:WINDOW 23,23,38,38 1500 FOR I=0 TO 2 1510 IF PEEK(-5120+(Y(I)+YO(I))*40+X(I)+XO(I))<>32 THEN 1570 1520 PRINT AT(Y(I),X(I));" " 1530 X(I)=X(I)+XO(I):Y(I)=Y(I)+YO(I) 1540 IF XO(I)THEN PRINT AT(Y(I),X(I));"" 1550 IF YO(I)THEN PRINT AT(Y(I),X(I));"" 1560 GOTO 1600 1570 IF I=0 AND X=X(I)+XO(I)AND Y=Y(I)+YO(I)THEN 1600 1580 IF XO(I)THEN YO(I)=XO(I)*S(I):XO(I)=0:GOTO 1600 1590 XO(I)=-YO(I)*S(I):YO(I)=0 1600 NEXT I 1610 IF TA=0 OR KI THEN 1619 1611 IF BE=0 THEN 1619 1612 TA=TA-1 1613 IF TA>0 THEN 1619 1614 BE=0:T$="":WINDOW 22,23,0,38:CLS 1615 PRINT "Gebummelt - Fahrgast weg !"; 1616 PAUSE(30):CLS 1617 WINDOW 23,23,38,38 1618 GOTO 1220 1619 TM=TM+2 1620 IF TM=600 THEN TH=TH+1:TM=0:KA=KA-1500:KF=1 1630 IF TM/100<>INT(TM/100)THEN 1670 1640 FOR I=0 TO 2 1650 S(I)=-S(I) 1660 NEXT I 1665 PRINT AT(EY,EX+1);" " 1670 IF TM/10<>INT(TM/10)THEN 1700 1674 PRINT AT(13,30);TH,":",TM/10 1676 I=INT(RND(1)*20) 1678 IF I>4 THEN 1700 1680 IF PEEK(-5120+HY(I)*40+HX(I))=32 THEN T$="":ELSE T$=" " 1682 PRINT AT(HY(I),HX(I));T$ 1700 IF KO<10 OR KI THEN 1800 1710 WINDOW 22,23,0,38:CLS 1720 PRINT "Sie hatten 10 kleine Unfaelle." 1730 PRINT "Die Reparatur kostet 50 Mark."; 1740 PAUSE(30) 1750 KO=KO-10 1755 KA=KA-5000:KF=1 1760 CLS:WINDOW 23,23,38,38 1800 IF KF THEN PRINT AT(21,30);INT(KA/100),"M " 1805 IF KF THEN KF=0:PRINT AT(17,30);INT(PE/10),"l " 1810 IF TH>=17 OR KA<0 OR PE<=0 THEN 2000 1820 GOTO 1000 2000 WINDOW 22,23,0,39:CLS 2005 PRINT AT(4,34);" " 2006 FOR I=0 TO 30 2007 BEEP 2008 NEXT I 2010 IF PE>0 THEN 2100 2020 PRINT "Sie haben kein Benzin mehr." 2030 IF BE THEN PRINT "Ihr Fahrgast ist zu bedauern."; 2040 IF BE=0 THEN PRINT "Nun schieben Sie Ihr Taxi nach Hause."; 2050 GOTO 3000 2100 IF KA>0 THEN 2200 2110 PRINT "Sie sind Pleite." 2120 PRINT "Versuchen Sie es mal als Postbote."; 2130 GOTO 3000 2200 PRINT "Sie haben ca."; 2210 KF=KA+PE*16-23000 2220 PRINT INT(.5+ABS(KF)/100);"Mark"; 2230 IF KF<0 THEN PRINT " Verlust";:ELSE PRINT " Gewinn"; 2240 PRINT " gemacht." 2250 IF KF<1000 THEN 2300 2260 PRINT "In";INT(1E8/KF);"Tagen waeren Sie Millionaer."; 2270 GOTO 3000 2300 IF KF>=0 THEN 3000 2305 KF=INT(23000/ABS(KF)) 2310 IF KF>1 THEN PRINT "In";KF;"Tagen";:ELSE PRINT "Morgen"; 2320 PRINT " waeren Sie Pleite."; 3000 WINDOW 3010 PAUSE 50 3020 CLS