-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy path03_Vier_gewinnt.bc2
More file actions
229 lines (228 loc) · 5.24 KB
/
03_Vier_gewinnt.bc2
File metadata and controls
229 lines (228 loc) · 5.24 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
1000 A=200:GOTO20:REM VIER GEWINNT
1010 REM
1020 REM * H. + M. FILLINGER *
1030 REM * 11.4.1984 *
1040 REM
1100 REM * VARIABLENLISTE *
1110 REM A$....................MARKE SPIELER 1
1120 REM A1$...................MARKE SPIELER 2
1130 REM F(H,V)................POSITION CHIPS
1140 REM F1(V).................ANZAHL CHIPS IN
1150 REM SPALTE V
1160 REM F$,F1$,F2$,F3$,F4$....AUFBAU SPIELFELD
1170 REM H,J...................HORIZONT.POSITION
1180 REM I,II..................LAUFVARIABLE
1190 REM P.....................SPIELER
1200 REM PR....................PRUEFVARIABLE
1210 REM V,L...................VERTIK.POSITION
1220 REM Z.....................ZUG(SPALTENANGABE)
1230 REM Z$....................TITELSTRING
1240 REM
1600 DIMF(10,12),F1(10),Z$(2)
1610 REM
1620 FORI=0 TO10
1630 FORII=0 TO12
1640 F(I,II)=0
1650 NEXTII
1660 F1(I)=0
1670 NEXTI
1680 REM
1700 GOSUB100
1710 GOSUB15000
1800 REM * SPIELANLEITUNG *
1810 PRINT"DER SPIELER, DER ALS ERSTER"
1820 PRINT"4 SEINER SPIELMARKEN SENKRECHT,"
1830 PRINT"WAAGRECHT ODER DIAGONAL"
1840 PRINT"NEBENEINANDER PLATZIEREN"
1850 PRINT"KANN, HAT GEWONNEN."
1860 PRINT"WENN WEITER, BITTE 'RETURN'";:GOSUB210
1870 GOSUB100
1880 REM
1900 I$=""
1910 FORI=1 TO40
1920 I$=I$+CHR$(32)
1930 NEXTI
2000 REM * SPIELPROGRAMM *
2010 GOSUB14000
2020 VE=13:HO=4
2030 GOSUB110
2040 PRINT"EINGABE SPIELER MIT MARKE ";A$;" ";
2050 GOSUB210:PRINTIN$;:Z=VAL(IN$)
2060 IF(Z<1) OR(Z>7) THEN2020
2070 IFF1(Z)=9 THEN2020
2080 F1(Z)=F1(Z)+1
2090 F(Z,F1(Z)-1)=1
2100 VE=13:HO=0:GOSUB110:PRINTI$;
2110 GOSUB3000
2120 VE=13:HO=4:GOSUB110
2130 PRINT"EINGABE SPIELER MIT MARKE ";A1$;" ";
2140 GOSUB210:PRINTIN$;:Z=VAL(IN$)
2150 IF(Z<1) OR(Z>7) THEN2120
2160 IFF1(Z)=9 THEN2110
2170 F1(Z)=F1(Z)+1
2180 F(Z,F1(Z)-1)=2
2190 VE=13:HO=0:GOSUB110:PRINTI$;
2200 GOSUB4000
2210 GOTO2020
3000 REM * EINWURF SPIELER 1 *
3010 FORII=0 TO(3+Z*3)
3020 VE=0:HO=II:IF(II=2) OR(II=3) THEN3080
3030 GOSUB110
3040 PRINT" ";
3050 HO=HO+2
3060 GOSUB110
3070 PRINT"#";
3080 NEXTII
3090 HO=HO-1
3100 FORII=9 TOF1(Z) STEP-1
3110 GOSUB110
3120 PRINT" ";
3130 VE=VE+1
3140 GOSUB110
3150 PRINT"##";
3160 NEXTII
3170 GOSUB250
3180 GOTO5000
4000 REM * EINWURF SPIELER 2 *
4010 FORII=34 TO(6+Z*3) STEP-1
4020 VE=0:HO=II-1:IF(II=31) OR(II=30) THEN4080
4030 GOSUB110
4040 PRINT"*";
4050 HO=HO+1
4060 GOSUB110
4070 PRINT" ";
4080 NEXTII
4090 HO=HO-2
4100 FORII=9 TOF1(Z) STEP-1
4110 GOSUB110
4120 PRINT" ";
4130 VE=VE+1
4140 GOSUB110
4150 PRINT"**";
4160 NEXTII
4170 GOSUB250
4180 GOTO5000
4260 PRINTTAB(6)F2
4290 PRINT
4300 RETURN
5000 REM * VIER ABPREUFEN *
5010 PR=0
5020 IFF(Z,F1(Z)-1)=1 THENP=1
5030 IFF(Z,F1(Z)-1)=2 THENP=2
5040 H=Z-3
5050 IFH<1 THENH=1
5060 V=F1(Z)-1
5070 REM * HORIZONTAL *
5080 FORJ=H TO4
5090 IFF(J,V)<>P THEN5140
5100 IFF(J+1,V)<>P THEN5140
5110 IFF(J+2,V)<>P THEN5140
5120 IFF(J+3,V)<>P THEN5140
5130 PR=1
5140 NEXTJ
5150 IFPR=1 THEN6000
5160 REM * VERTIKAL *
5170 H=Z
5180 V=F1(Z)-4
5190 IFV<0 THENV=0
5200 FORJ=V TO7
5210 IFF(H,J)<>P THEN5260
5220 IFF(H,J+1)<>P THEN5260
5230 IFF(H,J+2)<>P THEN5260
5240 IFF(H,J+3)<>P THEN5260
5250 PR=1
5260 NEXTJ
5270 IFPR=1 THEN6000
5280 REM * DIAGONAL *
5290 FORJ=4 TO7
5300 FORL=0 TO9
5310 IFF(J,L)<>P THEN5360
5320 IFF(J-1,L+1)<>P THEN5360
5330 IFF(J-2,L+2)<>P THEN5360
5340 IFF(J-3,L+3)<>P THEN5360
5350 PR=1
5360 NEXTL
5370 NEXTJ
5380 IFPR=1 THEN6000
5390 FORJ=1 TO4
5400 FORL=0 TO9
5410 IFF(J,L)<>P THEN5460
5420 IFF(J+1,L+1)<>P THEN5460
5430 IFF(J+2,L+2)<>P THEN5460
5440 IFF(J+3,L+3)<>P THEN5460
5450 PR=1
5460 NEXTL
5470 NEXTJ
5480 IFPR=1 THEN6000
5490 RETURN
6000 REM * GEWINN SPIELER P *
6010 IFP=2 GOTO7000
6020 FORI=1 TO50
6030 VE=13:HO=4:GOSUB110
6040 PRINT"SPIELER ";A$;" HAT GEWONNEN !!!!!!!!!!"
6050 VE=0:HO=2
6060 GOSUB110
6070 PRINT" ";
6080 HO=3:GOSUB110:PRINT"#";
6090 HO=3:GOSUB110:PRINT" ";
6100 HO=2:GOSUB110:PRINT"##";
6110 HO=4:VE=13:GOSUB110
6120 PRINTI$;:GOSUB250
6130 NEXTI
6140 END
6150 REM
7000 FORI=1 TO50
7010 VE=13:HO=4:GOSUB110
7020 PRINT"SPIELER ";A1$;" HAT GEWONNEN !!!!!!!!!!"
7030 VE=0:HO=30:GOSUB110
7040 PRINT" ";
7050 HO=31:GOSUB110:PRINT"*";
7060 HO=31:GOSUB110:PRINT" ";
7070 HO=30:GOSUB110:PRINT"**";
7080 HO=4:VE=13:GOSUB110
7090 PRINTI$;:GOSUB250
7100 NEXTI
7110 END
14000 REM * SPIELFELD *
14010 A$=CHR$(35)+CHR$(35)
14020 A1$=CHR$(42)+CHR$(42)
14030 F$=CHR$(32)+CHR$(32)+A$
14040 FORI=1 TO26
14050 F$=F$+CHR$(32)
14060 NEXTI
14070 F$=F$+A1$
14080 FORI=0 TO5
14090 F1$=F1$+CHR$(33)
14100 NEXTI
14110 FORI=0 TO6
14120 F2$=F2$+CHR$(33)+CHR$(32)+CHR$(32)
14130 NEXTI
14140 F2$=F2$+CHR$(33)
14150 FORI=1 TO7
14160 F3$=F3$+CHR$(33)+CHR$(32)+CHR$(48+I)
14170 NEXTI
14180 F3$=F3$+CHR$(33)
14190 GOSUB100
14200 FORI=1 TO22
14210 F4$=F4$+CHR$(33)
14220 NEXTI
14230 PRINTF$
14240 PRINTF1$;F2$;F1$
14250 FORI=1 TO8
14260 PRINT" "+F2$
14270 NEXTI
14280 PRINT" "+F4$
14290 PRINT" "+F3$
14300 RETURN
15000 REM * TITEL *
15010 PRINT:PRINT:PRINT:PRINT
15020 PRINT" VIER GEWINNT "
15030 PRINT:PRINT:PRINT:PRINT:PRINT
15040 PRINT" CO. H.& M.FILLINGER"
15050 PRINT" MCMLXXXIV"
15060 PRINT
15070 FORI=1 TO2000:NEXTI
15080 GOSUB100
15090 RETURN
15100 REM
15110 REM