Modernized code for better readability
[qbasicapps.git] / games / sippar.bas
1 ' Super mario like game 1998\r
2 ' Code by: Svjatoslav Agejenko\r
3 ' Levels by: Risto Ipsberg, Fred Freimann\r
4 \r
5 ' at least 8 MHz 8086 CPU\r
6 ' & CGA video card is required\r
7 \r
8 DECLARE SUB norm (nrm%)\r
9 DECLARE SUB elud ()\r
10 DEFINT A-Z\r
11 DECLARE SUB level (y%)\r
12 DECLARE SUB pildid (p%, o%, m%, fr%, teler%)\r
13 DECLARE SUB wiew (r$, a%, b%)\r
14 DECLARE SUB joonist ()\r
15 DECLARE SUB save (y$)\r
16 DIM SHARED voolual\r
17 DIM SHARED uun(1 TO 20) AS STRING * 31\r
18 DIM SHARED siib, siia, siib1, siia1\r
19 DIM SHARED elu, raha\r
20 DIM SHARED uks1, uks2, uks3, uks4\r
21 DIM SHARED maa\r
22 DIM SHARED text$(1 TO 1000)\r
23 DIM SHARED pikkus\r
24 DIM SHARED asend(0 TO 34, -10 TO 20) AS STRING * 1\r
25 DIM SHARED asend1(0 TO 34, -10 TO 20) AS STRING * 1\r
26 DIM SHARED ruut(51)\r
27 DIM SHARED tuhi(51)\r
28 DIM SHARED kast(51)\r
29 DIM SHARED mar1(70)\r
30 DIM SHARED pilv(209)\r
31 DIM SHARED taht(50)\r
32 DIM SHARED siil(30)\r
33 DIM SHARED siil1(30)\r
34 DIM SHARED siil2(30)\r
35 DIM SHARED munt(30)\r
36 DIM SHARED poosas(100)\r
37 DIM SHARED aken(100)\r
38 DIM SHARED vedru(50)\r
39 DIM SHARED intro(6000)\r
40 DIM SHARED puu(3000)\r
41 DIM SHARED noolt(51)\r
42 DIM SHARED noolt1(51)\r
43 DIM SHARED auk(51)\r
44 DIM SHARED sipp1(51)\r
45 DIM SHARED sipp2(51)\r
46 DIM SHARED sipp10(51)\r
47 DIM SHARED sipp20(51)\r
48 DIM SHARED sipp3(51)\r
49 DIM SHARED uks(120)\r
50 \r
51 DIM SHARED ruutm(51)\r
52 DIM SHARED tuhim(51)\r
53 DIM SHARED kastm(51)\r
54 DIM SHARED marm1(70)\r
55 DIM SHARED pilvm(209)\r
56 DIM SHARED tahtm(50)\r
57 DIM SHARED siilm(30)\r
58 DIM SHARED siilm1(30)\r
59 DIM SHARED siilm2(30)\r
60 DIM SHARED muntm(30)\r
61 DIM SHARED poosasm(100)\r
62 DIM SHARED akenm(100)\r
63 DIM SHARED vedrum(50)\r
64 DIM SHARED puum(3000)\r
65 DIM SHARED nooltm(51)\r
66 DIM SHARED nooltm1(51)\r
67 DIM SHARED aukm(51)\r
68 DIM SHARED sippm1(51)\r
69 DIM SHARED sippm2(51)\r
70 DIM SHARED sippm10(51)\r
71 DIM SHARED sippm20(51)\r
72 DIM SHARED sippm3(51)\r
73 DIM SHARED uksm(50)\r
74 DIM SHARED kuikiir\r
75 DIM SHARED vas7$\r
76 DIM SHARED par7$\r
77 DIM SHARED ule7$\r
78 DIM SHARED all7$\r
79 vas7$ = CHR$(0) + "K"\r
80 par7$ = CHR$(0) + "M"\r
81 ule7$ = CHR$(0) + "H"\r
82 all7$ = CHR$(0) + "P"\r
83 elu = 10\r
84 SCREEN 1\r
85 maa = 1\r
86 REM joonist\r
87 REM END\r
88 GET (1, 1)-(20, 20), tuhi\r
89 pildid 0, 0, 1, 1, 1\r
90 GET (1, 1)-(20, 20), ruut\r
91 pildid 0, 0, 4, 1, 1\r
92 GET (1, 1)-(20, 20), kast\r
93 PUT (1, 180), ruut, PSET\r
94 PUT (300, 1), ruut, PSET\r
95 PUT (300, 180), ruut, PSET\r
96 pildid 30, 50, 2, 1, 1\r
97 GET (31, 51)-(91, 76), pilv\r
98 PUT (160, 10), pilv, PSET\r
99 pildid 20, 100, 3, 1, 1\r
100 GET (21, 101)-(31, 114), taht\r
101 CLS\r
102 pildid 0, 0, 5, 1, 1\r
103 GET (1, 1)-(11, 8), siil\r
104 CLS\r
105 pildid 0, 0, 6, 1, 1\r
106 GET (1, 1)-(8, 10), munt\r
107 CLS\r
108 pildid 0, 0, 7, 1, 1\r
109 GET (1, 1)-(31, 11), poosas\r
110 CLS\r
111 pildid 0, 0, 8, 1, 1\r
112 GET (1, 1)-(26, 21), aken\r
113 CLS\r
114 pildid 0, 0, 9, 1, 1\r
115 GET (1, 1)-(21, 11), vedru\r
116 CLS\r
117 pildid 0, 0, 11, 1, 1\r
118 GET (1, 1)-(51, 81), puu\r
119 CLS\r
120 pildid 0, 0, 12, 1, 1\r
121 GET (1, 1)-(20, 20), noolt\r
122 CLS\r
123 pildid 0, 0, 12, 50, 1\r
124 GET (1, 1)-(20, 20), noolt1\r
125 CLS\r
126 pildid 0, 0, 13, 1, 1\r
127 GET (1, 1)-(20, 20), auk\r
128 CLS\r
129 pildid 0, 0, 14, 1, 1\r
130 GET (1, 1)-(20, 20), sipp1\r
131 CLS\r
132 pildid 0, 0, 15, 1, 1\r
133 GET (1, 1)-(20, 20), sipp2\r
134 CLS\r
135 pildid 0, 0, 14, 50, 1\r
136 GET (1, 1)-(20, 20), sipp10\r
137 CLS\r
138 pildid 0, 0, 15, 50, 1\r
139 GET (1, 1)-(20, 20), sipp20\r
140 CLS\r
141 pildid 0, 0, 16, 1, 1\r
142 GET (1, 1)-(20, 20), sipp3\r
143 CLS\r
144 GET (1, 1)-(10, 10), tuhim\r
145 pildid 0, 0, 1, 1, 2\r
146 GET (1, 1)-(10, 10), ruutm\r
147 pildid 0, 0, 4, 1, 2\r
148 GET (1, 1)-(10, 10), kastm\r
149 PUT (1, 180), ruut, PSET\r
150 PUT (300, 1), ruut, PSET\r
151 PUT (300, 180), ruut, PSET\r
152 pildid 30, 50, 2, 1, 2\r
153 GET (16, 26)-(46, 38), pilvm\r
154 pildid 20, 100, 3, 1, 2\r
155 GET (11, 51)-(16, 72), tahtm\r
156 CLS\r
157 pildid 0, 0, 5, 1, 2\r
158 GET (1, 1)-(6, 4), siilm\r
159 CLS\r
160 pildid 0, 0, 6, 1, 2\r
161 GET (1, 1)-(4, 5), muntm\r
162 CLS\r
163 pildid 0, 0, 7, 1, 2\r
164 GET (1, 1)-(16, 6), poosasm\r
165 CLS\r
166 pildid 0, 0, 8, 1, 2\r
167 GET (1, 1)-(13, 11), akenm\r
168 CLS\r
169 pildid 0, 0, 9, 1, 2\r
170 GET (1, 1)-(11, 6), vedrum\r
171 CLS\r
172 pildid 0, 0, 11, 1, 2\r
173 GET (1, 1)-(26, 41), puum\r
174 CLS\r
175 pildid 0, 0, 12, 1, 2\r
176 GET (1, 1)-(10, 10), nooltm\r
177 CLS\r
178 pildid 0, 0, 12, 50, 2\r
179 GET (1, 1)-(10, 10), nooltm1\r
180 CLS\r
181 pildid 0, 0, 13, 1, 2\r
182 GET (1, 1)-(10, 10), aukm\r
183 CLS\r
184 pildid 0, 0, 14, 1, 2\r
185 GET (1, 1)-(10, 10), sippm1\r
186 CLS\r
187 pildid 0, 0, 15, 1, 2\r
188 GET (1, 1)-(10, 10), sippm2\r
189 CLS\r
190 pildid 0, 0, 14, 50, 2\r
191 GET (1, 1)-(10, 10), sippm10\r
192 CLS\r
193 pildid 0, 0, 15, 50, 2\r
194 GET (1, 1)-(10, 10), sippm20\r
195 CLS\r
196 pildid 0, 0, 16, 1, 2\r
197 GET (1, 1)-(10, 10), sippm3\r
198 CLS\r
199 pildid 0, 0, 17, 1, 1\r
200 GET (1, 1)-(21, 31), uks\r
201 CLS\r
202 pildid 0, 0, 17, 1, 2\r
203 GET (1, 1)-(11, 16), intro\r
204 CLS\r
205 GOTO 7\r
206 pildid -1, -1, 10, 4, 1\r
207 GET (1, 1)-(318, 124), intro\r
208 CLS\r
209 SLEEP 1\r
210 PUT (1, 1), intro, PSET\r
211 SLEEP 100\r
212 7\r
213 level 1\r
214 a = 50\r
215 b = 50\r
216 siie = 1\r
217 siie1 = 1\r
218 6\r
219 WHILE kbd$ = ""\r
220 kbd$ = INKEY$\r
221 IF voolual = 2 THEN b = b * 2: GOTO 106\r
222 IF b > 0 THEN GET (a, b)-(a + 20, b + 20), mar1\r
223 IF b > 0 THEN IF sipp = 1 THEN PUT (a, b), sipp1, OR\r
224 IF b > 0 THEN IF sipp = 2 THEN PUT (a, b), sipp2, OR\r
225 IF b > 0 THEN IF sipp = 10 THEN PUT (a, b), sipp10, OR\r
226 IF b > 0 THEN IF sipp = 20 THEN PUT (a, b), sipp20, OR\r
227 IF b > 0 THEN IF sipp = 3 THEN PUT (a, b), sipp3, OR\r
228 \r
229 GET (siia, siib)-(siia + 10, siib + 10), siil1\r
230 PUT (siia, siib), siil, OR\r
231 GET (siia1, siib1)-(siia1 + 10, siib1 + 10), siil2\r
232 PUT (siia1, siib1), siil, OR\r
233 SOUND 0, .8\r
234 IF asend((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
235 IF asend((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
236 \r
237 IF asend((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
238 IF asend((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
239 \r
240 IF asend((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
241 IF asend((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
242 \r
243 IF asend((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
244 IF asend((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
245 \r
246 qwer = qwer + 1: IF asend1((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: elu = elu - 1: eda = -10: all = -5: elud\r
247 IF qwer > 100 THEN qwer = 50\r
248                 IF asend((a + 30) \ 20, (b + 30) \ 20) = "1" THEN raha = raha + 1: kustuta1 = 1: elud: asend((a + 30) \ 20, (b + 30) \ 20) = ""\r
249 IF asend((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3\r
250 IF asend1((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3\r
251 IF asend1((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3\r
252 lke = lke + 1\r
253 r = r + 1: IF r > 10 THEN r = 0: IF eda > 0 THEN eda = eda - 1:  ELSE IF eda < 0 THEN eda = eda + 1\r
254 r1 = r1 + 1: IF r1 > 3 THEN r1 = 0: all = all + 1\r
255 lk = lk + 1: cd = cd - 1\r
256 IF asend1((a + 30) \ 20, (b + 21) \ 20) = "o" THEN asend((a + 30) \ 20, (b + 21) \ 20) = "": asend1((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1\r
257 IF asend1((a + 30) \ 20, (b + 38) \ 20) = "a" THEN asend((a + 30) \ 20, (b + 38) \ 20) = "": asend1((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1\r
258 IF asend((siia + 25) \ 20, (siib + 25) \ 20) = "z" THEN siiall = -1\r
259 IF asend((siia + 30) \ 20, (siib + 10) \ 20) = "z" THEN siie = -1\r
260 IF asend((siia + 20) \ 20, (siib + 10) \ 20) = "z" THEN siie = 1\r
261 IF asend((siia1 + 25) \ 20, (siib1 + 25) \ 20) = "z" THEN siiall1 = -1\r
262 IF asend((siia1 + 30) \ 20, (siib1 + 10) \ 20) = "z" THEN siie1 = -1\r
263 IF asend((siia1 + 20) \ 20, (siib1 + 10) \ 20) = "z" THEN siie1 = 1\r
264 IF siia > 300 THEN siie = -1\r
265 IF siia < 3 THEN siie = 1\r
266 IF siia1 > 300 THEN siie1 = -1\r
267 IF siia1 < 3 THEN siie1 = 1\r
268 PUT (siia1, siib1), siil2, PSET\r
269 PUT (siia, siib), siil1, PSET\r
270 IF b > 0 THEN PUT (a, b), mar1, PSET\r
271 IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 20, (b \ 20) * 20), tuhi, PSET\r
272 IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 20, ((b + 10) \ 20) * 20), tuhi, PSET\r
273 IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 20, ((b + 28) \ 20) * 20), tuhi, PSET\r
274 IF makk = 1 THEN makk = 0: a = a - 20\r
275 asend1((siia1 + 25) \ 20, (siib1 + 8) \ 20) = "": asend1((siia + 25) \ 20, (siib + 8) \ 20) = ""\r
276 siia = siia + siie\r
277 siib = siib + siiall\r
278 siia1 = siia1 + siie1\r
279 siib1 = siib1 + siiall1\r
280 asend1((siia1 + 25) \ 20, (siib1 + 8) \ 20) = "q": asend1((siia + 25) \ 20, (siib + 8) \ 20) = "q"\r
281 siiall = siiall + 1: IF siiall > 2 THEN siiall = 2\r
282 siiall1 = siiall1 + 1: IF siiall1 > 2 THEN siiall1 = 2\r
283 a = a + eda\r
284 b = b + all\r
285 IF a > 297 THEN a = 2: maa = maa + 1: level maa: siie = 1: siie1 = 1\r
286 IF a < 1 THEN a = 296: IF maa = 1 THEN level maa:  ELSE maa = maa - 1: level maa: IF voolual = 2 THEN a = 594\r
287 IF b > 179 THEN elu = elu - 1: elud: maa = maa - 1: level maa: b = 100: a = 2: elud\r
288 IF asend((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 10: b = uks4: eda = 0\r
289 IF asend((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 10: b = uks2: eda = 0\r
290 WEND\r
291 a$ = kbd$: kbd$ = ""\r
292 IF a$ = par7$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5\r
293 IF a$ = par7$ THEN IF sipa = 1 THEN sipp = 1:  ELSE sipp = 2\r
294 IF a$ = vas7$ THEN IF sipa = 1 THEN sipp = 10:  ELSE sipp = 20\r
295 IF a$ = vas7$ THEN eda = eda - 1: IF eda < -3 THEN eda = -3: r = 0 ELSE IF lke > 10 THEN eda = -5\r
296 IF a$ = ule7$ AND lk < 10 THEN all = all - 5: lk = 20: r1 = 0: sipp = 3\r
297 IF a$ = all7$ THEN all = all + 1\r
298 IF a$ = "/" THEN a = 2: b = 50: maa = maa + 1: level maa: siie = 1: siie1 = 1\r
299 IF a$ = "+" THEN a = 2: b = 50: maa = maa + 5: level maa: siie = 1: siie1 = 1\r
300 IF a$ = "q" THEN END\r
301 sipa = sipa + 1\r
302 IF sipa = 3 THEN sipa = 1\r
303 GOTO 6\r
304 \r
305 \r
306 106\r
307 WHILE kbd$ = ""\r
308 kbd$ = INKEY$\r
309 IF voolual = 1 THEN b = b / 2: GOTO 6\r
310 IF b > 0 THEN GET (a \ 2, b \ 2)-((a + 20) \ 2, (b + 20) \ 2), marm1\r
311 IF b > 0 THEN IF sipp = 1 THEN PUT (a \ 2, b \ 2), sippm1, OR\r
312 IF b > 0 THEN IF sipp = 2 THEN PUT (a \ 2, b \ 2), sippm2, OR\r
313 IF b > 0 THEN IF sipp = 10 THEN PUT (a \ 2, b \ 2), sippm10, OR\r
314 IF b > 0 THEN IF sipp = 20 THEN PUT (a \ 2, b \ 2), sippm20, OR\r
315 IF b > 0 THEN IF sipp = 3 THEN PUT (a \ 2, b \ 2), sippm3, OR\r
316 \r
317 GET (siia \ 2, siib \ 2)-((siia + 10) \ 2, (siib + 10) \ 2), siilm1\r
318 PUT (siia \ 2, siib \ 2), siilm, OR\r
319 GET (siia1 \ 2, siib1 \ 2)-((siia1 + 10) \ 2, (siib1 + 10) \ 2), siilm2\r
320 PUT (siia1 \ 2, siib1 \ 2), siilm, OR\r
321 SOUND 0, .8\r
322 IF asend((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
323 IF asend((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
324 \r
325 IF asend((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
326 IF asend((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
327 \r
328 IF asend((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
329 IF asend((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
330 \r
331 IF asend((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
332 IF asend((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
333 \r
334 qwer = qwer + 1: IF asend1((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: elu = elu - 1: eda = -5: all = -3: elud\r
335 IF qwer > 100 THEN qwer = 50\r
336 IF asend((a + 30) \ 20, (b + 30) \ 20) = "1" THEN raha = raha + 1: kustuta1 = 1: elud: asend((a + 30) \ 20, (b + 30) \ 20) = ""\r
337 IF asend((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3\r
338 IF asend1((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3\r
339 IF asend1((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3\r
340 lke = lke + 1\r
341 r = r + 1: IF r > 10 THEN r = 0: IF eda > 0 THEN eda = eda - 1:  ELSE IF eda < 0 THEN eda = eda + 1\r
342 r1 = r1 + 1: IF r1 > 3 THEN r1 = 0: all = all + 1\r
343 lk = lk + 1: cd = cd - 1\r
344 IF asend1((a + 30) \ 20, (b + 21) \ 20) = "o" THEN asend((a + 30) \ 20, (b + 21) \ 20) = "": asend1((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1\r
345 IF asend1((a + 30) \ 20, (b + 38) \ 20) = "a" THEN asend((a + 30) \ 20, (b + 38) \ 20) = "": asend1((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1\r
346 IF asend((siia + 25) \ 20, (siib + 25) \ 20) = "z" THEN siiall = -1\r
347 IF asend((siia + 30) \ 20, (siib + 10) \ 20) = "z" THEN siie = -1\r
348 IF asend((siia + 20) \ 20, (siib + 10) \ 20) = "z" THEN siie = 1\r
349 IF asend((siia1 + 25) \ 20, (siib1 + 25) \ 20) = "z" THEN siiall1 = -1\r
350 IF asend((siia1 + 30) \ 20, (siib1 + 10) \ 20) = "z" THEN siie1 = -1\r
351 IF asend((siia1 + 20) \ 20, (siib1 + 10) \ 20) = "z" THEN siie1 = 1\r
352 IF siia > 600 THEN siie = -1\r
353 IF siia < 3 THEN siie = 1\r
354 IF siia1 > 600 THEN siie1 = -1\r
355 IF siia1 < 3 THEN siie1 = 1\r
356 PUT (siia1 \ 2, siib1 \ 2), siilm2, PSET\r
357 PUT (siia \ 2, siib \ 2), siilm1, PSET\r
358 IF b > 0 THEN PUT (a \ 2, b \ 2), marm1, PSET\r
359 IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 10, (b \ 20) * 10), tuhim, PSET\r
360 IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 10, ((b + 10) \ 20) * 10), tuhim, PSET\r
361 IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 10, ((b + 28) \ 20) * 10), tuhim, PSET\r
362 IF makk = 1 THEN makk = 0: a = a - 20\r
363 asend1((siia1 + 25) \ 20, (siib1 + 8) \ 20) = "": asend1((siia + 25) \ 20, (siib + 8) \ 20) = ""\r
364 siia = siia + siie\r
365 siib = siib + siiall\r
366 siia1 = siia1 + siie1\r
367 siib1 = siib1 + siiall1\r
368 asend1((siia1 + 25) \ 20, (siib1 + 8) \ 20) = "q": asend1((siia + 25) \ 20, (siib + 8) \ 20) = "q"\r
369 siiall = siiall + 1: IF siiall > 2 THEN siiall = 2\r
370 siiall1 = siiall1 + 1: IF siiall1 > 2 THEN siiall1 = 2\r
371 a = a + eda\r
372 b = b + all\r
373 IF a > 594 THEN a = 2: maa = maa + 1: level maa: siie = 1: siie1 = 1\r
374 IF a < 1 THEN a = 594: IF maa = 1 THEN level maa:  ELSE maa = maa - 1: level maa: IF voolual = 1 THEN a = 297\r
375 IF b > 358 THEN elu = elu - 1: elud: maa = maa - 1: level maa: b = 100: a = 2: elud\r
376 IF asend((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 5: b = uks4: eda = 0\r
377 IF asend((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 5: b = uks2: eda = 0\r
378 WEND\r
379 a$ = kbd$: kbd$ = ""\r
380 IF a$ = par7$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5\r
381 IF a$ = par7$ THEN IF sipa = 1 THEN sipp = 1:  ELSE sipp = 2\r
382 IF a$ = vas7$ THEN IF sipa = 1 THEN sipp = 10:  ELSE sipp = 20\r
383 IF a$ = vas7$ THEN eda = eda - 1: IF eda < -3 THEN eda = -3: r = 0 ELSE IF lke > 10 THEN eda = -5\r
384 IF a$ = ule7$ AND lk < 10 THEN all = all - 5: lk = 20: r1 = 0: sipp = 3\r
385 IF a$ = all7$ THEN all = all + 1\r
386 IF a$ = "/" THEN a = 2: b = 50: maa = maa + 1: level maa: siie = 1: siie1 = 1\r
387 IF a$ = "+" THEN a = 2: b = 50: maa = maa + 5: level maa: siie = 1: siie1 = 1\r
388 IF a$ = "q" THEN END\r
389 sipa = sipa + 1\r
390 IF sipa = 3 THEN sipa = 1\r
391 GOTO 106\r
392 \r
393 SUB elud\r
394 LOCATE 1, 1\r
395 IF voolual = 2 THEN GOTO 12\r
396 PRINT "                "\r
397 IF raha > 9 THEN raha = 0: elu = elu + 1\r
398 LOCATE 1, 1\r
399 PRINT "o "; raha; "  Elu "; elu\r
400 12\r
401 IF elu < 0 THEN END\r
402 END SUB\r
403 \r
404 SUB joonist\r
405 tuhi$ = "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"\r
406 CLS\r
407 INPUT "laius", laius\r
408 INPUT "pikkus", pikkus\r
409 FOR a = 1 TO pikkus\r
410 text$(a) = RIGHT$(tuhi$, laius)\r
411 NEXT a\r
412 CLS\r
413 a = 1\r
414 b = 1\r
415 z = 3\r
416 zx = 1\r
417 2\r
418 a$ = INPUT$(1)\r
419 IF zx = 1 THEN CIRCLE (a * 2, b * 2), 1, z\r
420 po = ASC(RIGHT$(LEFT$(text$(b), a), 1)) - 1\r
421 IF zx = -1 THEN CIRCLE (a * 2, b * 2), 1, po\r
422 IF a$ = "6" THEN a = a + 1\r
423 IF a$ = "4" THEN a = a - 1\r
424 IF a$ = "8" THEN b = b - 1\r
425 IF a$ = "2" THEN b = b + 1\r
426 IF a$ = " " THEN zx = zx * -1\r
427 IF a$ = "e" THEN GOTO 5\r
428 IF a$ = "s" THEN GOTO 3\r
429 IF a$ = "z" THEN z = 0\r
430 IF a$ = "x" THEN z = 1\r
431 IF a$ = "c" THEN z = 2\r
432 IF a$ = "v" THEN z = 3\r
433  \r
434 IF a < 1 THEN a = 1\r
435 IF b < 1 THEN b = 1\r
436 IF b > pikkus THEN b = pikkus\r
437 IF a > laius THEN a = laius\r
438 IF z > 3 THEN z = 3\r
439 IF z < 0 THEN z = 0\r
440 IF zx = 1 THEN MID$(text$(b), a) = CHR$(z + 1)\r
441 IF zx = 1 THEN CIRCLE (a * 2, b * 2), 1, z\r
442 IF zx = 1 THEN PAINT (a * 2, b * 2), z\r
443 o = 0\r
444 IF zx = 1 THEN IF z = 0 THEN o = 3\r
445 po = ASC(RIGHT$(LEFT$(text$(b), a), 1)) - 1\r
446 IF zx = -1 THEN IF po = 0 THEN o = 3\r
447 CIRCLE (a * 2, b * 2), 1, o\r
448 GOTO 2\r
449 3\r
450 INPUT "fail", a$\r
451 save a$\r
452 5\r
453 END SUB\r
454 \r
455 SUB level (y)\r
456 125\r
457 siia = 0\r
458 siib = 0\r
459 aiia1 = 0\r
460 siib1 = 0\r
461 FOR a1 = 1 TO 32\r
462 FOR b1 = 1 TO 20\r
463 asend(a1, b1) = ""\r
464 asend1(a1, b1) = ""\r
465 NEXT b1\r
466 NEXT a1\r
467 FOR a = 1 TO 10\r
468 uun(a) = ""\r
469 NEXT a\r
470 CLS\r
471 LOCATE 3, 10\r
472 SELECT CASE y\r
473 CASE 1\r
474 uun(1) = "             mmm"\r
475 uun(2) = "    -       m mm"\r
476 uun(3) = "        .  - mmm"\r
477 uun(4) = "o   .  .    mymm"\r
478 uun(5) = "o           -mmm"\r
479 uun(6) = "o    t      mxmm"\r
480 uun(7) = "o            mmm"\r
481 uun(8) = "o           1 1 "\r
482 uun(9) = "o  p     p 1 1 1"\r
483 uun(10) = "mmmmmmmmmmmmmmmm"\r
484 voolual = 1\r
485 CASE 2\r
486 uun(1) = "mmmmmmmmmmmmmmmm"\r
487 uun(2) = "mm   h h        "\r
488 uun(3) = "mmx m    mmmymmm"\r
489 uun(4) = "mmommmmmm  mom m"\r
490 uun(5) = "mo   1 1 1 o1m1m"\r
491 uun(6) = "momm m m m m111m"\r
492 uun(7) = "m      h mmmmoom"\r
493 uun(8) = " mm h          m"\r
494 uun(9) = "        v mmm mm"\r
495 uun(10) = "mmmmmmmmmmmmmmmm"\r
496 CASE 3\r
497 uun(1) = "mmmmmmmmmmmmmmmm"\r
498 uun(2) = " h h h h h  ym11"\r
499 uun(3) = "mm mmmmmmmmmmm1m"\r
500 uun(4) = "m h  m      xm  "\r
501 uun(5) = "mm m m mmmmmmmmm"\r
502 uun(6) = "mmmm     m1m    "\r
503 uun(7) = "m    h   m1moo m"\r
504 uun(8) = "m mmmmmm m1moomm"\r
505 uun(9) = "m 11111m  h h   "\r
506 uun(10) = "mmmmmmmmmmmmmmmm"\r
507 CASE 4\r
508 uun(1) = "mmmmmmmmmmmmmmmm"\r
509 uun(2) = "     h1  h1    m"\r
510 uun(3) = "mmm  1 11  1 o1m"\r
511 uun(4) = "  m 1  oo   1o1m"\r
512 uun(5) = "m moo       oo1m"\r
513 uun(6) = "  m      h  o   "\r
514 uun(7) = "mmm  h      o   "\r
515 uun(8) = "m           o   "\r
516 uun(9) = "        x   oy  "\r
517 uun(10) = "mmmmmmmmmmmmmmmm"\r
518 CASE 5\r
519 uun(1) = "m       . y -   "\r
520 uun(2) = "m      m     moo"\r
521 uun(3) = "m.    mxm    mmo"\r
522 uun(4) = "m  -    m mmmmmm"\r
523 uun(5) = "m .    m     mm "\r
524 uun(6) = "mt  o   o    m  "\r
525 uun(7) = "m   o om o  ooo "\r
526 uun(8) = "m   ooooooooooo "\r
527 uun(9) = "         v    o "\r
528 uun(10) = "oooooooooooooooo"\r
529 CASE 6\r
530 PRINT "1-2  Maailm . Kood: teine": elud\r
531 a$ = INPUT$(1)\r
532 CLS\r
533 uun(1) = "    -           "\r
534 uun(2) = "             .  "\r
535 uun(3) = "       oo- oo   "\r
536 uun(4) = "  -    11  11  ."\r
537 uun(5) = "       oo  oo   "\r
538 uun(6) = "   m ym11  11   "\r
539 uun(7) = "   m  m         "\r
540 uun(8) = "   ooom  <>  <> "\r
541 uun(9) = "       xmmm  mmm"\r
542 uun(10) = "mmmmmmmmmmm  mmm"\r
543 CASE 7\r
544 uun(1) = " oooo           "\r
545 uun(2) = " o111  .        "\r
546 uun(3) = " oooo>    >>>>>>"\r
547 uun(4) = "  .    x v     m"\r
548 uun(5) = "       mym     m"\r
549 uun(6) = "        m      m"\r
550 uun(7) = "            111m"\r
551 uun(8) = "            111m"\r
552 uun(9) = "  v          p  "\r
553 uun(10) = "oooaaaaaaaaaoooo"\r
554 CASE 8\r
555 uun(1) = "      .        o"\r
556 uun(2) = "  .    mm      o"\r
557 uun(3) = ".     ommm  t  o"\r
558 uun(4) = "     mom mm    o"\r
559 uun(5) = "   pmmoyxmmm   o"\r
560 uun(6) = "   mmmomammmm  m"\r
561 uun(7) = "p mmmmv   mmmm  "\r
562 uun(8) = "mmmmmmmmm mmmmmm"\r
563 uun(9) = "                "\r
564 uun(10) = ">>>>>>>>>>>>>>>>"\r
565 maa = maa + 1\r
566 CASE 10\r
567 uun(1) = "m.  -          m"\r
568 uun(2) = "m  .           m"\r
569 uun(3) = "m 111     -    m"\r
570 uun(4) = "mmmmm>>>    ammm"\r
571 uun(5) = "a           a  m"\r
572 uun(6) = "mmm  t      a  m"\r
573 uun(7) = "           ma  m"\r
574 uun(8) = ">>>         a  m"\r
575 uun(9) = "       m yx  m m"\r
576 uun(10) = ">>>mmmmmmmmmmm m"\r
577 CASE 9\r
578 uun(1) = "mammmmmmmmmmmmm "\r
579 uun(2) = "m1m  y     xmo  "\r
580 uun(3) = "mamooo>>>a>am om"\r
581 uun(4) = "m1m     m1mamo m"\r
582 uun(5) = "mamm    m1mam om"\r
583 uun(6) = "m1m    mm1mamo m"\r
584 uun(7) = "mammm   m1ma  om"\r
585 uun(8) = "m1m   mmm1ma o m"\r
586 uun(9) = "m        amam om"\r
587 uun(10) = "mmmmmmmm<mmammmm"\r
588 maa = maa + 2\r
589 CASE 11\r
590 uun(1) = ">>>>>>>>>>>>>>><"\r
591 uun(2) = "> <x           <"\r
592 uun(3) = "> <         >> <"\r
593 uun(4) = "> <y>>>>>>>    <"\r
594 uun(5) = "> <       <  <<<"\r
595 uun(6) = "> <<<<a<< << < >"\r
596 uun(7) = "> <        < <  "\r
597 uun(8) = "> <m >m>>m <   >"\r
598 uun(9) = ">              <"\r
599 uun(10) = ">>>>m<<<<<<<<mm<"\r
600 maa = maa + 2\r
601 CASE 12\r
602 uun(1) = "m     aaaaaaaaam"\r
603 uun(2) = "m  -         xmm"\r
604 uun(3) = "m        t. ym 1"\r
605 uun(4) = "m     .     moom"\r
606 uun(5) = "m          am  1"\r
607 uun(6) = "m         mamomm"\r
608 uun(7) = "m      - mmam  1"\r
609 uun(8) = "m       mmmamomm"\r
610 uun(9) = "m p  p mm      1"\r
611 uun(10) = "mmmmmmmmmammmm<<"\r
612 CASE 13\r
613 uun(1) = "mmmmmmmmmmmmmmmm"\r
614 uun(2) = "m   m          m"\r
615 uun(3) = "  ma   1a1a1a  m"\r
616 uun(4) = "mmma aaaaaaaam m"\r
617 uun(5) = "11maaaaaaaaaam m"\r
618 uun(6) = "mmmaaaaaaaaaam m"\r
619 uun(7) = "11x         ym m"\r
620 uun(8) = "mmmmmmmmmmmmmm m"\r
621 uun(9) = "               m"\r
622 uun(10) = "mmmmmmmmmmmmmmmm"\r
623 CASE 14\r
624 uun(1) = "mmmmmmmmm-      "\r
625 uun(2) = "mm mmmmmmm  -   "\r
626 uun(3) = "mm       m      "\r
627 uun(4) = "mm >>>>> m  -   "\r
628 uun(5) = "mmv  m   m     ."\r
629 uun(6) = ">><< m <<m  -   "\r
630 uun(7) = "11 m m m   .    "\r
631 uun(8) = ">> m m m    xy    "\r
632 uun(9) = "mm  vm    v     "\r
633 uun(10) = "mm>><m>>>>>mmmmm"\r
634 CASE 15\r
635 PRINT "1-3  Maailm . Kood: Sven Risto": elud\r
636 a$ = INPUT$(1)\r
637 CLS\r
638 uun(1) = "      m        m"\r
639 uun(2) = "mm ymmmmmmmmmaaa"\r
640 uun(3) = "<<oo    1111maaa"\r
641 uun(4) = "       <<111maaa"\r
642 uun(5) = "<<m<     m11maaa"\r
643 uun(6) = "    t  oomm  aaa"\r
644 uun(7) = "      vo    mm1m"\r
645 uun(8) = "       mm<<<mm1m"\r
646 uun(9) = "  m  x <<mmmmm11"\r
647 uun(10) = "mmmmmmmmmmmmmmmm"\r
648 voolual = 1\r
649 CASE 16\r
650 uun(1) = "m11     aa       m     11111  m"\r
651 uun(2) = "m11    a   a  a    <          m"\r
652 uun(3) = "m11  >aam       v  t  a       m"\r
653 uun(4) = "m11om y o                 a  am"\r
654 uun(5) = "m11  oooo  t                  m"\r
655 uun(6) = ">>>om         p  p        m   m"\r
656 uun(7) = "m     mmm     mamamom     mm  m"\r
657 uun(8) = "m  v mmmmm    mam 11m  mmmmmm m"\r
658 uun(9) = "m  mmmmmmmmm  mam  1mm    mm  m"\r
659 uun(10) = "mm  m1     m  mam111m     m   m"\r
660 uun(11) = "m m  o     m  mam  vm         m"\r
661 uun(12) = "m  m  m1111m vmammmmm  m      m"\r
662 uun(13) = "m   m  mmmmm 11                "\r
663 uun(14) = "mmmmmm   m mamammmmm         mm"\r
664 uun(15) = "m       m  mam1111m       m  >m"\r
665 uun(16) = "m      m   m1m111m     m      m"\r
666 uun(17) = "      m    mammmm  mm>>> <<<>>m"\r
667 uun(18) = "     m     m  x   m      m   m "\r
668 uun(19) = "mmmmm      mmmmmmm       mmm mm"\r
669 voolual = 2\r
670 CASE 17\r
671 uun(1) = "mu 1111        m"\r
672 uun(2) = "mmmmmmm   <<<<am"\r
673 uun(3) = "m     m  a   mam"\r
674 uun(4) = "m     m    y m1m"\r
675 uun(5) = "m     mm   <xmam"\r
676 uun(6) = "      m  <<<<m1m"\r
677 uun(7) = "      m      ma1"\r
678 uun(8) = "mmmm  m    <<mmm"\r
679 uun(9) = "m111    vU   m  "\r
680 uun(10) = "mmmmmmmaamaaam  "\r
681 voolual = 1\r
682 CASE 18\r
683 uun(1) = "oo            m                "\r
684 uun(2) = "oo     h   h  m                "\r
685 uun(3) = "oo x          m   h      m>>>>>"\r
686 uun(4) = "oo m11111111m m         mm    m"\r
687 uun(5) = "oo m11111111m m  mm  h  m     m"\r
688 uun(6) = "oo mmmmmmmmmm m   m    vm     m"\r
689 uun(7) = "oo            mm  mmmmmmm     m"\r
690 uun(8) = " v                            m"\r
691 uun(9) = "mom    mmmmmm   v             m"\r
692 uun(10) = "m m m  mmmmmm     mm   h  h   m"\r
693 uun(11) = "m                             m"\r
694 uun(12) = "m <<<<<<<<<<<<<<<<<<<<<<<<<<< m"\r
695 uun(13) = "mam                           m"\r
696 uun(14) = "mammooooommaaammm      maaaaavm"\r
697 uun(15) = "mam     oo       a ma  m111111m"\r
698 uun(16) = "mam    oo  <<< h mh h  mma<>amm"\r
699 uun(17) = "mam   moom   <<               m"\r
700 uun(18) = "my   mm         m     m       m"\r
701 uun(19) = "mmmmmmmmmmmm<<mmmaaaaammmmmmmmm"\r
702 voolual = 2\r
703 CASE 19\r
704 CLS\r
705 pildid 1, 1, 10, 3, 1\r
706 LOCATE 20, 1\r
707 PRINT "end"\r
708 FOR a = 1 TO 50\r
709 a$ = INKEY$\r
710 NEXT a\r
711 a$ = INPUT$(1)\r
712 CLS\r
713 SCREEN 2\r
714 PRINT "   Programmi koostasid:"\r
715 PRINT "Svjatoslav Agejenko, Risto Ipsperg ja Fred Freimann"\r
716 a$ = INPUT$(1)\r
717 END\r
718 END\r
719 CASE 100\r
720 uun(1) = "                "\r
721 uun(2) = "                "\r
722 uun(3) = "                "\r
723 uun(4) = "                "\r
724 uun(5) = "                "\r
725 uun(6) = "                "\r
726 uun(7) = "                "\r
727 uun(8) = "                "\r
728 uun(9) = "                "\r
729 uun(10) = "                "\r
730 CASE 101\r
731 uun(1) = "                               "\r
732 uun(2) = "                               "\r
733 uun(3) = "                               "\r
734 uun(4) = "                               "\r
735 uun(5) = "                               "\r
736 uun(6) = "                               "\r
737 uun(7) = "                               "\r
738 uun(8) = "                               "\r
739 uun(9) = "                               "\r
740 uun(10) = "                               "\r
741 uun(11) = "                               "\r
742 uun(12) = "                               "\r
743 uun(13) = "                               "\r
744 uun(14) = "                               "\r
745 uun(15) = "                               "\r
746 uun(16) = "                               "\r
747 uun(17) = "                               "\r
748 uun(18) = "                               "\r
749 uun(19) = "                               "\r
750 voolual = 2\r
751 \r
752 END SELECT\r
753 IF voolual = 2 THEN GOTO 124\r
754 FOR e = 0 TO 9\r
755 FOR D = 0 TO 15\r
756 q$ = RIGHT$(LEFT$(uun(e + 1), D + 1), 1)\r
757 IF q$ = "m" THEN PUT (D * 20, e * 20), ruut, PSET: asend(D + 1, e + 1) = "z"\r
758 IF q$ = "o" THEN PUT (D * 20, e * 20), kast, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "o"\r
759 IF q$ = "." THEN PUT (D * 20, e * 20), taht, PSET\r
760 IF q$ = "-" THEN PUT (D * 20, e * 20), pilv, PSET\r
761 IF q$ = "x" THEN siia = D * 20: siib = (e + 1) * 20\r
762 IF q$ = "y" THEN siia1 = D * 20: siib1 = (e + 1) * 20\r
763 IF q$ = "1" THEN PUT (D * 20, e * 20), munt, PSET: asend(D + 1, e + 1) = "1"\r
764 IF q$ = "p" THEN PUT (D * 20, (e * 20) + 10), poosas, PSET\r
765 IF q$ = "h" THEN PUT (D * 20, e * 20), aken, PSET\r
766 IF q$ = "v" THEN PUT (D * 20, (e * 20) + 10), vedru, PSET: asend(D + 1, e + 1) = "v"\r
767 IF q$ = "t" THEN PUT (D * 20, e * 20), puu, PSET\r
768 IF q$ = ">" THEN PUT (D * 20, e * 20), noolt, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = ">"\r
769 IF q$ = "<" THEN PUT (D * 20, e * 20), noolt1, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "<"\r
770 IF q$ = "a" THEN PUT (D * 20, e * 20), auk, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "a"\r
771 IF q$ = "u" THEN PUT (D * 20, e * 20), uks, PSET: asend(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20\r
772 IF q$ = "U" THEN PUT (D * 20, e * 20), uks, PSET: asend(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20\r
773 NEXT D\r
774 NEXT e\r
775 GOTO 123\r
776 124\r
777 FOR e = 0 TO 19\r
778 FOR D = 0 TO 30\r
779 q$ = RIGHT$(LEFT$(uun(e + 1), D + 1), 1)\r
780 IF q$ = "m" THEN PUT (D * 10, e * 10), ruutm, PSET: asend(D + 1, e + 1) = "z"\r
781 IF q$ = "o" THEN PUT (D * 10, e * 10), kastm, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "o"\r
782 IF q$ = "." THEN PUT (D * 10, e * 10), tahtm, PSET\r
783 IF q$ = "-" THEN PUT (D * 10, e * 10), pilvm, PSET\r
784 IF q$ = "x" THEN siia = D * 20: siib = (e + 1) * 20\r
785 IF q$ = "y" THEN siia1 = D * 20: siib1 = (e + 1) * 20\r
786 IF q$ = "1" THEN PUT (D * 10, e * 10), muntm, PSET: asend(D + 1, e + 1) = "1"\r
787 IF q$ = "p" THEN PUT (D * 10, (e * 10) + 5), poosasm, PSET\r
788 IF q$ = "h" THEN PUT (D * 10, e * 10), akenm, PSET\r
789 IF q$ = "v" THEN PUT (D * 10, (e * 10) + 5), vedrum, PSET: asend(D + 1, e + 1) = "v"\r
790 IF q$ = "t" THEN PUT (D * 10, e * 10), puum, PSET\r
791 IF q$ = ">" THEN PUT (D * 10, e * 10), nooltm, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = ">"\r
792 IF q$ = "<" THEN PUT (D * 10, e * 10), nooltm1, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "<"\r
793 IF q$ = "a" THEN PUT (D * 10, e * 10), aukm, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "a"\r
794 IF q$ = "u" THEN PUT (D * 10, e * 10), uksm, PSET: asend(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20\r
795 IF q$ = "U" THEN PUT (D * 10, e * 10), uksm, PSET: asend(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20\r
796 NEXT D\r
797 NEXT e\r
798 123\r
799 END SUB\r
800 \r
801 SUB pildid (p, o, m, fr, teler)\r
802 DIM ao(1 TO 100) AS STRING\r
803 SELECT CASE m\r
804 CASE 1\r
805 ao(1) = "00000000000000000000"\r
806 ao(2) = "00111111111111111100"\r
807 ao(3) = "01222222222222222210"\r
808 ao(4) = "01233333333333333210"\r
809 ao(5) = "01232222222222223210"\r
810 ao(6) = "01232111111111123210"\r
811 ao(7) = "01232111111111123210"\r
812 ao(8) = "01232111111111123210"\r
813 ao(9) = "01232111111111123210"\r
814 ao(10) = "01232111111111123210"\r
815 ao(11) = "01232111111111123210"\r
816 ao(12) = "01232111111111123210"\r
817 ao(13) = "01232111111111123210"\r
818 ao(14) = "01232111111111123210"\r
819 ao(15) = "01232111111111123210"\r
820 ao(16) = "01232222222222223210"\r
821 ao(17) = "01233333333333333210"\r
822 ao(18) = "01222222222222222210"\r
823 ao(19) = "00111111111111111100"\r
824 ao(20) = "00000000000000000000"\r
825 CASE 2\r
826 ao(1) = "000000022200000222220000002222222200000000000222222000000000"\r
827 ao(2) = "000000022222002222222000222222222222000000222222222220000000"\r
828 ao(3) = "000000222222222222222202222222222222222222222222222222200000"\r
829 ao(4) = "000000222222222222222222222333333222220222222222222221110000"\r
830 ao(5) = "000000222222233333322222223333333322222222222222222221111000"\r
831 ao(6) = "000000022333333333333222233333333333222233322222222221111000"\r
832 ao(7) = "000002222333333333333322233333333333333333333222222221111100"\r
833 ao(8) = "000222222333333333333333333333333333333333333322222221111100"\r
834 ao(9) = "002222223333333333333333333333333333333333333333222221111100"\r
835 ao(10) = "022223333333333333333333333333333333333333333333222221111110"\r
836 ao(11) = "022233333333333333333333333333333333333333333333322222111110"\r
837 ao(12) = "222333333333333333333333333333333333333333333333322222111110"\r
838 ao(13) = "222333333333333333333333323333333323131113333333221221111110"\r
839 ao(14) = "223333333333333333333331112233331121111133333322112211111110"\r
840 ao(15) = "213333333333333333333331111133111111111111111112222111111110"\r
841 ao(16) = "111333313333333333333111111122111111111111111111221111111110"\r
842 ao(17) = "111333311111111333111111111111111111111111111111111111111100"\r
843 ao(18) = "011111111111111111111111111111111111111111111111111111111100"\r
844 ao(19) = "011111111111111111111111111111111111111111111111111111111100"\r
845 ao(20) = "011111111111111111111111111111111111111111111111111111111000"\r
846 ao(21) = "001111111111111111111111111111111111111111111111110111100000"\r
847 ao(22) = "001111111111111100111111111111111111111111111111100000000000"\r
848 ao(23) = "000111111111110000011111111111100011111111111111000000000000"\r
849 ao(24) = "000011111111100000000111111111000000011111111100000000000000"\r
850 ao(25) = "000001111110000000000001111110000000000000000000000000000000"\r
851 CASE 3\r
852 ao(1) = "0000010000"\r
853 ao(2) = "0000010000"\r
854 ao(3) = "0000121000"\r
855 ao(4) = "0000131000"\r
856 ao(5) = "1111232111"\r
857 ao(6) = "0123333210"\r
858 ao(7) = "0123333210"\r
859 ao(8) = "0012332100"\r
860 ao(9) = "0001221000"\r
861 ao(10) = "0012112100"\r
862 ao(11) = "0121001210"\r
863 ao(12) = "0110000110"\r
864 ao(13) = "1100000011"\r
865 CASE 4\r
866 ao(1) = "01111111110111111111"\r
867 ao(2) = "01222222210122222221"\r
868 ao(3) = "01233333210123333321"\r
869 ao(4) = "01233333210123333321"\r
870 ao(5) = "01233333210123333321"\r
871 ao(6) = "01233333210123333321"\r
872 ao(7) = "01233333210123333321"\r
873 ao(8) = "01222222210122222221"\r
874 ao(9) = "01111111110111111111"\r
875 ao(10) = "00000000000000000000"\r
876 ao(11) = "01111111110111111111"\r
877 ao(12) = "01222222210122222221"\r
878 ao(13) = "01233333210123333321"\r
879 ao(14) = "01233333210123333321"\r
880 ao(15) = "01233333210123333321"\r
881 ao(16) = "01233333210123333321"\r
882 ao(17) = "01233333210123333321"\r
883 ao(18) = "01222222210122222221"\r
884 ao(19) = "01111111110111111111"\r
885 ao(20) = "00000000000000000000"\r
886 CASE 5\r
887 ao(1) = "0000333000"\r
888 ao(2) = "0033333300"\r
889 ao(3) = "0332222220"\r
890 ao(4) = "3322222222"\r
891 ao(5) = "3222111112"\r
892 ao(6) = "3111111111"\r
893 ao(7) = "1111111111"\r
894 CASE 6\r
895 ao(1) = "00111100"\r
896 ao(2) = "01222210"\r
897 ao(3) = "12233221"\r
898 ao(4) = "12233221"\r
899 ao(5) = "12233221"\r
900 ao(6) = "12233221"\r
901 ao(7) = "12233221"\r
902 ao(8) = "12233221"\r
903 ao(9) = "01222210"\r
904 ao(10) = "00111100"\r
905 CASE 7\r
906 ao(1) = "000000000000000033333300000000"\r
907 ao(2) = "000000000000000333333333000000"\r
908 ao(3) = "000000333300003332222222300000"\r
909 ao(4) = "000003333330333322232222220000"\r
910 ao(5) = "000033322333333222222222222000"\r
911 ao(6) = "003332222223332222322212222200"\r
912 ao(7) = "033222232222222222111211122200"\r
913 ao(8) = "033222222232111111111111112220"\r
914 ao(9) = "332223222111121121111111111222"\r
915 ao(10) = "322222111111111111121111111111"\r
916 CASE 8\r
917 ao(1) = "0000000002222222000000000"\r
918 ao(2) = "0000000222111112220000000"\r
919 ao(3) = "0000002211131311122000000"\r
920 ao(4) = "0000022113331133112200000"\r
921 ao(5) = "0000022133331333312200000"\r
922 ao(6) = "0000221133331333311220000"\r
923 ao(7) = "0000221333331333331220000"\r
924 ao(8) = "0000221333331333331220000"\r
925 ao(9) = "0000221111111111111220000"\r
926 ao(10) = "0000221333331333331220000"\r
927 ao(11) = "0002211333331333331122000"\r
928 ao(12) = "0002213333331333333122000"\r
929 ao(13) = "0002213333331333333122000"\r
930 ao(14) = "0002213333331333333122000"\r
931 ao(15) = "0002213333331333333122000"\r
932 ao(16) = "0002213333331333333122000"\r
933 ao(17) = "0002213333331333333122000"\r
934 ao(18) = "0002211111111111111122000"\r
935 ao(19) = "2222222222222222222222222"\r
936 ao(20) = "0222222222222222222222220"\r
937 CASE 9\r
938 ao(1) = "00000001112220000000"\r
939 ao(2) = "00001112222111120000"\r
940 ao(3) = "00112222111122221100"\r
941 ao(4) = "02222111122221111110"\r
942 ao(5) = "01111122221111122220"\r
943 ao(6) = "11122221111122221111"\r
944 ao(7) = "22221111122221111111"\r
945 ao(8) = "21111122221111112222"\r
946 ao(9) = "11222221111112222111"\r
947 ao(10) = "22221111112222111111"\r
948 CASE 10\r
949 ao(1) = "33333333333333333333333333333333333333333333333333333333333333333333333333333333"\r
950 ao(2) = "30000000000000000000000000000000000000000000000000000000000000000000000000000003"\r
951 ao(3) = "30000110000111001110011111100011111110011111100000000000000000000000000000000003"\r
952 ao(4) = "30001111100111001110011111110011111110011111110000000000000000002222000000000003"\r
953 ao(5) = "30011001100011001100011100110011100110011100111000000000000000222222220000000003"\r
954 ao(6) = "30011000000011001100011111110011100000011100111000000000000000222222222222000003"\r
955 ao(7) = "30011000000011001100011111100011100110011111110000000000000000330330330002200003"\r
956 ao(8) = "30011111000011001100011100000011111110011111100000000000000000333333330000000003"\r
957 ao(9) = "30001111100011001100011100000011111110011100100000000000000000332222330000000003"\r
958 ao(10) = "30000001100011001100011100000011100000011100110000000000000000033333300000000003"\r
959 ao(11) = "30110001100011001100011100000011100110011100111000000000000030000111000000000003"\r
960 ao(12) = "30111011100011111100011100000011111110011100111000000000000331111111111000000003"\r
961 ao(13) = "30111111000001111000011100000011111110011100111000000000000331111111111100000003"\r
962 ao(14) = "30000000000000000000000000000000000000000000000000000000000000001111101100000003"\r
963 ao(15) = "30000000000000000000000000000000000000000000000000000000000000001111101100000003"\r
964 ao(16) = "30000000000000000000000000000000000000000000000000000000000000001101100000000003"\r
965 ao(17) = "30000003333300000000222200022000000000000000000000000222000000011101110000000003"\r
966 ao(18) = "30000000333330000000222220222200002222002200222022200222000222211101110000000003"\r
967 ao(19) = "30000000033333000000222222222200022222222200222222200000002222223303330000000003"\r
968 ao(20) = "30033333333333300000222222222220222002222000222000000220022000220000000000000003"\r
969 ao(21) = "30033333333333300000220022002220220000022000022200002220022000220000000000000003"\r
970 ao(22) = "30033333333333000002220022002220220000222000222200222220022000220000000000000003"\r
971 ao(23) = "30000000033330000022220022002220022202222220222200222220022222220000000000000003"\r
972 ao(24) = "30000000333300000022200022002220022222202220222200022200002222200000000000000003"\r
973 ao(25) = "30000003333000000000000000000000000000000000000000000000000000000000000000000003"\r
974 ao(26) = "30000000000000000000000000000000000000000000000000000000000000000000000000000003"\r
975 ao(27) = "30000000000000000000000000000000000000000000000000000000000000000000000000000003"\r
976 ao(28) = "30000000000000000000000000000000000000000000000000000000000000000000000000000003"\r
977 ao(29) = "30000000000000000000000000000000000000000000000000000000000000000000000000000003"\r
978 ao(30) = "33333333333333333333333333333333333333333333333333333333333333333333333333333333"\r
979 CASE 11\r
980 ao(1) = "00000000000111111110000000000000000000000000000000"\r
981 ao(2) = "00000000011111111111000001100000000000000000000000"\r
982 ao(3) = "00000000111111111111110011110000000000000000000000"\r
983 ao(4) = "00000001101111111111111111111000000000000000000000"\r
984 ao(5) = "00000011111111111111111111111111000000000000000000"\r
985 ao(6) = "00000111111111111111111111111111000000000000000000"\r
986 ao(7) = "00000111111111111111111111111111001100000000000000"\r
987 ao(8) = "00000111111111111111111111111111111111100000000000"\r
988 ao(9) = "00000111111111111111111111111111111111100000000000"\r
989 ao(10) = "00000111111111111111111111111111111111110000000000"\r
990 ao(11) = "00000111111111111111111111111111111111111000000000"\r
991 ao(12) = "00000111111111111111111111111111111111111100000000"\r
992 ao(13) = "00000111111111111111111111111111111111111100000000"\r
993 ao(14) = "00000111111111111111111111111111111111111100000000"\r
994 ao(15) = "00000111111111111111111111111111111111111100000000"\r
995 ao(16) = "00000111111111111111111111111111111111111100000000"\r
996 ao(17) = "00011111111111111111111111111111111111111100000000"\r
997 ao(18) = "00011111111111111111111111111111111111111100000000"\r
998 ao(19) = "00111111110111111111111111111111111111111100000000"\r
999 ao(20) = "01110111111111111111111111111111111111111100000000"\r
1000 ao(21) = "11111111111111111111111111111111111111111111100000"\r
1001 ao(22) = "11111111111111111111111111111111111111111111100000"\r
1002 ao(23) = "11111111111111111111111111111111111111111111100000"\r
1003 ao(24) = "11111111111111111111111111111111111111111111100000"\r
1004 ao(25) = "11111111111111111111111111111111111111111111111110"\r
1005 ao(26) = "11111111111111111111111111111111111111111111110111"\r
1006 ao(27) = "11111111111111111111111111111111111111111111111111"\r
1007 ao(28) = "11011111111111111111111111111111111111111111111101"\r
1008 ao(29) = "11111111111111111111111111111111111111111111111111"\r
1009 ao(30) = "11111111111111111111111111111111111111111111111111"\r
1010 ao(31) = "11111111111111111111111111111111111111111111111011"\r
1011 ao(32) = "11111111111111111111111111111111111111111111111100"\r
1012 ao(33) = "11111111111111111111111111111111111111111111111000"\r
1013 ao(34) = "01111111111111111111111111111111111111111111110000"\r
1014 ao(35) = "11111111111111111111111111111111111111111110110000"\r
1015 ao(36) = "11111111111111111111111111111111111111111110110000"\r
1016 ao(37) = "11111111111111111111111111111111111111111111110000"\r
1017 ao(38) = "01111111111111111111111111111111111111111111110000"\r
1018 ao(39) = "01111111111111111111111111111111111111111111110000"\r
1019 ao(40) = "00011111111111111111111111111111111111111111100000"\r
1020 ao(41) = "00111111111111111111111111111111111111111111100000"\r
1021 ao(42) = "00011111111111111111111111111111111111111111110000"\r
1022 ao(43) = "00001111111111111111111111111111111111111111110000"\r
1023 ao(44) = "00001111111111111111111111111111111111111111111000"\r
1024 ao(45) = "0000110111111111111111111111111111111111111111100"\r
1025 ao(46) = "0000110011111111111111111111011111111111111100000"\r
1026 ao(47) = "0000111101101111111111111111111111111110111000000"\r
1027 ao(48) = "0000000000001111111111111111111111111111110000000"\r
1028 ao(49) = "0000000000000001111111111111111111110111110000000"\r
1029 ao(50) = "0000000000000000000011111111111111100111110000000"\r
1030 ao(51) = "0000000000000000000001111020111000000000000000000"\r
1031 ao(52) = "0000000000000000000001111222200000000000000000000"\r
1032 ao(53) = "0000000000000000000000222222220000000000000000000"\r
1033 ao(54) = "0000000000000000000000222222020000000000000000000"\r
1034 ao(55) = "0000000000000000000000202222220000000000000000000"\r
1035 ao(56) = "0000000000000000000000222222220000000000000000000"\r
1036 ao(57) = "0000000000000000000000220202220000000000000000000"\r
1037 ao(58) = "0000000000000000000000222222220000000000000000000"\r
1038 ao(59) = "0000000000000000000000202222220000000000000000000"\r
1039 ao(60) = "0000000000000000000000222222220000000000000000000"\r
1040 ao(61) = "000000000000000000000022022220000000000"\r
1041 ao(62) = "0000000000000000000000222222220000000000000000000"\r
1042 ao(63) = "0000000000000000000000220222200000000000000000000"\r
1043 ao(64) = "0000000000000000000000222220200000000000000000000"\r
1044 ao(65) = "0000000000000000000000220222200000000000000000000"\r
1045 ao(66) = "0000000000000000000000222222200000000000000000000"\r
1046 ao(67) = "0000000000000000000000222222200000000000000000000"\r
1047 ao(68) = "0000000000000000000000202222000000000000000000000"\r
1048 ao(69) = "0000000000000000002000222222220000000000000000000"\r
1049 ao(70) = "0000000000000000002200222222000000000000000000000"\r
1050 ao(71) = "0000000000000000000222222222000000000000000000000"\r
1051 ao(72) = "0000000000000000000222222222000000000000000000000"\r
1052 ao(73) = "0000000000000000000022222222000000000000000000000"\r
1053 ao(74) = "0000000000000000000022222222000000000000000000000"\r
1054 ao(75) = "0000000000000000000020222222000000000000000000000"\r
1055 ao(76) = "0000000000000000000222222202000000000000000000000"\r
1056 ao(77) = "000000000000000000022022222200000000000"\r
1057 ao(78) = "0000000000000000022222222222200000000000000000000"\r
1058 ao(79) = "0000000000000000220222222222220000"\r
1059 ao(80) = "000000000000000022222222222222"\r
1060 CASE 12\r
1061 ao(1) = "11111111111111111111"\r
1062 ao(2) = "11111111111111111111"\r
1063 ao(3) = "11111111112111111111"\r
1064 ao(4) = "11111111112211111111"\r
1065 ao(5) = "11111111112221111111"\r
1066 ao(6) = "11111111112222111111"\r
1067 ao(7) = "11111111112222211111"\r
1068 ao(8) = "11122222222222221111"\r
1069 ao(9) = "11122222222222222111"\r
1070 ao(10) = "11122222222222222211"\r
1071 ao(11) = "11122222222222222211"\r
1072 ao(12) = "11122222222222222111"\r
1073 ao(13) = "11122222222222221111"\r
1074 ao(14) = "11111111112222211111"\r
1075 ao(15) = "11111111112222111111"\r
1076 ao(16) = "11111111112221111111"\r
1077 ao(17) = "11111111112211111111"\r
1078 ao(18) = "11111111112111111111"\r
1079 ao(19) = "11111111111111111111"\r
1080 ao(20) = "11111111111111111111"\r
1081 CASE 13\r
1082 ao(1) = "03333333333333333330"\r
1083 ao(2) = "33333333222233333333"\r
1084 ao(3) = "33333332222223333333"\r
1085 ao(4) = "33333332222223333333"\r
1086 ao(5) = "33333332222223333333"\r
1087 ao(6) = "33333332222223333333"\r
1088 ao(7) = "33333332222223333333"\r
1089 ao(8) = "33333332222223333333"\r
1090 ao(9) = "33333332222223333333"\r
1091 ao(10) = "33333332222223333333"\r
1092 ao(11) = "33333333222233333333"\r
1093 ao(12) = "33333333333333333333"\r
1094 ao(13) = "33333333333333333333"\r
1095 ao(14) = "33333333222233333333"\r
1096 ao(15) = "33333332222223333333"\r
1097 ao(16) = "33333332222223333333"\r
1098 ao(17) = "33333332222223333333"\r
1099 ao(18) = "33333333222233333333"\r
1100 ao(19) = "33333333333333333333"\r
1101 ao(20) = "03333333333333333330"\r
1102 CASE 14\r
1103 ao(1) = "00000000000300000000"\r
1104 ao(2) = "00000000003300000000"\r
1105 ao(3) = "00000000003330000000"\r
1106 ao(4) = "00000000033331100000"\r
1107 ao(5) = "00000000033331100000"\r
1108 ao(6) = "00000000333333000000"\r
1109 ao(7) = "00000000331333000000"\r
1110 ao(8) = "00000000333111000000"\r
1111 ao(9) = "00033333333333333300"\r
1112 ao(10) = "03333333333333333333"\r
1113 ao(11) = "00333333333333333300"\r
1114 ao(12) = "00000033333333330000"\r
1115 ao(13) = "00000033333333000000"\r
1116 ao(14) = "00000333333333300000"\r
1117 ao(15) = "00000333330333330000"\r
1118 ao(16) = "00000333300033330000"\r
1119 ao(17) = "00000330000033333000"\r
1120 ao(18) = "00003300000000333300"\r
1121 ao(19) = "00003000000000003330"\r
1122 ao(20) = "00003000000000000030"\r
1123 CASE 15\r
1124 ao(1) = "0000000000300000000"\r
1125 ao(2) = "0000000003300000000"\r
1126 ao(3) = "00000000033000000000"\r
1127 ao(4) = "00000000333300000000"\r
1128 ao(5) = "00000000333220000000"\r
1129 ao(6) = "00000000333220000000"\r
1130 ao(7) = "00000003333320000000"\r
1131 ao(8) = "00000003313330000000"\r
1132 ao(9) = "00000003333330000000"\r
1133 ao(10) = "00000333333333000000"\r
1134 ao(11) = "00033333333333330000"\r
1135 ao(12) = "03333333333333333300"\r
1136 ao(13) = "03333303333333333300"\r
1137 ao(14) = "33000000333333333333"\r
1138 ao(15) = "00000000333330000333"\r
1139 ao(16) = "00000000033300000000"\r
1140 ao(17) = "00000000033300000000"\r
1141 ao(18) = "00000000030300000000"\r
1142 ao(19) = "00000000030300000000"\r
1143 ao(20) = "00000000030300000000"\r
1144 CASE 16\r
1145 ao(1) = "00000000003000000000"\r
1146 ao(2) = "00000000033300000000"\r
1147 ao(3) = "00000000333330000000"\r
1148 ao(4) = "00000000333330000000"\r
1149 ao(5) = "00000001111111000000"\r
1150 ao(6) = "00000001133311000000"\r
1151 ao(7) = "00000003333333000000"\r
1152 ao(8) = "00000003333333000000"\r
1153 ao(9) = "00000003322233000000"\r
1154 ao(10) = "00000003333333000000"\r
1155 ao(11) = "00000003333333000000"\r
1156 ao(12) = "00000003333333000000"\r
1157 ao(13) = "00000003333333000000"\r
1158 ao(14) = "00000000333330000000"\r
1159 ao(15) = "00000000333330000000"\r
1160 ao(16) = "00000000330330000000"\r
1161 ao(17) = "00000000330330000000"\r
1162 ao(18) = "00000000000000000000"\r
1163 ao(19) = "00000000000000000000"\r
1164 ao(20) = "00000000000000000000"\r
1165 CASE 17\r
1166 ao(1) = "00000022222222000000"\r
1167 ao(2) = "00002222222222220000"\r
1168 ao(3) = "00022220000000222000"\r
1169 ao(4) = "00020002222222002000"\r
1170 ao(5) = "00202222222222222200"\r
1171 ao(6) = "00202222222222220200"\r
1172 ao(7) = "00202222222222220200"\r
1173 ao(8) = "02202222222222220220"\r
1174 ao(9) = "02022222222222220220"\r
1175 ao(10) = "02022323232323322020"\r
1176 ao(11) = "02022323232323222020"\r
1177 ao(12) = "02022323233223332020"\r
1178 ao(13) = "22022323232322232022"\r
1179 ao(14) = "20222323232322232202"\r
1180 ao(15) = "20222232232323332202"\r
1181 ao(16) = "20222222222222222202"\r
1182 ao(17) = "20222222222222112202"\r
1183 ao(18) = "20222222222222112202"\r
1184 ao(19) = "20222222222222112202"\r
1185 ao(20) = "20222222222222222202"\r
1186 ao(21) = "20222222222222222202"\r
1187 ao(22) = "20222222222222222202"\r
1188 ao(23) = "20222222222222222202"\r
1189 ao(24) = "20222222222222222202"\r
1190 ao(25) = "20222222222222222202"\r
1191 ao(26) = "20222222222222222202"\r
1192 ao(27) = "20222222222222222202"\r
1193 ao(28) = "20222222222222222202"\r
1194 ao(29) = "20000000000000000002"\r
1195 ao(30) = "22222222222222222222"\r
1196 \r
1197 END SELECT\r
1198 IF fr = 50 THEN GOTO 8\r
1199 IF fr > 1 THEN GOTO 4\r
1200 FOR a = 1 TO 100\r
1201 IF ao(a) = "" THEN GOTO 1\r
1202 FOR b = 1 TO LEN(ao(a))\r
1203 PSET ((p + b) \ teler, (o + a) \ teler), ASC(RIGHT$(LEFT$(ao(a), b), 1)) - 48\r
1204 NEXT b\r
1205 NEXT a\r
1206 GOTO 1\r
1207 4\r
1208 FOR a = 1 TO 100\r
1209 IF ao(a) = "" THEN GOTO 1\r
1210 FOR b = 1 TO LEN(ao(a))\r
1211 c = ASC(RIGHT$(LEFT$(ao(a), b), 1)) - 48\r
1212 LINE (p + (b * fr), o + (a * fr))-(p + (b * fr) + fr, o + (a * fr) + fr), c, BF\r
1213 NEXT b\r
1214 NEXT a\r
1215 GOTO 1\r
1216 8\r
1217 FOR a = 1 TO 100\r
1218 IF ao(a) = "" THEN GOTO 1\r
1219 FOR b = 1 TO LEN(ao(a))\r
1220 PSET ((p + b) \ teler, (o + a) \ teler), ASC(LEFT$(RIGHT$(ao(a), b), 1)) - 48\r
1221 NEXT b\r
1222 NEXT a\r
1223 \r
1224 1\r
1225 ERASE ao\r
1226 END SUB\r
1227 \r
1228 SUB save (y$)\r
1229 OPEN y$ FOR OUTPUT AS #1\r
1230 PRINT #1, pikkus\r
1231 FOR a = 1 TO pikkus\r
1232 PRINT #1, text$(a)\r
1233 NEXT a\r
1234 CLOSE\r
1235 END SUB\r
1236 \r
1237 SUB wiew (r$, a, b)\r
1238 OPEN r$ FOR INPUT AS #2\r
1239 INPUT #2, pikkus\r
1240 FOR e = 1 TO pikkus\r
1241 INPUT #2, b$\r
1242 FOR D = 1 TO LEN(b$)\r
1243 PSET (D + a, b + e), ASC(RIGHT$(LEFT$(b$, D), 1)) - 1\r
1244 NEXT D\r
1245 NEXT e\r
1246 CLOSE\r
1247 END SUB\r
1248 \r