forked from robhagemans/basicode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathB06_Denkhoofd.bc3
266 lines (265 loc) · 6.36 KB
/
B06_Denkhoofd.bc3
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
1000 A=200:GOTO20:REM DENKHOOFD
1010 REM ++++ BC3.DENKHOOFD 52 ++++
1020 GOSUB2010:REM INIT
1030 REM ++++ HOOFDLOOP ++++
1040 GOSUB3010:REM INTRO
1050 GOSUB4010:REM GEZICHT
1060 GOSUB5010:REM REKENEN
1070 GOSUB9010:REM NOG EENS
1080 IFJN=1 THEN1040
1090 GOTO950
2000 REM ++++ INIT ++++
2010 MG=9:REM MAX GETAL
2020 REM MG is een getal van 3 t/m 9
2030 RETURN
2500 REM ++++ TEKEN OGEN ++++
2510 VE=.36:HO=.16:GOSUB650
2520 VE=.36:HO=.36:GOSUB650
2530 RETURN
2600 REM ++++ HAAL GETALLEN ++++
2610 GOSUB260
2620 G1=INT(RV*MG)+1
2630 GOSUB260
2640 G2=INT(RV*MG)+1
2650 RETURN
2700 REM ++++ PRINT OPGAVE ++++
2710 SR=G1:GOSUB300
2720 G1$=RIGHT$(" "+SR$,2)
2730 SR=G2:GOSUB300
2740 G2$=RIGHT$(" "+SR$,2)
2750 SR$=G1$+" "+RM$+G2$+" = "
2760 VE=RC/10:HO=.62:CN=0:GOSUB650
2770 RETURN
3000 REM ++++ INTRO ++++
3010 GOSUB100
3020 PRINT" REKENHOOFD"
3030 PRINT
3040 PRINT"Hallo daar"
3050 PRINT
3060 PRINT" Ik leer je rekenen"
3070 PRINT
3080 PRINT" O = optellen"
3090 PRINT" A = aftrekken"
3100 PRINT" D = delen"
3110 PRINT" V = vermenigvuldigen"
3120 PRINT
3130 PRINT" W = willekeurig"
3140 PRINT
3150 PRINT
3160 PRINT" Ik zal LACHEN of HUILEN"
3170 PRINT
3180 PRINT
3190 PRINT
3200 PRINT" KIES EEN LETTER ";
3210 RM=0
3220 GOSUB210
3230 IFIN=79 THENRM=1
3240 IFIN=65 THENRM=2
3250 IFIN=68 THENRM=3
3260 IFIN=86 THENRM=4
3270 IFIN=87 THENRM=5
3280 IFRM=0 THEN GOSUB250:GOTO3220
3300 RETURN
4000 REM ++++ GEZICHT ++++
4010 GOSUB600
4030 GOSUB4110:REM HOOFD
4040 GOSUB4210:REM OGEN
4050 GOSUB4410:REM NEUS
4060 GOSUB4510:REM MOND
4070 GOSUB4610:REM OREN
4080 GOSUB4710:REM LACHEN
4090 RETURN
4100 REM ++++ HOOFD ++++
4110 CN=0
4120 VE=.16:HO=.14:GOSUB620:HO=.41:GOSUB630
4130 VE=.51:HO=.52:GOSUB630
4140 VE=.84:HO=.41:GOSUB630:HO=.14:GOSUB630
4150 VE=.51:HO=.02:GOSUB630
4160 VE=.16:HO=.14:GOSUB630
4170 RETURN
4200 REM ++++ OGEN ++++
4210 VE=.28:HO=.17:GOSUB620
4220 VE=.38:HO=.21:GOSUB630
4230 VE=.48:HO=.17:GOSUB630
4240 VE=.38:HO=.13:GOSUB630
4250 VE=.28:HO=.17:GOSUB630:HO=.37:GOSUB620
4260 VE=.38:HO=.41:GOSUB630
4270 VE=.48:HO=.37:GOSUB630
4280 VE=.38:HO=.33:GOSUB630
4290 VE=.28:HO=.37:GOSUB630
4300 RETURN
4400 REM ++++ NEUS ++++
4410 VE=.38:HO=.27:GOSUB620
4420 VE=.59:HO=.33:GOSUB630:HO=.21:GOSUB630
4430 VE=.38:HO=.27:GOSUB630
4440 RETURN
4500 REM ++++ MOND ++++
4510 VE=.72:HO=.21:GOSUB620:HO=.34:GOSUB630
4520 RETURN
4600 REM ++++ OREN ++++
4610 VE=.22:HO=.11:GOSUB620
4620 VE=.19:HO=.04:GOSUB630
4630 VE=.37:HO=.06:GOSUB630
4640 VE=.22:HO=.43:GOSUB620
4650 VE=.19:HO=.51:GOSUB630
4660 VE=.37:HO=.48:GOSUB630
4670 RETURN
4700 REM ++++ LACHEN ++++
4710 CN=0
4720 VE=.72:HO=.34:GOSUB620
4730 VE=.66:HO=.41:GOSUB630
4740 VE=.72:HO=.21:GOSUB620
4750 VE=.66:HO=.14:GOSUB630
4760 SR$="O"
4770 GOSUB2510:REM TEKEN OGEN
4780 RETURN
4800 REM ++++ HUILEN ++++
4810 CN=0
4820 VE=.72:HO=.34:GOSUB620
4830 VE=.78:HO=.41:GOSUB630
4840 VE=.72:HO=.21:GOSUB620
4850 VE=.78:HO=.14:GOSUB630
4860 SR$="+"
4870 GOSUB2510:REM TEKEN OGEN
4880 RETURN
4900 REM ++++ WIS HUIL/LACH ++++
4910 CN=1
4920 GOSUB4720:REM WIS LACH
4930 GOSUB4820:REM WIS HUIL
4940 RETURN
5000 REM ++++ REKENEN ++++
5010 FORRC=1 TO9
5020 GOSUB6010:REM REKENMETHODE
5030 GOSUB7010:REM INPUT UITKOMST
5040 GOSUB5510:REM CONTROLEER
5050 ONGF GOSUB5610,5710
5060 REM 1. GOED
5070 REM 2. FOUT
5080 IFGF=2 THEN5030
5090 NEXTRC
5100 RETURN
5500 REM ++++ CONTROLEER ++++
5510 UI=VAL(UI$)
5520 IFUI=G3 THENGF=1:RETURN
5530 GF=2:RETURN
5600 REM ++++ GOED ++++
5610 GOSUB4910:REM WIS LACH/HUIL
5620 GOSUB4710:REM LACHEN
5630 GOSUB8010:REM MUZIEK
5640 RETURN
5700 REM ++++ FOUT ++++
5710 CN=1:GOSUB650
5720 GOSUB4910:REM WIS LACH/HUIL
5730 GOSUB4810:REM HUILEN
5740 GOSUB8010:REM MUZIEK
5750 RETURN
6000 REM ++++ REKENMETHODE ++++
6010 GOSUB2610:REM HAAL GETALLEN
6020 ONRM GOSUB6110,6210,6310,6410,6510
6030 GOSUB2710:REM PRINT OPGAVE
6040 RETURN
6050 REM 1. OPTELLEN
6060 REM 2. AFTREKKEN
6070 REM 3. DELEN
6080 REM 4. VERMENIGVULDIGEN
6090 REM 5. WILLEKEURIG
6100 REM ++++ OPTELLEN ++++
6110 RM$="+"
6120 G3=G1+G2
6130 RETURN
6200 REM ++++ AFTREKKEN ++++
6210 RM$="-"
6220 IFG1>=G2 THEN6240
6230 GH=G1:G1=G2:G2=GH
6240 G3=G1-G2
6250 RETURN
6300 REM ++++ DELEN ++++
6310 RM$=":"
6320 G3=G1
6330 G1=G2*G3
6340 RETURN
6400 REM ++++ VERMENIGVULDIGEN ++++
6410 RM$="x"
6420 G3=G1*G2
6430 RETURN
6500 REM ++++ WILLEKEURIG ++++
6510 GOSUB260
6520 RM=INT(RV*4)+1
6530 GOSUB6010:REM REKENMETHODE
6540 RM=5
6550 RETURN
7000 REM ++++ INPUT UITKOMST ++++
7010 UI$=""
7020 VE=RC/10:HO=.62
7030 REM ++++ INPUT TOETS ++++
7040 SR$=" "+UI$+"?"
7050 CN=0:GOSUB650
7060 SD=30:GOSUB450
7070 CN=1:GOSUB650
7080 IFSD=0 THEN7150:REM TIJD OM
7090 IFIN=13 THEN7350:REM ENTER/RETURN
7100 IFIN=28 THEN7240:REM PIJL LINKS
7110 IF(IN$>="0")AND(IN$<="9") THEN7300
7120 REM ++++ TOETS FOUT ++++
7130 GOSUB250:GOTO7040
7140 REM ++++ TIJD OM ++++
7150 IFUI$<>"" THEN7190
7160 GOSUB8510:REM MUZIEK TIJD
7170 GOTO7040
7180 REM ++++ TIJD/LENGTE ++++
7190 SR=G3:GOSUB300
7200 IFLEN(SR$)<=LEN(UI$) THEN7350
7210 GOSUB8510:REM MUZIEK TIJD
7220 GOTO7040
7230 REM ++++ PIJL LINKS ++++
7240 IFUI$="" THEN7130
7250 LE=LEN(UI$)
7260 IFLE=1 THENUI$=""
7270 IFLE>1 THENUI$=LEFT$(UI$,LE-1)
7280 GOTO7040
7290 REM ++++ VOLGEND CIJFER ++++
7300 IFLEN(UI$)>=3 THEN7130
7310 UI$=UI$+IN$
7320 IFVAL(UI$)=G3 THEN7350
7330 GOTO7040
7340 REM ++++ ENTER/RETURN ++++
7350 SR$=" "+UI$
7360 CN=0:GOSUB650
7370 IFUI$="" THEN7130
7380 RETURN
8000 REM ++++ MUZIEK ++++
8010 ONGF GOSUB8110,8210
8020 RETURN
8030 REM 1. MUZIEK GOED
8040 REM 2. MUZIEK FOUT
8100 REM ++++ MUZIEK GOED ++++
8110 SP=70:SD=3:SV=7:GOSUB400
8120 SP=0:SD=2:SV=0:GOSUB400
8130 SP=75:SD=3:SV=7:GOSUB400
8140 RETURN
8200 REM ++++ MUZIEK FOUT ++++
8210 SP=61:SD=7:SV=7:GOSUB400
8220 RETURN
8500 REM ++++ MUZIEK TIJD ++++
8510 SP=90:SD=7:SV=7:GOSUB400
8520 RETURN
9000 REM ++++ NOG EENS ++++
9010 SR$="NOG EENS J/N "
9020 CN=0:VE=.89:HO=.14:GOSUB650
9030 JN=0
9040 GOSUB210
9050 IFIN=74 THENJN=1:RETURN
9060 IFIN=78 THENJN=2:RETURN
9070 GOSUB250:GOTO9040
30000 REM
32000 REM Frans Verberkt
32010 REM Hillekensacker 12-10
32020 REM 6546 KG NIJMEGEN
32030 REM
32040 REM tel 080-779555
32050 REM
32060 REM 8 sep 1988
32070 REM Gemaakt op APPLE II+
32080 REM Getest op MSX
32090 REM
32100 REM TROS-RADIO dd 890215