Tein pienen ilotulitusohjelman uudeksi vuodeksi, jos haluaa viellä raketteja katsella. Koodi voi olla vähän epäselkeää, mutta ainakin minulla toimii ihan hyvin.
SCREEN 7, , 0, 1 'saadaan doublebufferointi tässä näyttötiassa
pixmax = 128 'montako kivaa pikseliä enintään räjähdyksessä
a = 2 'painovoimakiihtyvyys
pixkest = 10 'kuinka kauan pikselit näkyvät
rakpit = 8 'raketin pituus
rksp = 10 'raketin kipinäsuihkun pituus
DIM kx(pixmax)
DIM ky(pixmax)
DIM k(rksp)
DIM col(rksp)
'kipinäsuihkun värit
FOR k = 0 TO rksp
col(k) = 4
IF k < rksp / 1.2 THEN col(k) = 6
IF k < rksp / 1.8 THEN col(k) = 14
NEXT
DO
rakv = CINT(RND * 14) + 1 'raketin väri
x = INT(RND * 300) + 10 'raketin räjähdyspaikka
y = INT(RND * 100) + 10
rakx = INT(RND * 50) + x - 25
xm = (x - rakx) / (200 - y)
FOR m = 0 TO rksp
kx(m) = rakx
ky(m) = 200
NEXT
FOR raky = 200 TO y STEP -2
rakx = rakx + xm
LINE (rakx, raky)-(rakx + xm * rakpit, raky - rakpit), rakv 'piirretään raketti
IF r > rksp THEN r = 0
kx(r) = rakx
ky(r) = raky
k(r) = 0
FOR m = 0 TO rksp 'piirretään kipinäsuihku
PSET (kx(m), ky(m)), col(k(m))
kx(m) = kx(m) + CINT(RND * 2) - 1
ky(m) = ky(m) + CINT(RND * 2) - 1
k(m) = k(m) + 1
NEXT
r = r + 1
PCOPY 0, 1 'flipataan sörsseli näytölle
CLS
IF INKEY$ = CHR$(27) THEN END
NEXT
'laskeskellaan räjähdysjuttuja
pix = CINT(RND * pixmax - 2) + 2
poksx = CINT(RND * 40) + 10
poksy = CINT(RND * 40) + 10
FOR m = 0 TO pix
kx(m) = CINT(RND * poksx) - poksx / 2
ky(m) = CINT(RND * poksy) - poksy / 1.5
NEXT
FOR t = 0 TO pixkest STEP .1
FOR m = 0 TO pix
IF kx(m) <> 0 AND ky(m) <> 0 THEN
px = t * kx(m) 'lasketaan lentorataa
py = ky(m) * t + .5 * a * t ^ 2 'lasketaan lentorataa
PSET (px + x, py + y), CINT(RND * 15) 'piirretään piste
IF INT(RND * 40) = 1 THEN kx(m) = 0: ky(m) = 0
END IF
NEXT
PCOPY 0, 1 'flipataan sörsseli näytölle
CLS
IF INKEY$ = CHR$(27) THEN END
NEXT
LOOPHyvä ja ajankohtainen ohjelma. Raketteja voisi tosin räjähdellä enempikin yhtä aikaa.
hieno.
tosiaan niitä raketteja voisi tulla enemmän, mutta hieno
Tyylikäs..
perkeleen hieno!
Hieno. Pitäisi vielä olla niitä entisajan thunder kingejä :)
Hieno, mutta raketin jättämä suihku katoaa samalla kun raketti pamahtaa :(
Hyvä
Tosi upee, vielä ku aina räjähtäessä tausta välähtäis kanssa silleen hienosti. Joo tosiaankin se suohku saisi jäädä näkyviin räjähdyksen aikana niin olis hieno. Mä kun etin ja väänsin ja selasin ja käänsin, niin ei silti mistään löytyny sitä että se poistettais näkyvistä. Missä kohtaa koodia se katoaa sitten? voisko joku mulle kertoa?
Neljänneksi viimeisellä rivillä CLS kohdassa.
tyylikäs!!
Tosi hieno!!!
Aihe on jo aika vanha, joten et voi enää vastata siihen.