Metropoli BBS
VIEWER: bpaint.bas MODE: TEXT (CP437)
RANDOMIZE TIMER
'                             Boot$ector4 presents
'                                   Bootpaint

'                      Vaatii toimiakseen ADVBAS-lisäkirjaston
'                        jonka saa MBNetistä(advbas.zip)

'                          Ohjelmalla tuotettuja kuvia
'                          saa käyttää vapaasti omissa
'                           ohjelmissa niin kauan kun
'                  kreditseissä kiitetään Boot$ector4:sta avusta.


'                       Koodia voi muutta omaan käyttöönsä,
'                      siitä voi ottaa osia, mutta siltikin,
'                            muista(kaa) kiittää meitä.


a$ = "u2e1u1r1d1f1d2br2"
B$ = "u4r2f1g1f1g1l2br5"
c$ = "u4r3l3d4r3br2"
d$ = "u4r1f1d2g1l1br4"
e$ = "u4r3l3d2r2l2d2r3br2"
f$ = "u4r3l3d2r2bd2br3"
g$ = "u4r3l3d4r3u1bd1br2"
h$ = "u4d2r2u2d4br2"
i$ = "u4bd4br2"
j$ = "r1u4br2bd4"                      'Aakkoset
k$ = "u4d2r1e1u1g1d2f1br2"
l$ = "u4d4r3br2"
m$ = "u4r1f1e1r1d4br2"
n$ = "u4f3u3d4br2"                     'Käyttäessäsi omissa ohjelmissa
o$ = "u4r3d4l3br5"                     'muista kiittää meitä
p$ = "u4r3d2l3br5bd2"
q$ = "u4r3d4l3br2d1bu1br3"
r$ = "u4r3d2l3r2d1f1br2"
s$ = "r3u2l3u2r3br2bd4"
t$ = "br1u4l1r2br2bd4"
u$ = "u4d4r3u4br2bd4"
v$ = "bu4d2f1d1r1u1e1u2br2bd4"
w$ = "u4d4r1e1f1r1u4br2bd4"
x$ = "u1e2u1bl2d1f2d1br2"
y$ = "br1u2h1u1d1f1e1u1br2bd4"
z$ = "r3l3u1e2u1l3br5bd4"
a1$ = "br1u4g1e1br2bd4"
a2$ = "r3l3e3h1l1g1br5bd3"
a3$ = "r1e1h1e1h1l1br4bd4"
a4$ = "br2u2r1l3e2br3bd4"
a5$ = "r2e1h1l2u2r3br2bd4"
a6$ = "u4r3l3d4r3u2l3br5bd2"
a7$ = "br2u2e1u1l3br5bd4"
a8$ = "u4r3d4l3u2r3bd2br2"
a9$ = "r3u4l3d2r3br2bd2"
a0$ = "u4r3d4l3br5"
SCREEN 13

RANDOMIZE TIMER
q = INT(RND * 32 + 5)
q = 160
'DRAW "p9,9"
FOR z = 200 TO 1 STEP -1
FOR a = 1 TO 320

x = POINT(a, z + 1)
qq = INT(RND * 3)
IF qq = 2 THEN qq = -1
q = q + qq

IF x > 15 THEN q = (x + q) / 2
PSET (a, z), q'INT(q + z / TIMER)
NEXT a
NEXT z

vari = 0
FOR a = 30 TO 195 STEP 6
FOR i = 2 TO 43 STEP 5
LINE (i, a)-(i + 4, a + 5), vari, BF
vari = vari + 1
NEXT i
NEXT a
LINE (71, 31)-(311, 181), 31, BF                  'Valmistellaan kuvaruutu
LINE (70, 30)-(310, 180), 16, BF
'PRINT vari
'END
PSET (79, 16), POINT(79, 16)
DRAW "c16" + n$ + e$ + w$
PSET (109, 16), POINT(109, 16)
DRAW "c16" + s$ + a$ + v$ + e$
PSET (144, 16), POINT(144, 16)
DRAW "c16" + o$ + p$ + e$ + n$
PSET (179, 16), POINT(179, 16)
DRAW "c16" + u$ + n$ + d$ + o$
PSET (214, 16), POINT(214, 16)
DRAW "c16" + h$ + e$ + l$ + p$
PSET (284, 16), POINT(284, 16)
DRAW "c16" + a$ + B$ + o$ + u$ + t$
PSET (284, 26), POINT(284, 26)
DRAW "c16" + e$ + x$ + i$ + t$

PSET (80, 15), POINT(80, 15)
DRAW "c31" + n$ + e$ + w$
PSET (110, 15), POINT(110, 15)
DRAW "c31" + s$ + a$ + v$ + e$
PSET (145, 15), POINT(145, 15)
DRAW "c31" + o$ + p$ + e$ + n$
PSET (180, 15), POINT(180, 15)
DRAW "c31" + u$ + n$ + d$ + o$
PSET (215, 15), POINT(215, 15)
DRAW "c31" + h$ + e$ + l$ + p$
PSET (285, 15), POINT(285, 15)
DRAW "c31" + a$ + B$ + o$ + u$ + t$
PSET (285, 25), POINT(285, 25)
DRAW "c31" + e$ + x$ + i$ + t$

PSET (78, 25), POINT(78, 25): DRAW "c22" + s$ + o$ + f$ + t$ + e$ + n$
PSET (118, 25), POINT(118, 25): DRAW "c22" + B$ + l$ + u$ + r$
PSET (149, 25), POINT(149, 25): DRAW "c22" + n$ + o$ + i$ + s$ + e$
PSET (184, 25), POINT(184, 25): DRAW "c22" + l$ + i$ + g$ + h$ + t$
PSET (214, 25), POINT(214, 25): DRAW "c22" + d$ + a$ + r$ + k$
PSET (243, 25), POINT(243, 25): DRAW "c22" + p$ + i$ + x$ + e$ + l$


PSET (79, 26), POINT(79, 26): DRAW "c30" + s$ + o$ + f$ + t$ + e$ + n$
PSET (119, 26), POINT(119, 26): DRAW "c30" + B$ + l$ + u$ + r$
PSET (150, 26), POINT(150, 26): DRAW "c30" + n$ + o$ + i$ + s$ + e$
PSET (185, 26), POINT(185, 26): DRAW "c30" + l$ + i$ + g$ + h$ + t$
PSET (215, 26), POINT(215, 26): DRAW "c30" + d$ + a$ + r$ + k$
PSET (244, 26), POINT(244, 26): DRAW "c30" + p$ + i$ + x$ + e$ + l$


LINE (53, 73)-(67, 88), 16, BF
LINE (53, 91)-(67, 120), 16, BF
LINE (53, 123)-(67, 138), 16, BF


LINE (50, 70)-(64, 85), 15, B
koko = 0
LINE (50, 88)-(64, 117), 15, BF
DRAW "bh10bu3br1c16"
DRAW a1$
LINE (50, 120)-(64, 135), 15, B




a = 75
yy = 184
FOR z = 1 TO 8
IF z = 1 THEN OPEN "pen.rom" FOR INPUT AS #1
IF z = 2 THEN OPEN "eraser.rom" FOR INPUT AS #1
IF z = 3 THEN OPEN "line.rom" FOR INPUT AS #1
IF z = 4 THEN OPEN "lineb.rom" FOR INPUT AS #1
IF z = 5 THEN OPEN "text.rom" FOR INPUT AS #1
IF z = 6 THEN OPEN "fade.rom" FOR INPUT AS #1
IF z = 7 THEN OPEN "ball.rom" FOR INPUT AS #1
IF z = 8 THEN OPEN "pipetti.rom" FOR INPUT AS #1
FOR y = yy TO yy + 14
FOR x = a TO a + 14                           'Ladataan ikonit alas
INPUT #1, piste
PSET (x, y), piste
NEXT x
NEXT y
CLOSE
a = a + 31
NEXT z

a = 50
yy = 70
FOR z = 1 TO 2
IF z = 1 THEN OPEN "up.rom" FOR INPUT AS #1
IF z = 2 THEN OPEN "down.rom" FOR INPUT AS #1
FOR y = yy TO yy + 14
FOR x = a TO a + 14                           'Ladataan ikonit vasemmalle
INPUT #1, piste
PSET (x, y), piste
NEXT x
NEXT y
CLOSE
yy = yy + 50
NEXT z
                     
                      
                       'ruutu valmis!

nimi$ = "morjens.boo"
DIM kuva&(9097.5)
vari = 31
vari2 = 16
ampu = 1
GET (70, 30)-(310, 180), kuva&
'GET (70, 30)-(310, 180), kuvaa&

FOR aa = 2 TO 42
FOR za = 2 TO 27
PSET (aa, za), POINT(aa, za) - 100
NEXT za
NEXT aa
erkki:
CALL mmcursoroff




LINE (5, 3)-(25, 23), vari, BF
LINE (20, 5)-(40, 25), vari2, BF

FOR i = 74 TO 291 STEP 31
LINE (i, 183)-(i + 16, 198), 28, B
NEXT i
IF ampu = 1 THEN LINE (74, 183)-(90, 198), 0, B
IF ampu = 2 THEN LINE (105, 183)-(121, 198), 0, B
IF ampu = 3 THEN LINE (136, 183)-(152, 198), 0, B
IF ampu = 4 THEN LINE (167, 183)-(183, 198), 0, B
IF ampu = 5 THEN LINE (198, 183)-(214, 198), 0, B
IF ampu = 6 THEN LINE (229, 183)-(245, 198), 0, B
IF ampu = 7 THEN LINE (260, 183)-(276, 198), 0, B
IF ampu = 8 THEN LINE (291, 183)-(307, 198), 0, B

CALL mmcursoron
CALL mmcursoron
DO
'LOCATE 1, 1: PRINT x%, y%


CALL mmgetloc(x%, y%)
CALL mmclick(v%, o%)              'ADVBASin hiirikäskyjä
CALL mmbutton(vv%, oo%)
x% = INT(x% / 2)



IF v% <> 0 AND x% >= 50 AND x% <= 65 AND y% >= 70 AND y% <= 90 THEN
koko = koko + 1
IF koko = 12 THEN koko = 11
CALL mmcursoroff
LINE (50, 88)-(64, 117), 15, BF
DRAW "bh10bu3br1c16"
'LOCATE 1, 1: PRINT koko
IF koko = 0 THEN DRAW a1$
IF koko = 1 THEN DRAW a2$
IF koko = 2 THEN DRAW a3$
IF koko = 3 THEN DRAW a4$
IF koko = 4 THEN DRAW a5$
IF koko = 5 THEN DRAW a6$
IF koko = 6 THEN DRAW a7$
IF koko = 7 THEN DRAW a8$
IF koko = 8 THEN DRAW a9$
IF koko = 9 THEN DRAW a1$ + a0$
IF koko = 10 THEN DRAW a1$ + a1$
IF koko = 11 THEN DRAW a1$ + a2$
CALL mmcursoron
END IF

IF v% <> 0 AND x% >= 50 AND x% <= 65 AND y% >= 120 AND y% <= 135 THEN
koko = koko - 1
IF koko = -1 THEN koko = 0
CALL mmcursoroff
LINE (50, 88)-(64, 117), 15, BF
DRAW "bh10bu3br1c16"
IF koko = 0 THEN DRAW a1$
IF koko = 1 THEN DRAW a2$
IF koko = 2 THEN DRAW a3$
IF koko = 3 THEN DRAW a4$
IF koko = 4 THEN DRAW a5$
IF koko = 5 THEN DRAW a6$
IF koko = 6 THEN DRAW a7$
IF koko = 7 THEN DRAW a8$
IF koko = 8 THEN DRAW a9$
IF koko = 9 THEN DRAW a1$ + a0$
IF koko = 10 THEN DRAW a1$ + a1$
IF koko = 11 THEN DRAW a1$ + a2$
CALL mmcursoron
END IF




IF x% >= 284 AND x% <= 299 AND y% >= 21 AND y% <= 25 AND v% <> 0 THEN
GOSUB clss
END IF

IF v% <> 0 AND x% >= 79 AND x% <= 106 AND y% >= 22 AND y% <= 26 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
GOSUB soften
CALL mmcursoron
END IF
IF v% <> 0 AND x% >= 119 AND x% <= 137 AND y% >= 22 AND y% <= 26 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
GOSUB blur
CALL mmcursoron
END IF
IF v% <> 0 AND x% >= 150 AND x% <= 170 AND y% >= 22 AND y% <= 26 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
FOR a = 30 TO 180
FOR i = 70 TO 310
hhhh = INT(RND * koko / 2 + 2)
qwerty = INT(RND * 2 + 1)
IF qwerty = 1 THEN hhhh = -hhhh
ddr = POINT(i, a) + hhhh
IF ddr < 0 THEN ddr = 0                      'Itse ohjelmaa
IF ddr > 255 THEN ddr = 255
PSET (i, a), ddr
NEXT i                                       'tässä ympärillä
NEXT a
CALL mmcursoron
END IF
IF v% <> 0 AND x% >= 185 AND x% <= 204 AND y% >= 22 AND y% <= 26 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
FOR a = 30 TO 180
FOR i = 70 TO 310
PSET (i, a), POINT(i, a) + 1
NEXT i
NEXT a
CALL mmcursoron
END IF
IF v% <> 0 AND x% >= 215 AND x% <= 233 AND y% >= 22 AND y% <= 26 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
FOR a = 30 TO 180
FOR i = 70 TO 310
PSET (i, a), POINT(i, a) - 1
NEXT i
NEXT a
CALL mmcursoron
END IF
'              "HEI missä mennään"-lausahduksen ehkäisemiseen.
'                          Alapuolella.
'█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄
'█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄
'█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄█ ▄
IF vv% <> 0 AND x% >= 78 AND x% <= 95 AND y% >= 10 AND y% <= 17 THEN LINE (70, 30)-(310, 180), 16, BF
IF vv% <> 0 AND x% >= 108 AND x% <= 129 AND y% >= 10 AND y% <= 17 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
LINE (120, 50)-(250, 150), 139 + INT(RND * 4), BF
PSET (172, 70), POINT(172, 70)
DRAW "c" + STR$(INT(RND * 4) + 28) + s$ + a$ + v$ + e$
oeero:
nimi$ = LCASE$(nimi$)
IF LEN(nimi$) > 12 THEN nimi$ = LEFT$(nimi$, 12)
LINE (140, 90)-(220, 110), 0, BF
PSET (150, 100), POINT(150, 100)
DRAW "c15"
etu2 = 0
etu = LEN(nimi$)
DO UNTIL etu2 = etu
etu2 = etu2 + 1
etu$ = MID$(nimi$, etu2, 1)
IF etu$ = "a" THEN DRAW a$
IF etu$ = "b" THEN DRAW B$
IF etu$ = "c" THEN DRAW c$
IF etu$ = "d" THEN DRAW d$
IF etu$ = "e" THEN DRAW e$
IF etu$ = "f" THEN DRAW f$
IF etu$ = "g" THEN DRAW g$
IF etu$ = "h" THEN DRAW h$
IF etu$ = "i" THEN DRAW i$
IF etu$ = "j" THEN DRAW j$
IF etu$ = "k" THEN DRAW k$
IF etu$ = "l" THEN DRAW l$
IF etu$ = "m" THEN DRAW m$             'kirjoitusta varten
IF etu$ = "n" THEN DRAW n$
IF etu$ = "o" THEN DRAW o$
IF etu$ = "p" THEN DRAW p$
IF etu$ = "q" THEN DRAW q$
IF etu$ = "r" THEN DRAW r$
IF etu$ = "s" THEN DRAW s$
IF etu$ = "t" THEN DRAW t$
IF etu$ = "u" THEN DRAW u$
IF etu$ = "v" THEN DRAW v$
IF etu$ = "w" THEN DRAW w$
IF etu$ = "x" THEN DRAW x$
IF etu$ = "y" THEN DRAW y$
IF etu$ = "z" THEN DRAW z$
IF etu$ = "1" THEN DRAW a1$
IF etu$ = "2" THEN DRAW a2$
IF etu$ = "3" THEN DRAW a3$
IF etu$ = "4" THEN DRAW a4$
IF etu$ = "5" THEN DRAW a5$
IF etu$ = "6" THEN DRAW a6$
IF etu$ = "7" THEN DRAW a7$
IF etu$ = "8" THEN DRAW a8$
IF etu$ = "9" THEN DRAW a9$
IF etu$ = "0" THEN DRAW a0$
IF etu$ = " " THEN DRAW "br2"
IF etu$ = "." THEN DRAW "r1br2"
LOOP
DRAW "r2"
DO
xx$ = LCASE$(INKEY$)
SELECT CASE xx$
CASE "a": nimi$ = nimi$ + "a": GOTO oeero
CASE "b": nimi$ = nimi$ + "b": GOTO oeero
CASE "c": nimi$ = nimi$ + "c": GOTO oeero
CASE "d": nimi$ = nimi$ + "d": GOTO oeero
CASE "e": nimi$ = nimi$ + "e": GOTO oeero
CASE "f": nimi$ = nimi$ + "f": GOTO oeero
CASE "g": nimi$ = nimi$ + "g": GOTO oeero
CASE "h": nimi$ = nimi$ + "h": GOTO oeero
CASE "i": nimi$ = nimi$ + "i": GOTO oeero
CASE "j": nimi$ = nimi$ + "j": GOTO oeero
CASE "k": nimi$ = nimi$ + "k": GOTO oeero
CASE "l": nimi$ = nimi$ + "l": GOTO oeero
CASE "m": nimi$ = nimi$ + "m": GOTO oeero
CASE "n": nimi$ = nimi$ + "n": GOTO oeero
CASE "o": nimi$ = nimi$ + "o": GOTO oeero
CASE "p": nimi$ = nimi$ + "p": GOTO oeero
CASE "q": nimi$ = nimi$ + "q": GOTO oeero
CASE "r": nimi$ = nimi$ + "r": GOTO oeero
CASE "s": nimi$ = nimi$ + "s": GOTO oeero
CASE "t": nimi$ = nimi$ + "t": GOTO oeero     'näitä jonka takia rivejä tulee
CASE "u": nimi$ = nimi$ + "u": GOTO oeero
CASE "v": nimi$ = nimi$ + "v": GOTO oeero
CASE "w": nimi$ = nimi$ + "w": GOTO oeero
CASE "x": nimi$ = nimi$ + "x": GOTO oeero
CASE "y": nimi$ = nimi$ + "y": GOTO oeero
CASE "z": nimi$ = nimi$ + "z": GOTO oeero
CASE "1": nimi$ = nimi$ + "1": GOTO oeero
CASE "2": nimi$ = nimi$ + "2": GOTO oeero
CASE "3": nimi$ = nimi$ + "3": GOTO oeero
CASE "4": nimi$ = nimi$ + "4": GOTO oeero
CASE "5": nimi$ = nimi$ + "5": GOTO oeero
CASE "6": nimi$ = nimi$ + "6": GOTO oeero
CASE "7": nimi$ = nimi$ + "7": GOTO oeero
CASE "8": nimi$ = nimi$ + "8": GOTO oeero
CASE "9": nimi$ = nimi$ + "9": GOTO oeero
CASE "0": nimi$ = nimi$ + "0": GOTO oeero
CASE " ": nimi$ = nimi$ + " ": GOTO oeero
CASE ".": nimi$ = nimi$ + ".": GOTO oeero
CASE CHR$(13): GOTO tuomoz
CASE CHR$(8)
IF LEN(nimi$) > 0 THEN nimi$ = LEFT$(nimi$, LEN(nimi$) - 1)
GOTO oeero
CASE CHR$(27): PUT (70, 30), kuva&, PSET: GOTO erkki
CASE ELSE
END SELECT
LOOP
tuomoz:
muuttuja = 0
FOR agi = 1 TO LEN(nimi$)
IF MID$(nimi$, agi, 1) = "." THEN muuttuja = 1
NEXT agi
IF muuttuja = 0 THEN
IF LEN(nimi$) > 8 THEN nimi$ = LEFT$(nimi$, 8)
nimi$ = nimi$ + ".boo"
END IF
PUT (70, 30), kuva&, PSET
OPEN nimi$ FOR OUTPUT AS #1
FOR a = 30 TO 180
FOR i = 70 TO 310
PRINT #1, CHR$(POINT(i, a));
NEXT i
NEXT a
CALL mmcursoron
CLOSE
END IF

IF vv% <> 0 AND x% >= 143 AND x% <= 164 AND y% >= 10 AND y% <= 17 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
LINE (120, 50)-(250, 150), 139 + INT(RND * 4), BF
PSET (172, 70), POINT(172, 70)
DRAW "c" + STR$(INT(RND * 4) + 28) + l$ + o$ + a$ + d$
eoeero:
nimi$ = LCASE$(nimi$)
IF LEN(nimi$) > 12 THEN nimi$ = LEFT$(nimi$, 12)
LINE (140, 90)-(220, 110), 0, BF
PSET (150, 100), POINT(150, 100)
DRAW "c15"
etu2 = 0
etu = LEN(nimi$)
DO UNTIL etu2 = etu
etu2 = etu2 + 1
etu$ = MID$(nimi$, etu2, 1)
IF etu$ = "a" THEN DRAW a$
IF etu$ = "b" THEN DRAW B$
IF etu$ = "c" THEN DRAW c$
IF etu$ = "d" THEN DRAW d$
IF etu$ = "e" THEN DRAW e$
IF etu$ = "f" THEN DRAW f$
IF etu$ = "g" THEN DRAW g$
IF etu$ = "h" THEN DRAW h$
IF etu$ = "i" THEN DRAW i$
IF etu$ = "j" THEN DRAW j$
IF etu$ = "k" THEN DRAW k$
IF etu$ = "l" THEN DRAW l$
IF etu$ = "m" THEN DRAW m$
IF etu$ = "n" THEN DRAW n$
IF etu$ = "o" THEN DRAW o$
IF etu$ = "p" THEN DRAW p$
IF etu$ = "q" THEN DRAW q$
IF etu$ = "r" THEN DRAW r$
IF etu$ = "s" THEN DRAW s$
IF etu$ = "t" THEN DRAW t$
IF etu$ = "u" THEN DRAW u$
IF etu$ = "v" THEN DRAW v$
IF etu$ = "w" THEN DRAW w$
IF etu$ = "x" THEN DRAW x$
IF etu$ = "y" THEN DRAW y$
IF etu$ = "z" THEN DRAW z$
IF etu$ = "1" THEN DRAW a1$
IF etu$ = "2" THEN DRAW a2$
IF etu$ = "3" THEN DRAW a3$
IF etu$ = "4" THEN DRAW a4$
IF etu$ = "5" THEN DRAW a5$
IF etu$ = "6" THEN DRAW a6$
IF etu$ = "7" THEN DRAW a7$
IF etu$ = "8" THEN DRAW a8$
IF etu$ = "9" THEN DRAW a9$
IF etu$ = "0" THEN DRAW a0$
IF etu$ = " " THEN DRAW "br2"
IF etu$ = "." THEN DRAW "r1br2"
LOOP
DRAW "r2"
DO
xx$ = LCASE$(INKEY$)
SELECT CASE xx$
CASE "a": nimi$ = nimi$ + "a": GOTO eoeero
CASE "b": nimi$ = nimi$ + "b": GOTO eoeero
CASE "c": nimi$ = nimi$ + "c": GOTO eoeero
CASE "d": nimi$ = nimi$ + "d": GOTO eoeero
CASE "e": nimi$ = nimi$ + "e": GOTO eoeero
CASE "f": nimi$ = nimi$ + "f": GOTO eoeero
CASE "g": nimi$ = nimi$ + "g": GOTO eoeero
CASE "h": nimi$ = nimi$ + "h": GOTO eoeero
CASE "i": nimi$ = nimi$ + "i": GOTO eoeero
CASE "j": nimi$ = nimi$ + "j": GOTO eoeero
CASE "k": nimi$ = nimi$ + "k": GOTO eoeero
CASE "l": nimi$ = nimi$ + "l": GOTO eoeero
CASE "m": nimi$ = nimi$ + "m": GOTO eoeero
CASE "n": nimi$ = nimi$ + "n": GOTO eoeero
CASE "o": nimi$ = nimi$ + "o": GOTO eoeero
CASE "p": nimi$ = nimi$ + "p": GOTO eoeero
CASE "q": nimi$ = nimi$ + "q": GOTO eoeero
CASE "r": nimi$ = nimi$ + "r": GOTO eoeero
CASE "s": nimi$ = nimi$ + "s": GOTO eoeero
CASE "t": nimi$ = nimi$ + "t": GOTO eoeero
CASE "u": nimi$ = nimi$ + "u": GOTO eoeero
CASE "v": nimi$ = nimi$ + "v": GOTO eoeero
CASE "w": nimi$ = nimi$ + "w": GOTO eoeero
CASE "x": nimi$ = nimi$ + "x": GOTO eoeero
CASE "y": nimi$ = nimi$ + "y": GOTO eoeero
CASE "z": nimi$ = nimi$ + "z": GOTO eoeero
CASE "1": nimi$ = nimi$ + "1": GOTO eoeero
CASE "2": nimi$ = nimi$ + "2": GOTO eoeero
CASE "3": nimi$ = nimi$ + "3": GOTO eoeero
CASE "4": nimi$ = nimi$ + "4": GOTO eoeero
CASE "5": nimi$ = nimi$ + "5": GOTO eoeero
CASE "6": nimi$ = nimi$ + "6": GOTO eoeero
CASE "7": nimi$ = nimi$ + "7": GOTO eoeero
CASE "8": nimi$ = nimi$ + "8": GOTO eoeero
CASE "9": nimi$ = nimi$ + "9": GOTO eoeero
CASE "0": nimi$ = nimi$ + "0": GOTO eoeero
CASE " ": nimi$ = nimi$ + " ": GOTO eoeero
CASE ".": nimi$ = nimi$ + ".": GOTO eoeero
CASE CHR$(13): GOTO tuomoze
CASE CHR$(8)
IF LEN(nimi$) > 0 THEN nimi$ = LEFT$(nimi$, LEN(nimi$) - 1)
GOTO eoeero
CASE CHR$(27): PUT (70, 30), kuva&, PSET: GOTO erkki
CASE ELSE
END SELECT
LOOP
tuomoze:
muuttuja = 0
FOR agi = 1 TO LEN(nimi$)
IF MID$(nimi$, agi, 1) = "." THEN muuttuja = 1
NEXT agi
IF muuttuja = 0 THEN
IF LEN(nimi$) > 8 THEN nimi$ = LEFT$(nimi$, 8)
nimi$ = nimi$ + ".boo"
END IF
PUT (70, 30), kuva&, PSET
CLOSE

DIM Tavu AS STRING * 1
OPEN nimi$ FOR BINARY AS #1
LINE (70, 30)-(310, 180), 0, BF
FOR z = 30 TO 180
FOR a = 70 TO 310
GET #1, , Tavu
qwq$ = Tavu
q = ASC(qwq$)
IF q <> 0 THEN PSET (a, z), q
NEXT a
NEXT z
CLOSE

CALL mmcursoron
END IF

IF vv% <> 0 AND x% >= 243 AND x% <= 264 AND y% >= 21 AND y% <= 26 THEN
DIM pisteet(15, 15)
laatikko = koko + 2
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
FOR a = 30 TO 180 - INT(laatikko / 2) STEP laatikko
FOR i = 70 TO 310 - INT(laatikko / 2) STEP laatikko
xxz = 0: yyz = 0
FOR aa = a TO a + laatikko
yyz = yyz + 1: xxz = 0
FOR ii = i TO i + laatikko
xxz = xxz + 1
morjens = POINT(ii, aa)
pisteet(xxz, yyz) = POINT(ii, aa)
IF ii > 309 THEN pisteet(xxz, yyz) = POINT(309, aa)
IF aa > 179 THEN pisteet(xxz, yyz) = POINT(ii, 179)

IF ii > 309 AND aa > 179 THEN pisteet(xxz, yyz) = POINT(309, 179)
NEXT ii
NEXT aa
bdr = 0
pinnat = 0
FOR aa = 1 TO laatikko
FOR ii = 1 TO laatikko
pinnat = pinnat + 1
bdr = bdr + pisteet(ii, aa)
NEXT ii
NEXT aa
bdr = INT(bdr / pinnat)
jaanix = laatikko
jaaniy = laatikko
palikkatesti:
IF i >= 311 - jaanix THEN jaanix = jaanix - 1: GOTO palikkatesti
IF a >= 181 - jaaniy THEN jaaniy = jaaniy - 1: GOTO palikkatesti
LINE (i, a)-(i + jaanix, a + jaaniy), bdr, BF
NEXT i
NEXT a


'FOR a = 31 TO 180 - laatikko + 2 STEP laatikko
'FOR i = 71 TO 310 - laatikko + 2 STEP laatikko
'LINE (i, a)-(i + laatikko - 1, a + laatikko - 1), POINT(i, a), BF
'NEXT i
'NEXT a


CALL mmcursoron
END IF


'LOCATE 1, 1: PRINT x%, y%

IF vv% <> 0 AND x% >= 178 AND x% <= 199 AND y% >= 10 AND y% <= 17 THEN PUT (70, 30), kuva&, PSET


IF vv% <> 0 AND x% >= 213 AND x% <= 232 AND y% >= 10 AND y% <= 17 THEN
GET (70, 30)-(310, 180), kuva&
LINE (70, 30)-(310, 180), 0, BF
CALL mmcursoroff
DIM avu AS STRING * 1
OPEN "help.sys" FOR BINARY AS #1
LINE (70, 30)-(310, 180), 0, BF
FOR z = 30 TO 180
FOR a = 70 TO 310
GET #1, , avu                        'Kovalla työllä valmistettu
qwq$ = avu                           '      HELP-ruutu
q = ASC(qwq$)
IF q <> 0 THEN PSET (a, z), q
NEXT a
NEXT z
CLOSE
CALL clrkbd
CALL mmcursoron

DO
LOOP WHILE INKEY$ = ""
PUT (70, 30), kuva&, PSET
END IF
IF vv% <> 0 AND x% >= 283 AND x% <= 309 AND y% >= 10 AND y% <= 17 THEN
CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
LINE (70, 30)-(310, 180), 0, BF
LOCATE 6, 19
PRINT "Boot$ector4"
LOCATE 8, 19
PRINT " presents"
PSET (163, 76), 0
DRAW "c4" + B$ + o$ + o$ + t$ + p$ + a$ + i$ + n$ + t$
PSET (164, 75), 0
DRAW "c29" + B$ + o$ + o$ + t$ + p$ + a$ + i$ + n$ + t$
PSET (120, 110), 0
DRAW "c31" + c$ + r$ + e$ + d$ + i$ + t$ + s$ + "br30c147" + c$ + o$ + d$ + i$ + n$ + g$
PSET (180, 120), 0
DRAW "c31" + n$ + i$ + k$ + o$ + "br3" + n$ + y$ + q$ + v$ + i$ + s$ + t$
PSET (180, 130), 0
DRAW "c31" + i$ + i$ + k$ + k$ + u$ + "br3" + m$ + a$ + t$ + t$ + i$ + l$ + a$
PSET (180, 140), 0
DRAW "c147" + i$ + d$ + e$ + a$            'CREDITSIT
PSET (180, 150), 0
DRAW "c31" + i$ + i$ + k$ + k$ + u$ + "br3" + m$ + a$ + t$ + t$ + i$ + l$ + a$
PSET (120, 175), 0
DRAW "c26" + p$ + r$ + e$ + s$ + s$ + "br3" + a$ + n$ + y$
DRAW "br3" + k$ + e$ + y$ + "br3" + t$ + o$ + "br3" + c$ + o$ + n$ + t$ + i$ + n$ + u$ + e$

DO
LOOP WHILE INKEY$ = ""
PUT (70, 30), kuva&, PSET
CALL mmcursoron
END IF


IF vv% = 0 THEN
IF eki = 1 THEN
CALL mmcursoroff
eki = 0
GET (70, 30)-(310, 180), kuva&
CALL mmcursoron
END IF
END IF

IF oo% = 0 THEN
IF reki = 1 THEN                                   'Tämän kanssa tapeltiin
CALL mmcursoroff                                   ' KAUAN
reki = 0
GET (70, 30)-(310, 180), kuva&
CALL mmcursoron
END IF
END IF

IF x% < 47 AND y% > 30 AND v% <> 0 THEN
CALL mmcursoroff
vari = POINT(x%, y%)
GOTO erkki
END IF
IF x% < 47 AND y% > 30 AND o% <> 0 THEN
CALL mmcursoroff
vari2 = POINT(x%, y%)
GOTO erkki
END IF

'LOCATE 1, 1: PRINT x%, y%
IF x% >= 75 AND x% <= 90 AND y% >= 184 AND v% <> 0 THEN ampu = 1: GET (70, 30)-(310, 180), kuva&: GOTO erkki
IF x% >= 106 AND x% <= 124 AND y% >= 184 AND v% <> 0 THEN ampu = 2: GET (70, 30)-(310, 180), kuva&: GOTO erkki
IF x% >= 137 AND x% <= 155 AND y% >= 184 AND v% <> 0 THEN ampu = 3: GET (70, 30)-(310, 180), kuva&: GOTO erkki
IF x% >= 168 AND x% <= 186 AND y% >= 184 AND v% <> 0 THEN ampu = 4: GET (70, 30)-(310, 180), kuva&: GOTO erkki
IF x% >= 199 AND x% <= 217 AND y% >= 184 AND v% <> 0 THEN ampu = 5: koko = 3: LINE (50, 88)-(64, 117), 15, BF: DRAW "bh10bu3br1c16": DRAW a4$: GET (70, 30)-(310, 180), kuva&: GOTO erkki
IF x% >= 230 AND x% <= 248 AND y% >= 184 AND v% <> 0 THEN ampu = 6: GET (70, 30)-(310, 180), kuva&: GOTO erkki
IF x% >= 261 AND x% <= 279 AND y% >= 184 AND v% <> 0 THEN ampu = 7: GET (70, 30)-(310, 180), kuva&: GOTO erkki
IF x% >= 292 AND x% <= 310 AND y% >= 184 AND v% <> 0 THEN ampu = 8: GET (70, 30)-(310, 180), kuva&: GOTO erkki

                  
                   'Työkalun vaihto




IF ampu = 1 AND vv% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
IF xxx% < 70 THEN xxx% = 70
IF xxx% > 310 THEN xxx% = 310
IF yyy% < 30 THEN yyy% = 30
IF yyy% > 180 THEN yyy% = 180
CALL mmcursoroff
FOR a = yyy% + INT(koko / 2) TO yyy% - INT(koko / 2) STEP -1
FOR i = xxx% + INT(koko / 2) TO xxx% - INT(koko / 2) STEP -1
LINE (i, a)-(x%, y%), vari
NEXT i
NEXT a
CALL mmcursoron
END IF


IF ampu = 1 AND oo% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
IF xxx% < 70 THEN xxx% = 70
IF xxx% > 310 THEN xxx% = 310
IF yyy% < 30 THEN yyy% = 30
IF yyy% > 180 THEN yyy% = 180
CALL mmcursoroff
FOR a = yyy% + INT(koko / 2) TO yyy% - INT(koko / 2) STEP -1
FOR i = xxx% + INT(koko / 2) TO xxx% - INT(koko / 2) STEP -1
LINE (i, a)-(x%, y%), vari2
NEXT i
NEXT a
CALL mmcursoron
END IF


IF ampu = 2 AND vv% <> 0 AND x% >= 75 AND x% <= 306 AND y% >= 35 AND y% <= 176 THEN
CALL mmcursoroff
'LINE (x% - 5, y% - 5)-(x% + 4, y% + 4), vari, BF
FOR a = y% - INT(koko / 2) TO y% + INT(koko / 2)
FOR i = x% - INT(koko / 2) TO x% + INT(koko / 2)
IF POINT(i, a) = vari THEN PSET (i, a), vari2
NEXT i
NEXT a
CALL mmcursoron
END IF

IF ampu = 2 AND oo% <> 0 AND x% >= 75 AND x% <= 306 AND y% >= 35 AND y% <= 176 THEN
CALL mmcursoroff
FOR a = y% - INT(koko / 2) TO y% + INT(koko / 2)
FOR i = x% - INT(koko / 2) TO x% + INT(koko / 2)
IF POINT(i, a) = vari2 THEN PSET (i, a), vari
NEXT i
NEXT a
CALL mmcursoron
END IF


IF ampu = 3 AND vv% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
IF eki = 0 THEN
xx = x%: yy = y%
GET (70, 30)-(310, 180), kuva&
eki = 1
END IF
PUT (70, 30), kuva&, PSET
LINE (x%, y%)-(xx, yy), vari
CALL mmcursoron
END IF

IF ampu = 3 AND oo% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
IF reki = 0 THEN
xx = x%: yy = y%
GET (70, 30)-(310, 180), kuva&
reki = 1
END IF
PUT (70, 30), kuva&, PSET
LINE (x%, y%)-(xx, yy), vari2
CALL mmcursoron
END IF

IF ampu = 4 AND vv% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
IF eki = 0 THEN
xx = x%: yy = y%
GET (70, 30)-(310, 180), kuva&
eki = 1
END IF
PUT (70, 30), kuva&, PSET
LINE (x%, y%)-(xx, yy), vari, B
CALL mmcursoron
END IF

IF ampu = 4 AND oo% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
IF reki = 0 THEN
xx = x%: yy = y%
GET (70, 30)-(310, 180), kuva&
reki = 1
END IF
PUT (70, 30), kuva&, PSET
LINE (x%, y%)-(xx, yy), vari2, B
CALL mmcursoron
END IF

IF ampu = 6 AND vv% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
LINE (70, 30)-(310, 180), vari2, B
PAINT (x%, y%), vari, vari2
CALL mmcursoron
END IF
IF ampu = 6 AND oo% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
LINE (70, 30)-(310, 180), vari, B
PAINT (x%, y%), vari2, vari
CALL mmcursoron
END IF

IF ampu = 7 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 AND (vv% <> 0 OR oo% <> 0) THEN
texture$ = ""
IF vari < vari2 THEN
testing:
IF vari2 - vari > 31 THEN vari2 = vari2 - 1: vari = vari + 1
IF vari2 - vari > 31 THEN GOTO testing
LINE (70, 30)-(310, 180), vari2, B
FOR asdasd = vari TO vari2
texture$ = texture$ + CHR$(asdasd)
NEXT asdasd
FOR asdasd = vari2 TO vari STEP -1
texture$ = texture$ + CHR$(asdasd)
NEXT asdasd

CALL mmcursoroff
PAINT (x%, y%), texture$, vari2
CALL mmcursoron
END IF

IF vari2 < vari THEN
testing2:
IF vari - vari2 > 31 THEN vari = vari - 1: vari2 = vari2 + 1
IF vari - vari2 > 31 THEN GOTO testing2
LINE (70, 30)-(310, 180), vari, B
FOR asdasd = vari2 TO vari
texture$ = texture$ + CHR$(asdasd)
NEXT asdasd
FOR asdasd = vari TO vari2 STEP -1
texture$ = texture$ + CHR$(asdasd)
NEXT asdasd

CALL mmcursoroff
PAINT (x%, y%), texture$, vari
CALL mmcursoron
END IF


END IF





IF ampu = 8 AND vv% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
vari = POINT(x%, y%)
GOTO erkki
END IF
IF ampu = 8 AND oo% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN
CALL mmcursoroff
vari2 = POINT(x%, y%)
GOTO erkki
END IF

IF ampu = 5 AND oo% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN GOSUB eeroo
IF ampu = 5 AND vv% <> 0 AND x% >= 70 AND x% <= 310 AND y% >= 30 AND y% <= 180 THEN GOSUB eeroo

xxx% = x%
yyy% = y%
LOOP
END
eeroo:

CALL mmcursoroff
GET (70, 30)-(310, 180), kuva&
eero:
nimiz$ = LCASE$(nimiz$)
PUT (70, 30), kuva&, PSET
PSET (x%, y%), POINT(x%, y%)
IF vv% <> 0 THEN DRAW "c" + STR$(vari)
IF oo% <> 0 THEN DRAW "c" + STR$(vari2)
etu2 = 0
etu = LEN(nimiz$)
DO UNTIL etu2 = etu
DRAW "s" + STR$(koko + 1)
etu2 = etu2 + 1
etu$ = MID$(nimiz$, etu2, 1)
IF etu$ = "a" THEN DRAW a$
IF etu$ = "b" THEN DRAW B$
IF etu$ = "c" THEN DRAW c$
IF etu$ = "d" THEN DRAW d$
IF etu$ = "e" THEN DRAW e$
IF etu$ = "f" THEN DRAW f$
IF etu$ = "g" THEN DRAW g$
IF etu$ = "h" THEN DRAW h$
IF etu$ = "i" THEN DRAW i$
IF etu$ = "j" THEN DRAW j$
IF etu$ = "k" THEN DRAW k$
IF etu$ = "l" THEN DRAW l$
IF etu$ = "m" THEN DRAW m$
IF etu$ = "n" THEN DRAW n$
IF etu$ = "o" THEN DRAW o$
IF etu$ = "p" THEN DRAW p$
IF etu$ = "q" THEN DRAW q$
IF etu$ = "r" THEN DRAW r$
IF etu$ = "s" THEN DRAW s$
IF etu$ = "t" THEN DRAW t$
IF etu$ = "u" THEN DRAW u$
IF etu$ = "v" THEN DRAW v$
IF etu$ = "w" THEN DRAW w$
IF etu$ = "x" THEN DRAW x$
IF etu$ = "y" THEN DRAW y$
IF etu$ = "z" THEN DRAW z$
IF etu$ = "1" THEN DRAW a1$
IF etu$ = "2" THEN DRAW a2$
IF etu$ = "3" THEN DRAW a3$
IF etu$ = "4" THEN DRAW a4$
IF etu$ = "5" THEN DRAW a5$
IF etu$ = "6" THEN DRAW a6$
IF etu$ = "7" THEN DRAW a7$
IF etu$ = "8" THEN DRAW a8$
IF etu$ = "9" THEN DRAW a9$
IF etu$ = "0" THEN DRAW a0$
IF etu$ = " " THEN DRAW "br2"
LOOP
DRAW "s4"
DO
xx$ = LCASE$(INKEY$)
SELECT CASE xx$
CASE "a": nimiz$ = nimiz$ + "a": GOTO eero
CASE "b": nimiz$ = nimiz$ + "b": GOTO eero
CASE "c": nimiz$ = nimiz$ + "c": GOTO eero
CASE "d": nimiz$ = nimiz$ + "d": GOTO eero
CASE "e": nimiz$ = nimiz$ + "e": GOTO eero
CASE "f": nimiz$ = nimiz$ + "f": GOTO eero
CASE "g": nimiz$ = nimiz$ + "g": GOTO eero
CASE "h": nimiz$ = nimiz$ + "h": GOTO eero
CASE "i": nimiz$ = nimiz$ + "i": GOTO eero
CASE "j": nimiz$ = nimiz$ + "j": GOTO eero
CASE "k": nimiz$ = nimiz$ + "k": GOTO eero
CASE "l": nimiz$ = nimiz$ + "l": GOTO eero
CASE "m": nimiz$ = nimiz$ + "m": GOTO eero
CASE "n": nimiz$ = nimiz$ + "n": GOTO eero
CASE "o": nimiz$ = nimiz$ + "o": GOTO eero
CASE "p": nimiz$ = nimiz$ + "p": GOTO eero
CASE "q": nimiz$ = nimiz$ + "q": GOTO eero
CASE "r": nimiz$ = nimiz$ + "r": GOTO eero
CASE "s": nimiz$ = nimiz$ + "s": GOTO eero
CASE "t": nimiz$ = nimiz$ + "t": GOTO eero
CASE "u": nimiz$ = nimiz$ + "u": GOTO eero
CASE "v": nimiz$ = nimiz$ + "v": GOTO eero
CASE "w": nimiz$ = nimiz$ + "w": GOTO eero
CASE "x": nimiz$ = nimiz$ + "x": GOTO eero
CASE "y": nimiz$ = nimiz$ + "y": GOTO eero
CASE "z": nimiz$ = nimiz$ + "z": GOTO eero
CASE "1": nimiz$ = nimiz$ + "1": GOTO eero
CASE "2": nimiz$ = nimiz$ + "2": GOTO eero
CASE "3": nimiz$ = nimiz$ + "3": GOTO eero
CASE "4": nimiz$ = nimiz$ + "4": GOTO eero
CASE "5": nimiz$ = nimiz$ + "5": GOTO eero
CASE "6": nimiz$ = nimiz$ + "6": GOTO eero
CASE "7": nimiz$ = nimiz$ + "7": GOTO eero
CASE "8": nimiz$ = nimiz$ + "8": GOTO eero
CASE "9": nimiz$ = nimiz$ + "9": GOTO eero
CASE "0": nimiz$ = nimiz$ + "0": GOTO eero
CASE " ": nimiz$ = nimiz$ + " ": GOTO eero
CASE CHR$(13)
GET (70, 30)-(310, 180), kuva&
y% = y% + 6
nimiz$ = ""
GOTO eero
CASE CHR$(8)
IF LEN(nimiz$) = 0 THEN x% = x% - 1
IF LEN(nimiz$) > 0 THEN nimiz$ = LEFT$(nimiz$, LEN(nimiz$) - 1)
GOTO eero
CASE CHR$(27): GOTO tuomo

CASE CHR$(0) + "H"
y% = y% - 1
GOTO eero
CASE CHR$(0) + "P"
y% = y% + 1
GOTO eero                          'EIHÄN TÄMÄ EDES TOIMI
CASE CHR$(0) + "K"                 '(Vaikka pitäisi)
x% = x% - 1
GOTO eero                          '<--nuolinäppäimet!
CASE CHR$(0) + "M"
x% = x% + 1
GOTO eero

CASE ELSE
END SELECT
LOOP
tuomo:
CALL mmcursoron
nimiz$ = ""
RETURN

soften:
FOR v = 30 TO 180
FOR i = 70 TO 310
m = 9
q = POINT(i, v)
w = POINT(i + 1, v)
e = POINT(i, v + 1)
r = POINT(i - 1, v)
t = POINT(i, v - 1)
y = POINT(i + 1, v + 1)                  'Tässä on erittäin hyödyllinen
u = POINT(i - 1, v + 1)                  'SOFTEN filtteri, jota on nopeutettu
k = POINT(i - 1, v - 1)                  'huonontaen lopullista jälkeä
o = POINT(i + 1, v - 1)
z = INT(q + w + e + r + t + y + u + k + o) / 9
PSET (i, v), z
NEXT i
NEXT v
RETURN

blur:
koko = koko + 3
FOR v = 31 TO 180
FOR i = 71 TO 310
m = 9
q = POINT(i, v)
w = POINT(i + 1, v)
e = POINT(i, v + 1)
r = POINT(i - 1, v)
t = POINT(i, v - 1)
y = POINT(i + 1, v + 1)
u = POINT(i - 1, v + 1)
k = POINT(i - 1, v - 1)
o = POINT(i + 1, v - 1)
dasda = (INT(RND * koko))
IF dasda > INT(koko / 2) THEN dasda = -INT(koko / 2)
z = INT(q + w + e + r + t + y + u + k + o) / 9
z = z + dasda
PSET (i, v), z
NEXT i
NEXT v
koko = koko - 3
RETURN

clss:
CALL mmcursoroff
FOR i = 1 TO 63
  FOR ii = 1 TO 189
     OUT (&H3C7), ii
     r = INP(&H3C9)
     g = INP(&H3C9)
     B = INP(&H3C9)
     r = r - .5
     g = g - .5
     B = B - .5
     r = ABS(r - .5)                'Tässä on MBNetistä hankkimaamme
     g = ABS(g - .5)                       'kamaa
     B = ABS(B - .5)
     OUT (&H3C8), ii
     OUT (&H3C9), r
     OUT (&H3C9), g
     OUT (&H3C9), B
  NEXT ii
  PALETTE 0, 0
NEXT i
LINE (0, 0)-(320, 200), 0, BF
PALETTE
SCREEN 12
SCREEN 0
END


                                  'THE END

[ RETURN TO DIRECTORY ]