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

    1 CLEAR 1000:A1$="HEIMCOMPUTER robotron Z9001"
    2 A2$="SPIELE":A9=2
    4 A3$="K+SPIEDI"
    6 A4$="SPIEDIE"
    8 A5$="EIN REAKTIONS-SPIEL"
    9 REM (C) 1983 BY T. STAHMER ,2000 HAMBURG 60, PREYSTR. 13
   18 BORDER A9:INK 8:PAPER 1:GOSUB 160
   20 W1$=STRING$(38,""):W2$=STRING$(36,""):W3$=STRING$(36,"")
   22 W4$=STRING$(36,""):W5$=STRING$(18,"")
   90 GOSUB 100:GOTO 1000
   96 REM UNTERPROGRAMME ===============UP
   98 REM TITELBILD --------------------UP
  100 PRINT AT(2,2);A1$:PRINT AT(4,2);"",STRING$(34,""),""
  102 PRINT AT(5,2);"":PRINT AT(5,37);""
  104 PRINT AT(6,2);"",STRING$(34,""),""
  106 PRINT AT(5,3);A2$:PRINT INK 3;AT(5,29);A3$
  108 INK A9:PRINT AT(8,2);STRING$(36,"")
  110 FOR I=9 TO 13:PRINT AT(I,2);"":PRINT AT(I,37);"":NEXT I
  112 PRINT AT(14,2);STRING$(36,"")
  114 INK 8:PRINT AT(10,36-LEN(A4$));A4$:PRINT AT(12,36-LEN(A5$));A5$
  119 REM >ENTER< ---------------------UP
  120 PRINT INK 4;AT(22,31);">ENTER<"
  124 GOSUB 170:IF T=13 THEN PRINT AT(20,27);STRING$(11," "):RETURN
  126 GOSUB 130:GOTO 124
  129 REM WIE BITTE ? -----------------UP
  130 PRINT INK 2;AT(20,27);"WIE BITTE ?":RETURN
  149 REM J/N ABFRAGE -----------------UP
  150 PRINT INK 4;AT(22,(34-LEN(KY$)));KY$," ? J"
  153 GOSUB 170:PRINT INK 2;AT(22,37);CHR$(T)
  154 IF T=74 OR T=13 THEN T=1:PRINT AT(20,27);STRING$(11," "):RETURN
  156 IF T=78 THEN T=0:PRINT AT(20,27);STRING$(11," "):RETURN
  158 GOSUB 130:PAUSE 10:GOTO 150
  159 REM STANDART-WINDOW -------------UP
  160 WINDOW:CLS:PRINT AT(0,0);" ":RETURN
  169 REM TASTENABFRAGE ---------------UP
  170 T=PEEK(36):IF T=0 OR T=127 THEN 170
  172 RETURN
  198 REM LAUFBILD -------------------UP
  200 GOSUB 160
  202 A$(1)=" SSS   PPPP  III  EEEE  DDD   III  EEEE"
  204 A$(2)="S   S  P   P  I   E     D  D   I   E   "
  206 A$(3)="S      P   P  I   E     D   D  I   E   "
  208 A$(4)=" SSS   PPPP   I   EEE   D   D  I   EEE "
  210 A$(5)="    S  P      I   E     D   D  I   E   "
  212 A$(6)="S   S  P      I   E     D  D   I   E   "
  214 A$(7)=" SSS   P     III  EEEE  DDD   III  EEEE"
  216 D$=STRING$(16," ")
  218 FOR I=1 TO 7:FOR II=1 TO 39
  220 PRINT AT(I+5,39-II);LEFT$(A$(I),II):NEXT II:NEXT I
  222 IF RR=0 THEN KY$="BRAUCHEN SIE EINE ANLEITUNG":GOSUB 150:ELSE PAUSE 5:RETURN
  224 IF T=0 THEN RETURN
  226 GOSUB 160
  228 PRINT AT(2,2);"BEI SPIEDIE HABEN SIE DIE AUFGABE,"
  230 PRINT AT(4,2);"EINEN BALL ODER EINE ANDERE FIGUR,"
  232 PRINT AT(6,2);"JE NACH RUNDENZAHL, MIT EINEM"
  234 PRINT AT(8,2);"PADDEL AN DIE WAND ZURUECKZUSCHLAGEN."
  236 PRINT AT(10,2);"JE NACH ANZAHL DER GESCHLAGENEN"
  238 PRINT AT(12,2);"WANDELEMENTE GIBT ES PUNKTE. ZUM"
  240 PRINT AT(14,2);"BEWEGEN DES PADDELS BENUTZEN SIE"
  242 PRINT AT(16,2);"LINKS = <--     RECHTS = -->"
  244 PRINT AT(18,2);"VIEL SPASS BEIM 'PADDELN' !!":GOSUB 120:RETURN
  246 REM SPIELFELD -------------------UP
  248 B=-5120:B$="":G$="      ":ZZ=0:Q=0:X=720:DX=-80:Y=14:DY=1:Z$=W2$
  250 YY=14:Y2=34:R=1:P1=20:ZE=207:Q1=0:PK=0:L$="      ":RR=1:SC=3:SC$="***"
  252 GOSUB 160
  254 PRINT AT(1,1);W1$:FOR I=1 TO 22:PRINT AT(I,1);"":PRINT AT(I,38);"":NEXT I
  256 PRINT AT(23,1);W1$
  258 PRINT AT(21,YY);B$
  260 FOR I=5 TO 7:PRINT AT(I,2);Z$:NEXT I
  262 RETURN
  264 Q=0:Q1=-67:ZE=207:RETURN
  266 Q=0:Q1=1:ZE=144:RETURN
  268 Q=0:Q1=2:ZE=167:RETURN
  270 Q=0:Q1=1:ZE=136:RETURN
  272 PRINT AT(15,10);RR,". R U N D E ! ! !"
  274 FOR I=1 TO 20:BEEP:PAUSE 1:NEXT I
  276 PRINT AT(15,10);STRING$(22," ")
  278 RETURN
  999 REM HAUPTPROGRAMM ===============HP
 1000 GOSUB 200:GOSUB 248
 1002 POKE B+X+Y,32
 1004 IF X>320 THEN 1010
 1006 IF X=320 AND ABS(DX)=80 THEN DX=DX/2:GOTO 1010
 1008 IF X=320 AND ABS(DX)=40 THEN DX=DX*2:GOTO 1010
 1010 X=X+DX:IF X<80 OR X>880 THEN DX=-DX:BEEP:GOTO 1010
 1012 Y=Y+DY:IF Y<2 OR Y>37 THEN DY=-DY:BEEP:GOTO 1012
 1014 IF PEEK(B+X+Y)<>32 AND X<840 THEN POKE B+X+Y,32:POKE B+X+Y-1,32:POKE B+X+1,199:GOTO 1040
 1016 IF PEEK(B+X+Y-40)<>32 AND X>840 THEN DX=-DX:BEEP:GOTO 1010
 1018!
 1020! 
 1022! SPRITES !!!
 1024!
 1026!
 1028 IF X=880 THEN GOTO 1110
 1030 Q=Q1-Q:POKE B+X+Y,ZE+Q:Y1=YY:A=PEEK(36):IF A=0 THEN 1002
 1032 IF A=8 AND YY-3>0 THEN YY=YY-3:GOTO 1038
 1034 IF A=9 AND YY+3<Y2 THEN YY=YY+3:GOTO 1038
 1036 GOTO 1002
 1038 PRINT AT(21,Y1);L$:PRINT AT(21,YY);B$:GOTO 1002
 1040 ON(INT(RND(1)*3)+1)GOTO 1042,1044,1046
 1042 DX=-DX:BEEP:GOTO 1048
 1044 DY=-DY:BEEP:GOTO 1048
 1046 DX=-DX:DY=-DY:BEEP:GOTO 1048
 1048 PK=PK+INT(RND(1)*P1):IF HI<PK THEN HI=PK
 1050 PRINT AT(0,1);"PUNKTE:",PK," ",SC$,"  HI:",HI,"     "
 1052 PRINT AT(0,29);RR,".RUNDE "
 1054 ZZ=ZZ+1:IF ZZ=25 THEN ON R GOSUB 264,266,268,270
 1056 IF ZZ=50 THEN ZZ=0:ON R GOTO 1062,1072,1078,1084
 1058 IF SC>=0 THEN 1016
 1060 GOTO 1090
 1062 IF SC<3 THEN SC=SC+1:SC$=SC$+"*"
 1064 R=2:RR=RR+1
 1066 PRINT AT(21,YY);L$:PRINT AT(21,Y1);L$:B$="":L$="   "
 1068 PRINT AT(21,Y1);B$
 1070 Z$=W3$:Q=0:Q1=0:ZE=144:P1=30:Y2=36:GOSUB 260:GOSUB 272:ZZ=ZZ-1:GOTO 1050
 1072 IF SC<3 THEN SC=SC+1:SC$=SC$+"*"
 1074 R=3:RR=RR+1
 1076 Z$=W4$:Q=0:Q1=0:ZE=167:P1=40:GOSUB 260:GOSUB 272:ZZ=ZZ-1:GOTO 1050
 1078 IF SC<3 THEN SC=SC+1:SC$=SC$+"*"
 1080 R=4:RR=RR+1
 1082 Z$=W5$:Q=0:Q1=0:ZE=136:P1=50:GOSUB 260:GOSUB 272:ZZ=ZZ-1:GOTO 1050
 1084 IF SC<3 THEN SC=SC+1:SC$=SC$+"*"
 1086 R=1:RR=RR+1
 1088 Z$=W2$:Q=0:Q1=0:ZE=207:P1=30:GOSUB 260:GOSUB 272:ZZ=ZZ-1:GOTO 1050
 1090 A$(1)="**************************"
 1092 A$(2)="*                        *"
 1094 A$(3)="*    NEUES SPIEL?        *"
 1096 A$(5)="*    NEUES GLUECK!!      *"
 1098 A$(7)="*    NICHT VERZAGEN !    *"
 1100 A$(4)=A$(2):A$(6)=A$(2):A$(8)=A$(2):A$(9)=A$(1)
 1102 FOR I=9 TO 17:PRINT AT(I,7);A$(I-8):NEXT I
 1104 KY$="NEUER VERSUCH":GOSUB 150
 1106 IF T=1 THEN 1000
 1108 GOTO 9000
 1110 SC=SC-1:ZZ=ZZ-1:IF SC>=0 THEN SC$=LEFT$(SC$,SC)
 1112 FOR I=1 TO 10:BEEP:PAUSE 2:NEXT I:PAUSE 20
 1114 X=X-80:DX=-DX:Y=Y1+1:GOTO 1050
 8999 REM ENDE =====================ENDE
 9000 GOSUB 160:PRINT INK 3;AT(8,2);"AUF WIEDERSEHEN!":PAUSE 50:T$=INKEY$:CLS