-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy path12_Bundesligatabelle.bc2
More file actions
348 lines (347 loc) · 9.39 KB
/
12_Bundesligatabelle.bc2
File metadata and controls
348 lines (347 loc) · 9.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
1000 A=3000:GOTO20:REM * BUNDESLIGA *
1010 REM
1020 REM * CO. H+M FILLINGER *
1030 REM * 3.4.1984 *
1040 GOSUB100
1100 REM * TITEL *
1110 VE=5:HO=0:GOSUB110
1120 PRINT"BUNDESLIGATABELLE"
1130 PRINT
1140 PRINT"CO. H+M FILLINGER"
1150 PRINT" MCMLXXXIV"
1160 PRINT
1200 REM * VARIABLENLISTE *
1210 REM AW,AW$.............AUSWAHL
1220 REM D..................DRUCKER
1230 REM DA.................DATEN LESEN
1240 REM DS.................DATEN SPEICHERN
1250 REM E,E$...............EDITIERHILFE
1260 REM I,J,K,L............LAUFVARIABLE
1270 REM SP(I)..............SPIELTAG
1280 REM T(I),T1(I),T2(I)...TORE
1290 REM P(I),P1(I).........PUNKTE
1300 REM V$(I)..............VEREIN
1310 REM V1$(I).............ABKUERZUNG
1320 REM VA$(I),VB$(I)......1.2.VEREIN
1330 REM
1500 DIMT(17),T1(17),T2(30),T3(30),P1(17),P(17)
1510 DIMV$(17),V1$(17),VA$(30),VB$(30),S$(17),TP(17),SP(17)
1520 REM
1530 DA=0:DS=0:SP=0
1540 REM
1550 FORI=1 TO1000:NEXTI
1560 REM
2000 REM * MENUE *
2010 GOSUB100:AW=0
2020 PRINT"-1- ERGEBNISSE EINGEBEN"
2030 PRINT"-2- TABELLE AUSGEBEN "
2040 PRINT"-3- TABELLENAUFBAU WAEHREND DER SPIELZEIT"
2050 PRINT"-0- PROGRAMM BEENDEN"
2060 INPUTAW:IFAW=0 THEN2130
2070 GOSUB100
2080 IFDA=0 THENGOSUB7000
2090 GOSUB100
2100 ONAW GOSUB3000,5000,6000
2110 GOSUB9500
2120 GOTO2010
2130 IFDS=1 THENGOSUB7500
2140 END
3000 REM * EINGABE *
3010 DS=1:IFAW$="J" THEN3240
3020 AW$="J"
3030 PRINT"BITTE GEBEN SIE ZUERST ALLE"
3040 PRINT"VEREINSNAMEN EIN"
3050 PRINT"DURCH EINGABE VON 'HILFE' WERDEN ALLE"
3060 PRINT"BISHER GESPEICHERTEN VEREINSNAMEN "
3070 PRINT"UND ABKUERZUNGEN AUSGEGEBEN"
3080 FORI=0 TO17
3090 PRINT"VEREINSNAME";:INPUTV$(I)
3100 IFV$(I)="HILFE" THENGOSUB8000:GOTO3090
3110 L=LEN(V$(I)):IFL<16 THEN3150
3120 IFL=16 THEN3180
3130 V$(I)=LEFT$(V$(I),16)
3140 PRINT"EINGABE GEKUERZT AUF :";V$(I):GOTO3180
3150 FORJ=L TO15
3160 V$(I)=V$(I)+" "
3170 NEXTJ
3180 PRINT"ABKUERZUNG (4 BUCHSTABEN)";:INPUTV1$(I)
3190 IFV1$(I)="HILFE" THENGOSUB8000:GOTO3180
3200 L=LEN(V1$(I)):IFL<>4 THENPRINT"FALSCH":GOTO3180
3210 TP(I)=I+1
3220 NEXTI
3230 IFAW=3 THENRETURN
3240 REM
3250 GOSUB100
3260 J=-1
3270 PRINT"-=EINGABE BEENDEN"
3280 PRINT"+=LETZTE EINGABE LOESCHEN"
3290 PRINT"/=ALLE EINGABEN LOESCHEN"
3300 PRINT"HILFE=AUSGABE ALLER VEREINE UND ABKUERZUNGEN"
3310 J=J+1
3320 PRINT"1.VEREIN";:INPUTE$:GOSUB8500
3330 IFE=2 THEN3480
3340 IFE=1 THEN3270
3350 VA$(J)=E$:GOTO4000
3360 PRINT"2.VEREIN";:INPUTE$:GOSUB8500
3370 IFE=2 THEN3480
3380 IFE=1 THEN3270
3390 VB$(J)=E$:GOTO4060
3400 PRINT"TORE VEREIN ";VA$(J);:INPUTE$:GOSUB8500
3410 IFE=2 THEN3480
3420 IFE=1 THEN3270
3430 T2(J)=VAL(E$)
3440 PRINT"TORE VEREIN ";VB$(J);:INPUTE$:GOSUB8500
3450 IFE=2 THEN3480
3460 IFE=1 THEN3270
3470 T3(J)=VAL(E$):GOTO3270
3480 J=J-1
3490 LL=-1
3500 LL=LL+1
3510 IFT2(LL)>T3(LL) THEN3580
3520 IFT2(LL)<T3(LL) THEN3630
3530 FORK=0 TO17
3540 IFVA$(LL)=V1$(K) THENP(K)=P(K)+1:P1(K)=P1(K)+1
3550 IFVB$(LL)=V1$(K) THENP(K)=P(K)+1:P1(K)=P1(K)+1
3560 NEXTK
3570 GOTO3670
3580 FORK=0 TO17
3590 IFVA$(LL)=V1$(K) THENP(K)=P(K)+2
3600 IFVB$(LL)=V1$(K) THENP1(K)=P1(K)+2
3610 NEXTK
3620 GOTO3670
3630 FORK=0 TO17
3640 IFVB$(LL)=V1$(K) THENP(K)=P(K)+2
3650 IFVA$(LL)=V1$(K) THENP1(K)=P1(K)+2
3660 NEXTK
3670 FORK=0 TO17
3680 IFVA$(LL)=V1$(K) THENT(K)=T(K)+T2(LL)
3690 IFVA$(LL)=V1$(K) THENT1(K)=T1(K)+T3(LL)
3700 IFVB$(LL)=V1$(K) THENT(K)=T(K)+T3(LL)
3710 IFVB$(LL)=V1$(K) THENT1(K)=T1(K)+T2(LL)
3720 NEXTK
3730 IFLL<=J THEN3500
3740 RETURN
3750 REM
4000 REM * EINGABE PRUEFEN *
4010 K=-1
4020 K=K+1
4030 IFVA$(J)=V1$(K) THENSP(K)=SP(K)+1:GOTO3360
4040 IFNOT(K>=17) THEN4020
4050 PRINT"FALSCHE EINGABE":GOTO3320
4060 K=-1
4070 K=K+1
4080 IFVB$(J)=V1$(K) THENSP(K)=SP(K)+1:GOTO3400
4090 IFNOT(K>=17) THEN4070
4100 PRINT"FALSCHE EINGABE":GOTO3360
4110 REM
5000 REM * AUSGABE *
5010 GOSUB9000
5020 GOSUB100
5030 PRINT"-1- AUSGABE DRUCKER"
5040 PRINT"-2- AUSGABE MONITOR"
5050 INPUTD
5060 IF(D<1) OR(D>2) THEN5020
5070 GOSUB100
5080 SR$="BUNDESLIGATABELLE SP TORE PUNKTE"
5090 IFD=1 THENGOSUB350:GOSUB360
5100 FORI=0 TO17
5110 SR$=S$(I):PRINTSR$
5120 IFD=1 THENGOSUB350:GOSUB360:GOTO5150
5130 IFI=8 THENPRINT"WENN WEITER, BITTE TASTE DRUECKEN"
5140 IFI=8 THENGOSUB210
5150 NEXTI
5160 PRINT"WENN WEITER, BITTE TASTE DRUECKEN"
5170 GOSUB210
5180 RETURN
5190 REM
6000 REM * TABELLENAUFBAU *
6010 GOSUB3000
6020 GOSUB100
6030 FORI=0 TO17
6040 PRINT"VEREIN ";V$(I)
6050 PRINT"KUERZEL ";V1$(I)
6060 PRINT"PLATZ ";:INPUTTP(I)
6070 PRINT"TORE GESCHOSSEN ";:INPUTT(I)
6080 PRINT"TORE ERHALTEN ";:INPUTT1(I)
6090 PRINT"GEWINNPUNKTE ";:INPUTP(I)
6100 PRINT"VERLUSTPUNKTE ";:INPUTP1(I)
6110 PRINT"SPIELTAG ";:INPUTSP(I)
6120 NEXTI
6130 GOSUB9000
6140 GOSUB7500
6150 RETURN
6160 REM
7000 REM * EINLESEN *
7010 PRINT"WURDEN SCHON DATEN GESPEICHERT";:INPUTAW$
7020 DA=1:PRINT"BITTE WARTEN"
7030 AW$=LEFT$(AW$,1)
7040 IFAW$="N" THENGOSUB7200:GOTO7160
7050 IFAW$<>"J" THEN7010
7060 DN$="BUNDESLIGA"
7070 GOSUB21200
7080 GOSUB21500
7090 DN$=S1$:SP=VAL(S2$)
7100 FORI=0 TO17 STEP2
7110 GOSUB21500:S$(I)=S1$:S$(I+1)=S2$
7120 NEXTI
7130 GOSUB21700
7140 PRINT"BITTE WARTEN "
7150 GOSUB9200
7160 GOSUB100
7170 RETURN
7180 REM
7190 REM
7200 FORI=0 TO17
7210 S$(I)=""
7220 FORL=0 TO39
7230 S$(I)=S$(I)+" "
7240 NEXTL
7250 NEXTI
7260 RETURN
7270 REM
7500 REM * DATEN SPEICHERN *
7510 DS=0:GOSUB9000
7520 GOSUB100
7530 DN$="BUNDESLIGA":SR=SP:CT=3:CN=0:GOSUB310
7540 S1$=DN$:S2$=SR$
7550 GOSUB21100
7560 GOSUB21300
7570 FORI=0 TO17 STEP2
7580 S1$=S$(I):S2$=S$(I+1):GOSUB21300
7590 NEXTI
7600 GOSUB21700
7610 GOSUB100
7620 RETURN
7630 REM
8000 REM * HILFE
8010 GOSUB100
8020 FORL=0 TO17
8030 PRINTV$(L)+" "+V1$(L)
8040 IF(L<>8) OR(L<>17) THEN8070
8050 PRINT"WENN WEITER, BITTE TASTE DRUECKEN"
8060 GOSUB210
8070 NEXTL
8075 PRINT"WENN WEITER, BITTE TASTE DRUECKEN"
8076 GOSUB210
8080 GOSUB100
8090 RETURN
8100 REM
8500 REM * EDITIERHILFE *
8510 IFE$="HILFE" THENGOSUB8000:RETURN
8520 IFE$="-" THENE=2:RETURN
8530 IFE$="/" THEN8570
8540 IFE$="+" THEN8660
8550 E=0
8560 RETURN
8570 FORX=0 TOJ
8580 VA$(X)="":VB$(X)=""
8590 FORXX=0 TO17
8600 IFV1$(XX)=VA$(X) THENSP(XX)=SP(XX)-1
8610 IFV1$(XX)=VB$(X) THENSP(XX)=SP(XX)-1
8620 NEXTXX
8630 T2(X)=0:T3(X)=0
8640 NEXTX
8650 J=-1:E=1:RETURN
8660 VA$(J)="":VB$(J)="":T2(X)=0:T3(X)=0
8670 FORXX=0 TO17
8680 IFV1$(XX)=VA$(X) THENSP(XX)=SP(XX)-1
8690 IFV1$(XX)=VB$(X) THENSP(XX)=SP(XX)-1
8700 NEXTXX
8710 J=J-1:E=1
8720 RETURN
8730 REM
9000 REM * ZUSAMMENFUEGEN *
9010 GOSUB100
9020 PRINT"BITTE WARTEN":CN=0
9030 FORI=0 TO17
9040 S$(I)=""
9050 CT=2:SR=TP(I):GOSUB310:S$(I)=SR$+"."
9060 S$(I)=S$(I)+V$(I)+" "+V1$(I)
9070 CT=3:SR=SP(I):GOSUB310:S$(I)=S$(I)+SR$+" "
9080 CT=2:SR=T(I):GOSUB310:S$(I)=S$(I)+SR$+":"
9090 SR=T1(I):GOSUB310:S$(I)=S$(I)+SR$+" "
9100 SR=P(I):GOSUB310:S$(I)=S$(I)+SR$+":"
9110 SR=P1(I):GOSUB310:S$(I)=S$(I)+SR$
9120 NEXTI
9130 RETURN
9140 REM
9200 REM * ENTSCHLUESSELN *
9210 FORI=0 TO17
9220 TP(I)=VAL(LEFT$(S$(I),2))
9230 V$(I)=MID$(S$(I),4,16)
9240 V1$(I)=MID$(S$(I),21,4)
9250 SP(I)=VAL(MID$(S$(I),25,3))
9260 T(I)=VAL(MID$(S$(I),29,2))
9270 T1(I)=VAL(MID$(S$(I),32,2))
9280 P(I)=VAL(MID$(S$(I),35,2))
9290 P1(I)=VAL(RIGHT$(S$(I),2))
9300 NEXTI
9310 RETURN
9320 REM
9500 REM * SORTIEREN *
9510 PRINT"BITTE WARTEN"
9520 FORI=1 TO17
9530 FORL=17 TOI STEP-1
9540 IFP(L)<P(L-1) THEN9620
9550 IFP(L)>P(L-1) THEN9630
9560 IFP1(L)>P1(L-1) THEN9620
9570 IFP1(L)<P1(L-1) THEN9630
9580 IF(T(L)-T1(L))<(T(L-1)-T1(L-1)) THEN9620
9590 IF(T(L)-T1(L))>(T(L-1)-T1(L-1)) THEN9630
9600 IFT(L)<T(L-1) THEN9620
9610 IFT(L)>T(L-1) THEN9630
9620 GOTO9700
9630 TP=L:V$=V$(L):V1$=V1$(L):T=T(L):T1=T1(L):SP=SP(L)
9640 P=P(L):P1=P1(L):TP(L)=L+1:V$(L)=V$(L-1):SP(L)=SP(L-1)
9650 V1$(L)=V1$(L-1):T(L)=T(L-1):T1(L)=T1(L-1)
9660 P(L)=P(L-1):P1(L)=P1(L-1):V1$(L-1)=V1$
9670 TP(L-1)=TP:V$(L-1)=V$:T(L-1)=T
9680 T1(L-1)=T1:P(L-1)=P
9690 P1(L-1)=P1:SP(L-1)=SP
9700 NEXTL
9710 NEXTI
9720 GOSUB100
9730 RETURN
9740 REM
21000 REM DATEIVERWALTUNG
21010 REM GILT FUER C64
21100 REM DATEI OEFFNEN ZUM SCHREIBEN
21110 REM OPEN 1,1,1,DN$:RETURN
21200 REM DATEI OEFFNEN ZUM LESEN
21210 REM OPEN 1,1,0,DN$:RETURN
21300 QP$=S1$:GOSUB21400:S1$=QZ$:QP$=S2$:GOSUB21400
21310 S2$=QZ$
21320 REM DATEN (S1$,S2$) AUF KASSETTE SCHREIBEN
21330 REM PRINT#1,S1$:REM PRINT#1,S2$:RETURN
21400 REM UMWANDELN VON DOPPELPUNKT,KOMMA
21410 REM ANFUEHRUNGSZEICHEN USW.
21420 QZ$="":IFQP$="" THENQP$=" "
21430 FORQP=1 TOLEN(QP$)
21440 QQ$=MID$(QP$,QP,1):IFQQ$=" " THENQQ$=CHR$(252)
21450 IFQQ$="," THENQQ$=CHR$(250)
21460 IFQQ$=CHR$(34) THENQQ$=CHR$(253)
21470 IFQQ$=":" THENQQ$=CHR$(251)
21480 QZ$=QZ$+QQ$:NEXTQP:RETURN
21500 REM DATEN (S1$,S2$) VON KASSETTE LESEN
21510 REM INPUT#1,S1$:REM INPUT#1,S2$
21520 QP$=S1$:GOSUB21600:S1$=QZ$:QP$=S2$
21530 GOSUB21600:S2$=QZ$:RETURN
21600 REM UMWANDELN VON DOPPELPUNKT,KOMMA
21610 REM ANFUEHRUNGSZEICHEN USW.
21620 QZ$="":IFOP$="" THENOP$=" "
21630 FORQP=1 TOLEN(QP$)
21640 QQ$=MID$(QP$,QP,1):IFQQ$=CHR$(252) THENQQ$=" "
21650 IFQQ$=CHR$(250) THENQQ$=","
21660 IFQQ$=CHR$(251) THENQQ$=":"
21670 IFQQ$=CHR$(253) THENQQ$=CHR$(34)
21680 QZ$=QZ$+QQ$
21690 NEXTQP:RETURN
21700 REM DATEI SCHLIESSEN
21710 REM CLOSE 1:RETURN
30000 REM DIE SORTIERUNG DER TABELLE ERFOLGT
30010 REM ZUNAECHST NACH GEWINNPUNKTEN.
30020 REM SIND DIESE GLEICH, WERDEN DIE VER-
30030 REM LUSTPUNKTE VERGLICHEN. SIND DIESE
30040 REM EBENFALLS GLEICH, DANN ENTSCHEIDET
30050 REM DIE TORDIFFERENZ.
30060 REM