forked from robhagemans/basicode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
15_Vermenigvuldigen.bc2
206 lines (205 loc) · 6.08 KB
/
15_Vermenigvuldigen.bc2
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
1000 A=500:GOTO20:REM VERMENIGVULDIG PUZZLE
1010 GOSUB100:REM INLEIDING
1020 PRINT"*************************"
1030 PRINT"* *"
1040 PRINT"* VERMENIGVULDIG PUZZLE *"
1050 PRINT"* *"
1060 PRINT"*************************"
1070 PRINT:PRINT:PRINT"MET BEHULP VAN DIT SPELLETJE KAN MEN"
1080 PRINT:PRINT"DE REKEN-VAARDIGHEID, INDIEN NODIG,"
1090 PRINT:PRINT"EEN STUK VERBETEREN."
1100 PRINT:PRINT"DE BEDOELING IS EEN VERMENIGVULDIGING"
1110 PRINT:PRINT"DIE DE COMPUTER HEEFT BEDACHT, GEHEEL"
1120 PRINT:PRINT"TE ONTRAADSELEN.":PRINT:PRINT
1130 PRINT:PRINT"DRUK OP EEN TOETS OM VERDER TE GAAN..."
1140 GOSUB210:GOSUB100
1150 PRINT"DE VERMENIGVULDIGING ZIET ER ZO UIT:"
1160 PRINT:PRINT:PRINT" ***"
1170 PRINT" **"
1180 PRINT" ---- X"
1190 PRINT" ****
1200 PRINT" ****"
1210 PRINT" ----- +"
1220 PRINT" *****"
1230 PRINT" ^ ^"
1240 PRINT" ! !"
1250 PRINT" KOLOM 5...1"
1260 PRINT:PRINT"DE COMPUTER STELT DE VRAAG, IN WELKE"
1270 PRINT:PRINT"KOLOM (1,2,3,4 OF 5) U EEN CIJFER WILT"
1280 PRINT:PRINT"RADEN. DRUK ALLEEN HET KOLOMNUMMER IN."
1290 PRINT:PRINT:PRINT
1300 PRINT"DRUK OP EEN TOETS OM VERDER TE GAAN..."
1310 GOSUB210:GOSUB100
1320 PRINT"DAARNA VRAAGT HIJ WELK CIJFER U IN DIE"
1330 PRINT:PRINT"KOLOM WILT PROBEREN TE PLAATSEN."
1340 PRINT:PRINT"U DRUKT WEER ALLEEN OP HET CIJFER (0-9)"
1350 PRINT:PRINT"EN DE COMPUTER KIJKT OF HET IN DE DOOR"
1360 PRINT:PRINT"U GEKOZEN KOLOM VOORKOMT."
1370 PRINT:PRINT"ALS DIT ZO IS, WORDT HET OP DE JUISTE"
1380 PRINT:PRINT"PLAATS(EN) INGEVULD. ZO NIET, DAN"
1390 PRINT:PRINT"GELDT HET ALS 'MISSER'."
1400 PRINT:PRINT"DE KUNST IS MET ZO MIN MOGELIJK MISSERS"
1410 PRINT:PRINT"DE OPLOSSING TE VINDEN."
1420 PRINT:PRINT:PRINT
1430 PRINT"DRUK OP EEN TOETS OM VERDER TE GAAN..."
1440 GOSUB210:GOSUB100
1450 PRINT"ALS U ALLE GETALLEN HEEFT GEVONDEN,"
1460 PRINT:PRINT"KRIJGT U DE BEOORDELING VAN UW ZWOEGEN"
1470 PRINT:PRINT"GEPRESENTEERD."
1480 PRINT:PRINT:PRINT" *** VEEL SUCCES ***"
1490 PRINT:PRINT:PRINT:PRINT
1500 PRINT"DRUK OP EEN TOETS ALS U WILT BEGINNEN.."
1510 GOSUB210
2000 MM=0:GOSUB100:REM OPZETTEN VAN PUZZLE
2010 GOSUB260
2020 A=INT(RV*1000)
2030 IFA<320 THEN2010
2040 GOSUB260
2050 B=INT(RV*100)
2060 IFB<34 THEN2040
2070 B(2)=INT(B/10)
2080 B(1)=B-B(2)*10:IFB(1)*A<1000 THEN2040
2090 C=B(1)*A:D=B(2)*A
2100 E=A*B
2110 R=A
2120 FORI=1 TO3
2130 A(I)=R-INT(R/10)*10
2140 R=INT(R/10)
2150 NEXTI
2160 R=C
2170 FORI=1 TO4
2180 C(I)=R-INT(R/10)*10
2190 R=INT(R/10)
2200 NEXTI
2210 D(1)=999
2220 R=D
2230 FORI=2 TO5
2240 D(I)=R-INT(R/10)*10
2250 R=INT(R/10)
2260 NEXTI
2270 R=E
2280 FORI=1 TO5
2290 E(I)=R-INT(R/10)*10
2300 R=INT(R/10)
2310 NEXTI
2320 FORI=1 TO3
2330 A$(I)="*"
2340 NEXTI
2350 FORI=1 TO2
2360 B$(I)="*"
2370 NEXTI
2380 FORI=1 TO4
2390 C$(I)="*"
2400 NEXTI
2410 FORI=1 TO5
2420 D$(I)="*"
2430 E$(I)="*"
2440 NEXTI
2450 D$(1)=" "
3000 REM INPUT VAN SPELER
3010 GOSUB5000:VE=18:HO=9:GOSUB110:PRINT" "
3020 VE=20:HO=1:GOSUB110:PRINT" "
3030 VE=18:HO=1:GOSUB110
3040 PRINT"KOLOM ? ";:GOSUB210
3050 IF(ASC(IN$)<48) OR(ASC(IN$)>53) THEN3030
3060 K=VAL(IN$):PRINTK
3070 VE=20:HO=1:GOSUB110
3080 PRINT"CIJFER ? ";:GOSUB210
3090 IF(ASC(IN$)<48) OR(ASC(IN$)>57) THEN3060
3100 SR=VAL(IN$):PRINTSR
3110 GOSUB4000
3120 GOTO3000
4000 REM VERGELIJK PUZZLE MET INPUT
4010 A(4)=99:A(5)=99:B(3)=99:B(4)=99:B(5)=99:C(5)=99
4015 M=1
4020 IFA(K)=SR THENGOSUB300:A$(K)=SR$:M=0
4030 IFB(K)=SR THENGOSUB300:B$(K)=SR$:M=0
4040 IFC(K)=SR THENGOSUB300:C$(K)=SR$:M=0
4050 IFD(K)=SR THENGOSUB300:D$(K)=SR$:M=0
4060 IFE(K)=SR THENGOSUB300:E$(K)=SR$:M=0
4070 MM=MM+M
4080 VE=22:HO=1:GOSUB110
4090 IFMM>0 THENPRINT"AANTAL MISSERS: ";MM
4100 GOSUB6000
4110 IFKL=1 THEN7000
5000 REM PRINTEN VAN DE PUZZLE
5010 REM
5020 VE=7:HO=15:GOSUB110
5030 PRINTA$(3);A$(2);A$(1)
5040 VE=8:HO=16:GOSUB110
5050 PRINTB$(2);B$(1)
5060 VE=9:HO=14:GOSUB110
5070 PRINT"---- X"
5080 VE=10:HO=14:GOSUB110
5090 PRINTC$(4);C$(3);C$(2);C$(1)
5100 VE=11:HO=13:GOSUB110
5110 PRINTD$(5);D$(4);D$(3);D$(2);D$(1)
5120 VE=12:HO=13:GOSUB110
5130 PRINT"----- +"
5140 VE=13:HO=13:GOSUB110
5150 PRINTE$(5);E$(4);E$(3);E$(2);E$(1)
5160 RETURN
6000 REM IS DE PUZZLE OPGELOST ?
6010 KL=1
6020 FORI=1 TO5
6030 IFA$(I)="*" THENKL=0
6040 IFB$(I)="*" THENKL=0
6050 IFC$(I)="*" THENKL=0
6060 IFD$(I)="*" THENKL=0
6070 IFE$(I)="*" THENKL=0
6080 NEXTI
6090 RETURN
7000 REM BEPALING VAN HET RESULTAAT
7010 GOSUB5000
7020 VE=18:HO=1:GOSUB110
7030 PRINT" "
7040 PRINT:PRINT" "
7050 FORI=1 TO2000:NEXTI
7060 GOSUB100
7080 VE=5:HO=0:GOSUB110
7090 PRINT"*** DE PUZZLE IS GOED OPGELOST ***"
7100 PRINT:PRINT:PRINT"U HEEFT ";MM;" KEER MIS GERADEN"
7110 PRINT:PRINT
7120 IFMM<5 THENPRINT"DIT IS UITSTEKEND !":GOTO7180
7130 IFMM<10 THENPRINT"EEN GOED RESULTAAT !":GOTO7180
7140 IFMM<15 THENPRINT"EEN REDELIJK RESULTAAT.":GOTO7180
7150 IFMM<20 THENPRINT"MAGERTJES.....":GOTO7180
7160 IFMM>19 THENPRINT"EEN VOLGENDE KEER BETER !"
7170 REM WAT GAAT ER VERDER GEBEUREN?
7180 VE=19:HO=0:GOSUB110
7190 PRINT"NOG EENS PROBEREN (J/N) ":GOSUB210
7200 IFIN$="J" THEN2000
7210 PRINT:PRINT"TOT EEN VOLGENDE KEER !"
7220 END
10000 REM SUBROUTINE OM DE OPGAVE
10010 REM OP HET SCHERM ZICHTBAAR
10020 REM WEER TE GEVEN.
10030 REM (ALS HULPMIDDEL BIJ DE
10040 REM EERSTE POGINGEN).
10050 VE=0:HO=0:GOSUB110
10060 SR=A:GOSUB300:PRINT" ";SR$
10070 SR=B:GOSUB300:PRINT" ";SR$
10080 PRINT" --- X"
10090 SR=C:GOSUB300:PRINT" ";SR$
10100 SR=D*10:GOSUB300:PRINTSR$
10110 PRINT"----- +"
10120 SR=E:GOSUB300:PRINTSR$
10130 RETURN
30000 REM ************************
30010 REM * REKEN-PUZZLE, OP EEN
30020 REM * MICROPROFESSOR II
30030 REM * COMPUTER GEMAAKT DOOR:
30040 REM * DR P. VIJLBRIEF
30050 REM * TE
30060 REM * VOORHOUT
30070 REM * (AUGUSTUS 1983)
30080 REM *
30090 REM * ALS U IN HET BEGIN
30100 REM * EEN BEETJE OP WEG
30110 REM * WILT WORDEN GEHOLPEN
30120 REM * ZET DAN IN HET
30130 REM * PROGRAMMA OP REGEL
30140 REM * 2105 GOSUB 10050
30150 REM *
30160 REM
30170 REM NOS HOBBYSCOOP HILVERSUM