Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
1 A1$="HEIMCOMPUTER robotron Z9001"
2 A2$="SPIELE":A9=2
4 A3$="K+PONG"
6 A4$="JAGD AUF PONG"
8 A5$="EIN REAKTIONS-SPIEL"
9 REM LAKAN-COMPUTER LGH 5-28.03.83
10 REM VERFASSER:KITTELMANN
12 REM ANSCHRIFT:MKD,1EKG
14 REM DATUM 24.02.1985 VERSION 1.0
16 REM INITIALWERTE =================IN
18 BORDER A9:INK 8:PAPER 1:GOSUB 160
20 PX=1:DIM N(9),PN(9),PS(9),PM(9)
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,31);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$
116 INK 3:PRINT AT(17,2);"HANS KITTELMANN"
117 PRINT AT(19,2);"8019 DRESDEN"
118 PRINT AT(21,2);"HOLBEINSTR. 131"
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 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
199 REM ABFRAGE ---------------------UP
200 FOR I=1 TO 50:A$=INKEY$:IF A$<>""THEN 208
202 NEXT I:PRINT AT(20,36);""
204 FOR I=1 TO 50:A$=INKEY$:IF A$<>""THEN 208
206 NEXT I:PRINT AT(20,36);" ":GOTO 200
208 IF A$<"1"OR A$>"9"THEN 200
210 PRINT AT(20,36);A$:X=VAL(A$):RETURN
211 REM ABFRAGE ZEICHENKETTE -------UP
212 FOR K=1 TO PY:PRINT AT(20,2);"NAME DES SPIELERS",K,"? ":GOSUB 218
214 PRINT AT(20,2);" SCHWIERIGKEIT SPIELER",K,"(1-9)? ":GOSUB 200
216 N(K)=20-2*X:NEXT K:RETURN
217 REM ABFRAGE ---------------------UP
218 B$=""
220 PRINT AT(20,24+LEN(B$));" ":FOR J=1 TO 50:A$=INKEY$:IF A$<>""THEN 226
222 NEXT J:PRINT AT(20,24+LEN(B$));"":FOR J=1 TO 50:A$=INKEY$:IF A$<>""THEN 226
224 NEXT J:GOTO 220
226 A=ASC(A$):PRINT AT(20,24+LEN(B$));"":IF A=13 THEN 236
228 IF A=8 AND LEN(B$)>1 THEN B$=LEFT$(B$,LEN(B$)-1):GOTO 220
230 IF A=8 AND LEN(B$)=1 THEN B$="":GOTO 220
232 IF NOT(A=32 OR(64<A AND A<91))THEN 220
233 PRINT AT(20,24+LEN(B$));A$:B$=B$+A$:IF LEN(B$)>11 THEN 236
234 GOTO 220
236 PN$(K)=B$:RETURN
238 KY$="SCHWIERIGKEITSGRAD AENDERN ?":GOSUB 150
240 IF T=0 THEN RETURN
242 GOSUB 160:PRINT AT(2,2);"SPIELER-NUMMER?":GOSUB 200:XX=X:IF X>PY THEN 242
244 A$=PN$(XX):PRINT AT(4,2);A$,"'S SCHWIERIGKEIT IST ",(20-N(XX))/2
246 PRINT AT(6,2);"DURCHSCHNITT IST ",PM(XX)
248 PRINT AT(8,2);"PUNKTESTAND WAR ",PS(XX)
250 PRINT AT(20,2);"NEUER SCHWIERIGKEITSGRAD (1-9)":GOSUB 200:N(XX)=20-X*2
252 KY$="WEITERE AENDERUNG":GOSUB 150
254 IF T=1 THEN 242
256 RETURN
999 REM HAUPTPROGRAMM ===============HP
1000 GOSUB 160
1002 PRINT AT(2,4);"PONG JAGD"
1004 PRINT AT(6,4);"VERSUCHEN SIE, PONG ZU TREFFEN!"
1006 PRINT AT(8,4);"PONG SIEHT SO AUS : * !"
1008 PRINT AT(10,4);"IHRE AUFGABE IST, PONG * MIT DER"
1010 PRINT AT(12,4);"KUGEL ZU TREFFEN."
1012 PRINT AT(14,4);"BENUETZEN SIE DIE TASTEN N UND M."
1014 PRINT AT(20,11);"WIEVIELE SPIELER (1-9)?":GOSUB 200:PY=X
1016 GOSUB 212
1018 PL=PL+1:IF PL>PY THEN PL=1
1022 TS=TI:PC=1:PK=-4620:PE=PK:D=1
1023 GOSUB 160:A$=INKEY$
1024 PRINT AT(0,0);"SPIELER:",PN$(PL),STRING$(22-LEN(PN$(PL)),"")
1026 FOR I=1 TO 22:PRINT AT(I,0);"":PRINT AT(I,39);"":NEXT I
1028 PRINT AT(23,0);STRING$(15,""),"AUFGEBEN=A",STRING$(15,"")
1030 T=INT(RND(1)*900-5120):IF(T>-4640)AND(T<-4601)THEN 1030
1032 TD=1:NN=N(PL)
1034 IF PEEK(T)<>32 THEN 1030
1036 POKE T,42
1038 FOR II=1 TO NN:IF PEEK(PE)=207 THEN POKE PE,32
1040 PE=PK:I$=INKEY$:IF I$<>""THEN 1060
1042 IF PEEK(PK+D)<>32 THEN 1050
1044 PK=PK+D:POKE PK,207:NEXT II:POKE T,32:T=T+TD*D
1046 IF PEEK(T)<>32 THEN TD=-TD:T=T+TD*D
1048 POKE T,42:GOTO 1038
1050 IF PEEK(PK+D)=144 THEN PK=PK+D:D=D-SGN(D)*41:GOTO 1038
1052 IF PEEK(PK+D)=145 THEN PK=PK+D:D=SGN(D)*((ABS(D)AND 1)*40+(ABS(D)AND 40)/40):GOTO 1038
1054 D=-D:IF PEEK(PK-D)=42 THEN 1090
1056 GOTO 1038
1060 IF I$="N"THEN 1070
1062 IF I$="M"THEN 1076
1064 IF I$="A"THEN PS=0:GOTO 1092
1066 IF I$="E"THEN END
1068 GOTO 1042
1070 O=D:PC=PC+1:POKE PK,144
1072 D=D-SGN(D)*41:GOTO 1038
1074 REM IFPEEK(PK+D)=78THENPK=PK+D
1076 O=D:PC=PC+1:POKE PK,145
1078 IF O=-1 THEN D=-40
1080 IF O=40 THEN D=1
1082 IF O=1 THEN D=40
1084 IF O=-40 THEN D=-1
1086 GOTO 1038
1090 PS=1000-12*(PC-1)-INT((TI-TS)/6):IF PS<0 THEN PS=1
1092 PS(PL)=PS
1094 PM(PL)=INT((PM(PL)*(PX-1)+PS)/PX)
1096 GOSUB 160:PRINT AT(0,2);"SPIELER SCHW. PUNKTE DURCHSCH."
1098 FOR I=1 TO PY
1100 PRINT AT(I*2,2);PN$(I):A1$=STR$((20-N(I))/2):PRINT AT(I*2,14);A1$
1101 A1$=STR$(PS(I)):PRINT AT(I*2,22);A1$:A1$=STR$(PM(I)):PRINT AT(I*2,30);A1$
1102 NEXT I
1104 PRINT AT(20,2);"DAS WAR SPIEL NR. ",PX
1106 IF PL=PY THEN GOSUB 238:FOR I=1 TO PY:PS(I)=0:NEXT I:PX=PX+1:GOTO 1018
1108 KY$="WEITER SPIELEN":GOSUB 150
1110 IF T=1 THEN 1018
1112 GOTO 9000
8999 REM ENDE =====================ENDE
9000 GOSUB 160:PRINT INK 3;AT(8,2);"AUF WIEDERSEHEN!":PAUSE 50:T$=INKEY$:CLS