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

    1 POKE 862,1:POKE 22,0
   10 WINDOW:CLS
   20 DIM BU(10)
   30 OUT 136,4
   40 PRINT "**TREFFER**":PRINT "===========":PRINT
   50 PRINT "DURCH BETAETIGEN DER ZIFFERNTASTEN 0 "
   60 PRINT "BIS 9 MUSS VERSUCHT WERDEN,DIE 30 FLUG-"
   70 PRINT "KOERPER BZW. DIE VON IHNEN AUSGESANDTEN"
   80 PRINT "OBJEKTE ZU TREFFEN."
   90 PRINT:PRINT "DIE SCHUSSANZAHL IST UNBEGRENZT, GEHT"
  100 PRINT "ABER NEGATIV IN DIE WERTUNG EIN."
  110 PRINT:PRINT "GETROFFENE BODENSTATIONEN STEHEN FUER "
  120 PRINT "WEITERE SCHUSSVERSUCHE NICHT MEHR ZUR"
  130 PRINT "VERFUEGUNG."
  140 PRINT:PRINT "BITTE ENTER DRUECKEN!"
  150 IF INKEY$=""THEN 150
  160 CLS:OUT 136,0
  170 PRINT "  SPIELER:":INPUT " ";W$(AS)
  180 IF W$(AS)<"A"THEN 1070
  190 PRINT AT(0,15);"FLUGSCHUSSTFLUGTFALL"
  200 PRINT AT(1,15);"                    " 
  210 FOR I=0 TO 10:BU(I)=1:NEXT I
  220 PRINT AT(23,0); "1234567890"
  230 IF INKEY$=""THEN 230
  240 J=30
  250 K=INT(RND(1)*18)+3
  260 PRINT AT(2,0);"  "
  270 BO=INT(RND(1)*38)
  280 BF=0
  290 IF ZB<23 THEN POKE-5120+40*ZB+SB,32
  300 MT=MT+1
  310 IF MT>30 THEN GOTO 960
  320 FOR I=1 TO 10:IF BU(I)=1 THEN 350
  330 NEXT I
  340 GOTO 960
  350 PRINT AT(1,16);MT
  360 FOR L=0 TO 38
  370 IF L=INT(L/2)*2 THEN A=205:ELSE A=151
  380 IF L<>BO THEN 400
  390 ZB=K+1:SB=L+1:BF=1
  400 IF BF=0 THEN 630
  410 POKE-5120+ZB*40+SB,32:ZB=ZB+1
  420 PK=-5120+ZB*40+SB
  430 IF PEEK(PK)=204 THEN 510
  440 IF PEEK(PK+40)=204 THEN 510
  450 IF ZB<23 THEN 500
  460 IF PEEK(PK)<58 AND PEEK(PK)>47 THEN 580
  470 IF PEEK(PK)=202 THEN BEEP:POKE PK,202:BEEP:GOTO 620
  480 IF PEEK(PK)=250 THEN POKE PK,250:BEEP:GOTO 620
  490 IF PEEK(PK)=197 THEN BEEP:BEEP:POKE PK,250:GOTO 620
  500 POKE PK,207:GOTO 620
  510 POKE PK,32:POKE PK+40,32
  520 TB=TB+1:PRINT AT(1,35);TB
  530 B=32
  540 BEEP:POKE PK,201:PAUSE 2:BEEP:POKE PK,141:PAUSE 2:BEEP
  550 POKE PK-1,151:POKE PK+1,148:PAUSE 2:BEEP
  560 POKE PK,32:POKE PK-1,32:POKE PK+1,32:BEEP
  570 BF=0:GOTO 620
  580 BEEP:PAUSE 1:BEEP
  590 POKE PK,202:POKE PK-41,156:POKE PK-39,152:BEEP:PAUSE 1:BEEP:PAUSE 5
  600 POKE PK-41,32:POKE PK-39,32
  610 BU((SB+3)/4)=0:IF SB=37 THEN BU(0)=0
  620 IF ZB>22 THEN BF=0
  630 POKE-5120+40*K+L,32:POKE-5119+40*K+L,A
  640 IF J>19 THEN I=3:ELSE I=22-J
  650 S$=INKEY$
  660 IF S$=""THEN 720
  670 IF BU(VAL(S$))=0 THEN 720
  680 PRINT AT(I,T);"  ":J=0:T=VAL(S$)*4-3:VS=VS+1
  690 PRINT AT(1,22);VS
  700 IF T=-3 THEN T=37
  710 B=204
  720 J=J+1   
  730 IF J=23-K AND L=T-1 THEN 810
  740 IF J=20 THEN POKE-5000+T,32
  750 IF J<20 THEN POKE-4240-J*40+T,B:POKE-4200-J*40+T,32
  760 IF J=22-K AND L=T-1 THEN 810
  770 IF L=38 AND BF=1 THEN 380
  780 NEXT L
  790 PRINT AT(K,38);"  "
  800 GOTO 250
  810 I=T :BEEP:POKE-5120+K*40+I,199
  820 TR=TR+1
  830 PRINT AT(1,29);TR
  840 PAUSE 2
  850 J=30
  860 BEEP:PRINT AT(K-1,I-1);"  "
  870 BEEP:PRINT AT(K+1,I-1);"  "
  880 PAUSE 2
  890 BEEP:PRINT AT(K-1,I-1);" "
  900 BEEP:PRINT AT(K+1,I-1);" "
  910 PAUSE 5
  920 PRINT AT(K-1,I-1);"   "
  930 PRINT AT(K,I);" "
  940 PRINT AT(K+1,I-1);"   "
  950 GOTO 250
  960 TR(AS)=TR:VS(AS)=VS:TB(AS)=TB
  970 FOR I=0 TO 9:IF BU(I)=0 THEN TS(AS)=TS(AS)+1
  980 NEXT I
  990 AS=AS+1:MT=0:TR=0:VS=0:TB=0:PAUSE 20
 1050 WINDOW:PRINT "NEUER     ":INPUT "SPIELER(J/N)";T$
 1060 IF T$="J"THEN 160
 1070 CLS:PRINT "AUSWERTUNG:":PRINT "===========":PRINT
 1080 PRINT "(PKTE = 10*TFLUG + 5*TFALL - 5*BOD"
 1090 PRINT "        -SCHUSS + 30)":PRINT
 1100 PRINT "SPIELER SCHUSS TFLUG TFALL BOD PKTE RNG"
 1110 PRINT STRING$(39,"-")
 1120 FOR I=0 TO AS-1
 1130 PRINT W$(I);TAB(9 );VS(I);TAB(16);TR(I);
 1140 PRINT TAB(22);TB(I);TAB(27);TS(I);
 1150 PK(I)=TR(I)*10+TB(I)*5-TS(I)*5-VS(I)+30
 1160 PRINT TAB(31);PK(I)
 1170 NEXT I
 1180 FOR K=0 TO AS-1
 1190 MI=PK(0):J=0
 1200 FOR I=1 TO AS-1
 1210 IF MI<PK(I)THEN MI=PK(I):J=I
 1220 NEXT I
 1230 IF MI=MA THEN L=L+1:ELSE L=0
 1240 MA=MI
 1250 PK(J)=-100
 1260 PRINT AT(J+8,36);K+1-L
 1270 NEXT K
 1280 END