Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Lumisade-efekti

Antti Laaksonen [09.03.2002 17:25:45]

#

Vesiefektistä sai johdettua melko helposti lumisade-efektin, ja tässä se nyt on. Toisin kuin vesiefektissä, pudonneiden lumihiutaleiden taulukkotila vapautuu, eli lunta sataa loputtomasti.

SCREEN 13

TYPE hiutale
  x AS INTEGER
  y AS INTEGER
END TYPE

Max = 800 'hiutaleitten määrä kerrallaan

'mitä ruudulla näkyy
LOCATE 5, 5: PRINT "Lunta tulvillaan..."

DIM h(Max) AS hiutale

DO
  FOR i = 1 TO Max
    PRESET (h(i).x, h(i).y) 'vanha hiutale pois
    IF h(i).x = 0 THEN 'uusi hiutale
      h(i).x = INT(RND * 320) + 2
      h(i).y = 0 - INT(RND * 200) + 1
    ELSE
      IF h(i).y < 199 AND h(i).x > 1 THEN
        IF POINT(h(i).x, h(i).y + 1) = 0 THEN 'suoraan alas
          h(i).y = h(i).y + 1
        ELSEIF POINT(h(i).x - 1, h(i).y + 1) = 0 THEN 'alas ja vasemmalle
          h(i).y = h(i).y + 1
          h(i).x = h(i).x - 1
        ELSEIF POINT(h(i).x + 1, h(i).y + 1) = 0 THEN 'alas ja oikealle
          h(i).y = h(i).y + 1
          h(i).x = h(i).x + 1
        ELSE
          PSET (h(i).x, h(i).y), 26 + i MOD 4 'hiutale laskeutui
          h(i).x = 0 'uudestaan ylös
        END IF
      ELSE
        PSET (h(i).x, h(i).y), 26 + i MOD 4 'hiutale laskeutui
        h(i).x = 0 'uudestaan ylös
      END IF
    END IF
    PSET (h(i).x, h(i).y), 15 'uusi hiutale
  NEXT
LOOP WHILE INKEY$ <> CHR$(27)

Jogge [13.08.2002 19:58:00]

#

Hieman likaista lunta... :)

Tätäkin koodinpätkää voi nopeuttaa lisäämällä alkuun rivin:
DEFINT A-Z

Toni_ [18.08.2002 17:25:27]

#

Ei voi laittaa peliin, valittaa jotain tossa DIM h(Max) jutun h:ssa.

hunajavohveli [03.01.2004 16:51:32]

#

Kun mainitsit vesiefektin, puhuitko tekemästäni Vesipisarat-efektistä vai jostain muusta? Olen tehnyt samantapaisen, missä tipuu kiviä kasoihin ja sitten vierii alas kunnes kasa on täysin kolmio. Vähän niin kuin tämä, paitsi että taulukkotila ei vapaudu, koska jo pudonneet kivet voivat muiden vieriessä lähteä uudestaan vierimään.

Vike91 [19.10.2006 18:24:30]

#

jos "Lunta tulvillaan..." korvataan 40:llä viivalla, lunta tulee maahan säännöllisemmin.

Dude [02.08.2007 14:41:51]

#

kiva. koittakaa pistää Max=22222.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta