-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy path12_Teacher.bc2
224 lines (223 loc) · 8.82 KB
/
12_Teacher.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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
1000 A=2000:GOTO20:REM TEACHER
1010 GOSUB100:PRINT" EVEN DE MAAT NEMEN."
1020 DIMSP$(2,14),TA$(255,1),SC(14,4):CT=5:CN=1:VE=1
1030 HO=0:FORY=0 TO99:VE=Y:GOSUB110:GOSUB120
1040 IFVE=Y THENPRINT".";:NEXTY
1050 FORX=0 TO99:HO=X:GOSUB110:GOSUB120
1060 IFHO=X THENPRINT".";:NEXTX
1070 GOSUB100:X=X-1:Y=Y-1:BL$="":FORI=1 TOX:BL$=BL$+" "
1075 NEXTI
1080 D$=" DRUK EEN TOETS ":GOSUB100
1090 PRINT"INSTRUCTIES ? (J/N)";:GOSUB210:GOSUB100
1100 IFIN$="J" THENGOSUB2350
1110 PL=Y-10:PRINT"HOEVEEL SPELERS ?":HO=0:VE=2
1120 GOSUB110:PRINT"1-";PL;" :";:INPUTIN$
1130 IN=VAL(IN$):IF(IN<1) OR(IN>PL) THEN1120
1140 PL=IN:FORI=1 TOPL:N$=""
1150 PRINT"NAAM SPELER":PRINT"NO "I;:INPUTN$
1160 SP$(0,I)=LEFT$(N$,10):IFN$="" THENI=I-1
1170 NEXTI:GOSUB100:PRINT"EERST ZELF EVEN DE WOORDEN LEREN"
1180 FORI=1 TO255:READI$:PRINTI$;" ";
1190 IFI$<>"" THENTA$(I,0)=I$:READTA$(I,1):NEXTI
1200 AA=I-1:AA$="":FORI=1 TOAA:AA$=AA$+CHR$(I):NEXTI
1210 GOSUB100
1220 PRINT"HOEVEEL WOORDEN WIL JE LEREN (1-10)"
1230 HO=0:VE=2:GOSUB110:INPUTIN$:LE=VAL(IN$)
1240 IFLE>10 THENPRINT"MAX. 10":GOTO1230
1250 IFLE<1 THENPRINT"TEN MINSTE 1 WOORD":GOTO1230
1260 PRINT"DE ";LE;" WOORDEN WORDEN NU GEKOZEN VOOR:"
1270 FORJ=1 TOPL:I$=AA$:SP$(1,J)=""
1280 PRINTSP$(0,J);
1290 FORI=1 TOLE:GOSUB1980:SP$(1,J)=SP$(1,J)+U$
1300 PRINT".";:NEXTI:SP$(2,J)=SP$(1,J)
1310 PRINT:NEXTJ:GOSUB2270
1320 GOSUB100:GA=0:GOSUB2070
1330 GA=GA+1:VE=0:HO=0:GOSUB110:PRINT"SPEL:";GA;
1340 FORQ=1 TOPL:IFLEN(SP$(2,Q))>0 THENGOSUB1450
1350 NEXTQ
1360 REM ZIJN NOG NIET ALLE SPELERS KLAAR?
1370 FORI=1 TOPL:IFLEN(SP$(2,I))>0 THENI=PL:NEXTI:GOTO1330
1380 NEXTI:HO=0:VE=Y-5:GOSUB110
1390 PRINT"ALLE WOORDEN ZIJN GELEERD"
1400 PRINT"WIL JE NOG EEN KEER (J/N)":INPUTIN$
1410 IFIN$="J" THEN1210
1420 GOTO3170:REM EINDE
1430 REM
1440 REM HIER BEGINT SPEL PER SPELER
1450 VE=Y-6:HO=0:GOSUB110
1460 FORI=1 TOINT(X/LEN(SP$(0,Q))):PRINTSP$(0,Q);:NEXTI
1470 REM SOMS HERHALEN ALS DE HELFT GELEERD IS
1480 IFLEN(SP$(2,Q))>LEN(SP$(1,Q))/2 THEN1510
1490 REM 20% KANS OP HERHALING
1500 GOSUB260:IFRV<.2 THENI$=SP$(1,Q):GOSUB1980:GOTO1520
1510 I$=SP$(2,Q):GOSUB1980:SP$(2,Q)=I$
1520 BW$=U$:GOSUB260:TD$="NED:":TR$="ENG:"
1530 REM MEESTAL NED >> ENG.
1540 IFRV<.7 THENRA$=TA$(RR,0):DY$=TA$(RR,1):GOTO1560
1550 RA$=TA$(RR,1):DY$=TA$(RR,0):TD$="ENG:":TR$="NED:"
1560 VE=Y-5:HO=(X/2)-8:GOSUB110:PRINT"100.0 % FOUT :0";
1570 L=LEN(RA$):T=L:IFLEN(DY$)>T THENT=LEN(DY$)
1580 F=0:TB=INT((X-T-4)/2)
1590 HO=TB:VE=Y-4:GOSUB110:PRINTTD$;DY$;
1600 REM LAAT SOMS HET GOEDE WOORD VERWARD ZIEN
1610 GOSUB260:IFRV<.7 THEN1670
1620 REM RA$ DOOR ELKAAR GOOIEN ; VW$ IS RESULTAAT
1630 I$=RA$:VW$="":FORI=1 TOL:GOSUB1980:VW$=VW$+U$:NEXTI
1640 IFVW$=RA$ THEN1630
1650 REM ZET HET VERWARDE WOORD OP SCHERM
1660 VE=Y-3:GOSUB110:PRINTTR$;VW$;
1670 VE=Y-2:HO=TB:GOSUB110:PRINTTR$;
1680 FORI=1 TOL:PRINT".";:NEXTI
1690 REM
1700 REM MAAK TOETSENBORD-BUFFER LEEG
1710 GOSUB200:IFIN$<>"" THEN1710
1720 REM HAAL DE LETTERS 1 VOOR 1 BINNEN
1730 SR=100:F=0:FORI=1 TOL
1740 HO=TB+3+I:VE=Y-2:GOSUB210
1750 GOSUB110:PRINTMID$(RA$,I,1);
1760 HO=HO-1:VE=Y-1:GOSUB110:PRINT" ";IN$"=";
1770 REM LETTER IS GOED
1780 IFIN$=MID$(RA$,I,1) THENPRINT"GOED";:GOTO1840
1790 REM
1800 REM LETTER IS FOUT
1810 PRINT"FOUT";
1820 HO=(X/2)-8:VE=Y-5:F=F+1:SR=100-(100*(F/L))
1830 GOSUB310:GOSUB110:PRINTSR$;" % FOUT:";F;
1840 NEXTI
1850 REM ALLE LETTERS ZIJN BINNEN
1860 IF(F=0) OR(LEN(SP$(2,Q))=255) THEN1900
1870 REM NIET FOUTLOOS? DAN LATER NOG EENS
1880 SP$(2,Q)=SP$(2,Q)+BW$
1890 REM SCORE BIJWERKEN
1900 SC(Q,2)=(SC(Q,2)*(GA-1)+SR)/GA:SC(Q,1)=SC(Q,1)+F
1910 IFSR>SC(Q,3) THENSC(Q,3)=SR
1920 IFSR<SC(Q,4) THENSC(Q,4)=SR
1930 VE=Y:HO=TB:GOSUB110:PRINTD$;:GOSUB210
1940 IFIN$="*" THENGOSUB2040:RETURN
1950 GOSUB2180:GOSUB2320:RETURN:REM EINDE SPEL PER SPELER
1960 REM
1970 REM HAAL 1 CHARACTER UIT I$
1980 GOSUB260:R=INT(RV*LEN(I$))+1
1990 U$=MID$(I$,R,1):RR=ASC(U$)
2000 I$=MID$(I$,1,R-1)+MID$(I$,R+1,LEN(I$))
2010 RETURN
2020 REM
2030 REM SCHERM HERSTELLEN
2040 QQ=Q:GOSUB100:VE=0:HO=0:GOSUB110:PRINT"SPEL:";GA;
2050 GOSUB2070:FORQ=1 TOPL:GOSUB2180:NEXTQ:Q=QQ:RETURN
2060 REM HEADING
2070 VE=0:HO=11:GOSUB110:PRINT"WOOR- LET-";
2080 VE=1:GOSUB110:PRINT"DEN TERS";
2090 VE=2:HO=0:GOSUB110:PRINT"NAAM OVER FOUT";
2100 IFX<39 THEN2150
2110 HO=22:VE=0:GOSUB110:PRINT"GEM. MAX. MIN.";
2120 VE=1:GOSUB110:PRINT"SCORE SCORE SCORE";
2130 VE=2:GOSUB110:PRINT"IN % IN % IN %";
2140 HO=0:FORI=1 TOPL:VE=I+3:GOSUB110:PRINTSP$(0,I);:NEXTI
2150 RETURN
2160 REM
2170 REM ZET SCORE OP SCHERM
2180 HO=11:VE=Q+3:GOSUB110:PRINTLEN(SP$(2,Q));
2190 HO=17:GOSUB110:PRINTSC(Q,1);
2200 IFX<39 THEN2240
2210 FORI=2 TO4
2220 SR=SC(Q,I):GOSUB310:HO=I*6+10:GOSUB110:PRINTSR$;
2230 NEXTI
2240 RETURN
2250 REM
2260 REM ALLE SCORES VOOR HET SPEL INSTELLEN
2270 FORJ=1 TOPL:FORI=2 TO4 STEP2:SC(J,I)=100:NEXTI:NEXTJ
2280 FORJ=1 TOPL:FORI=1 TO3 STEP2:SC(J,I)=0:NEXTI:NEXTJ
2290 RETURN
2300 REM
2310 REM ONDERHELFT SCHERM SCHOONMAKEN
2320 VE=Y-6:FORHO=X TO0 STEP-1:GOSUB110:PRINT" ";:NEXTHO
2330 HO=0:FORVE=Y-6 TOY:GOSUB110:PRINTBL$;:NEXTVE
2340 RETURN
2350 GOSUB100:PRINT"T E A C H E R"
2360 PRINT"DE BEDOELING VAN DIT PROGRAMMA IS"
2370 PRINT"OM DE ENGELSE TAAL TE LEREN."
2380 PRINT"NA DE VRAGEN OVER HET AANTAL"
2390 PRINT"DEELNEMERS EN HUN NAMEN KIES JE"
2400 PRINT"HOEVEEL WOORDEN JE WILT LEREN."
2410 PRINT"MAXIMAAL 10 (OM HET LEUK TE HOUDEN)"
2420 PRINT"VOOR IEDER WORDEN ANDERE WOORDEN"
2430 PRINT"UITGEKOZEN."
2440 PRINT"OP HET SCHERM KOMEN DIVERSE SCORES"
2450 PRINT"DIE VOOR ZICH SPREKEN. OP DE"
2460 PRINT"ONDERSTE HELFT VAN HET SCHERM KOMT"
2470 PRINT"HET TE VERTALEN WOORD IN HET ENGELS"
2480 PRINT"OF NEDERLANDS (MEESTAL NEDERLANDS)"
2490 PRINT"**";D$;" **";:GOSUB210:GOSUB100
2500 PRINT"DAARONDER STAAT SOMS"
2510 PRINT"HET TE RADEN WOORD DOOR ELKAAR."
2520 PRINT"EN DAARONDER ALTIJD EEN RIJ PUNTJES."
2530 PRINT"HET AANTAL GEEFT AAN HOE LANG HET"
2540 PRINT"WOORD MOET WORDEN. JE TYPT DAN DE"
2550 PRINT"EERSTE LETTER VAN HET WOORD. ONDER"
2560 PRINT"DE PUNTJES KOMT TE STAAN OF DE LETTER"
2570 PRINT"GOED OF FOUT WAS, TEVENS VERSCHIJNT"
2580 PRINT"ALTIJD DE GOEDE LETTER OP HET STIPJE."
2590 PRINT"ALS ALLE LETTERS ZIJN GETYPT MOET JE"
2600 PRINT"OP EEN TOETS DRUKKEN, DAN KAN DE"
2610 PRINT"VOLGENDE DEELNEMER. ALS JE DAAR EEN"
2620 PRINT"STER:* TYPT DAN WORDT HET SCHERM"
2630 PRINT"HERSTELD ALS HET OM EEN REDEN"
2640 PRINT"DOORELKAAR WAS GEKOMEN."
2650 PRINT"**";D$;" **";:GOSUB210:GOSUB100
2660 PRINT"VOOR DE WOORDEN STAAT IN WELKE"
2670 PRINT"TAAL HET IS."
2680 PRINT"ALS JE EEN FOUT HEBT GEMAAKT KRIJG"
2690 PRINT"JE HET WOORD LATER NOG EENS. NADAT"
2700 PRINT"JE DE HELFT VAN HET AANTAL WOORDEN"
2710 PRINT"GOED HEBT HEB JE EEN KANSJE OP EEN"
2720 PRINT"HERHALING. ZIJN ALLE WOORDEN GOED DAN"
2730 PRINT"BEN JE KLAAR EN GAAN DE ANDEREN NOG"
2740 PRINT"EVEN DOOR TOT IEDEREEN KLAAR IS."
2750 PRINT"ALS IEDEREEN KLAAR IS KUN JE EVT."
2760 PRINT"WEER VERDER GAAN MET NIEUWE WOORDEN."
2770 PRINT"**";D$;" **";:GOSUB210:GOSUB100
2780 PRINT"DOOR DE DATA REGELS TE VERANDEREN"
2790 PRINT"KUN JE MET DIT PROGRAMMA BV. OOK"
2800 PRINT"PROVINCIES OF LANDEN MET HUN"
2810 PRINT"HOOFDSTEDEN LEREN.":PRINT
2820 PRINT"VEEL PLEZIER":PRINT
2830 PRINT"JAN COLLY - VEENDAM":PRINT
2840 PRINT"**";D$;" **";:GOSUB210:GOSUB100
2850 RETURN
2860 DATA"TREE","BOOM","ROSE","ROOS","FISH","VIS"
2870 DATA"ROOM","KAMER","KITCHEN","KEUKEN"
2880 DATA"HOUSE","HUIS","MOUSE","MUIS","FIRE","VUUR"
2890 DATA"TEN","TIEN","NINE","NEGEN","EIGHT","ACHT"
2900 DATA"SEVEN","ZEVEN","SIX","ZES","FIVE","VIJF"
2910 DATA"FOUR","VIER","THREE","DRIE","TWO","TWEE"
2920 DATA"ONE","EEN","ZERO","NUL","BIRD","VOGEL"
2930 DATA"CAT","KAT","DOG","HOND","HORSE","PAARD"
2940 DATA"YES","JA","NO","NEE"
2950 DATA"ROAD","WEG","OFF","WEG"
2960 DATA"OF","VAN","FROM","VAN"
2970 DATA"STRANGE","VREEMD","HEAVY","ZWAAR"
2980 DATA"MORNING","MORGEN","GRASS","GRAS"
2990 DATA"YELLOW","GEEL","BLUE","BLAUW","RAIN","REGEN"
3000 DATA"LEFT","LINKS","RIGHT","RECHTS","POOR","ARM"
3010 DATA"PAPER","PAPIER","NEWSPAPER","KRANT"
3020 DATA"WINDOW","RAAM","BOTTLE","FLES","LITTLE","KLEIN"
3030 DATA"BIG","GROOT","PLATE","BORD","SPOON","LEPEL"
3040 DATA"COW","KOE","GARDEN","TUIN","COAT","JAS"
3050 DATA"HEAD","HOOFD","HAT","HOED","CHAIR","STOEL"
3060 DATA"TABLE","TAFEL","LAMP","LAMP","RADIO","RADIO"
3070 DATA"SHOE","SCHOEN","CAR","AUTO","BIKE","FIETS"
3080 DATA"BOOK","BOEK","SCHOOL","SCHOOL"
3090 DATA"TEACHER","LERAAR","BREAD","BROOD"
3100 DATA"CHEESE","KAAS","MILK","MELK","WATER","WATER"
3110 DATA"EGG","EI","POTATO","AARDAPPEL","MEAT","VLEES"
3120 DATA"PENCIL","POTLOOD"
3130 DATA"KNIFE","MES","FORK","VORK","GOOD","GOED"
3140 DATA"BAD","SLECHT","FOOTBALL","VOETBAL"
3150 DATA"FLOWER","BLOEM","BUTTERFLY","VLINDER"
3160 DATA""
3170 END
3180 REM TEACHER IS GEMAAKT OP EEN TRS-80 MOD.1 LEV.2
3190 REM DOOR JAN COLLY GRONINGENLAAN 36
3200 REM 9642EJ VEENDAM TEL 05987-16140
30000 REM COPYRIGHT NOS HILVERSUM