Tein tässä nopeasti tällaisen paisumis tai leviämis efektin, en kyllä tiedä miltä se teidän mielestänne näyttää :). Ohjelman pitäisi olla aika selkeä. kuva muuttuu lopuksi aika sotkuksi mutta mitä väliä...
DEFINT A-Z 'nopeuttaa hieman ohjelmaa RANDOMIZE TIMER 'arpoo parempia satunnaislukuja SCREEN 13 'vaihdetaan näyttötila '*** vaihdetaan palettia OUT &H3C8, 0 For n = 0 To 63 OUT &H3C9, n OUT &H3C9, 0 OUT &H3C9, 0 Next n OUT &H3C8, 63 For n = 0 To 63 OUT &H3C9, 63 - n OUT &H3C9, n OUT &H3C9, 0 Next n OUT &H3C8, 127 For n = 0 To 63 OUT &H3C9, 0 OUT &H3C9, 63 - n OUT &H3C9, n Next n OUT &H3C8, 191 For n = 0 To 63 OUT &H3C9, 0 OUT &H3C9, 0 OUT &H3C9, 63 - n Next n '*** '*** piirretään näytölle kolme ympyrää Circle (200, 200), 80, 63 Circle (100, 100), 100, 127 Circle (250, 50), 50, 191 '*** DO x = Int(Rnd * 320) 'arvotaan "paisuvan" kuvapisteen paikka y = Int(Rnd * 200) 'ja lisää arpomista z = Point(x, y) 'otetaan kuvapisteen väri w = 1 'kuinka isoja palikoita tulee v = CInt(Rnd * 2) - 1 'lisätään hieman satunnaisia värejä If v + z > 255 Then z = 0 'tarkistetaan ettei väriarvo mene minne sattuu :) If v + z < 0 Then z = 255 If z <> 0 Or CInt(Rnd * 50) = 0 Then Line (x - w, y - w)-(x + w, y + w), z + v, BF 'piirretään isompi piste End If LOOP
If v + z > 255 Then z = 0 'tarkistetaan ettei väriarvo mene minne sattuu :)
If v + z < 0 Then z = 255
Tuon pätkän voisi korvata
z = z AND &HFF
Ei huono :)
Tossa tehdään clamppaus eikä sitä oikein andilla tehdä. Elisiis jos alkuarvo on 256 (eli yhden yli), niin alkup. koodi sanoo 255 mutta toi fawkzin metodi 1. eli seuraa overflow.
Aihe on jo aika vanha, joten et voi enää vastata siihen.