Kirjoittaja: Antti Laaksonen
Kirjoitettu: 12.03.2002 – 12.03.2002
Tagit: grafiikka, koodi näytille, vinkki
Windowsissa on ollut jo vaikka kuinka kauan avaruuslentoa esittävä näytönsäästäjä. Tämä ohjelma tekee saman QBasicilla.
SCREEN 13
TYPE tahti 'tähti!
t AS INTEGER
sx AS SINGLE
sy AS SINGLE
END TYPE
tahtimaara = 500 'tähtien määrä kerrallaan
pii = 4 * ATN(1)
DIM tahdet(tahtimaara) AS tahti
RANDOMIZE TIMER
'alkupaikat
FOR i = 1 TO tahtimaara
tahdet(i).t = INT(RND * 400) + 30
tahdet(i).sx = -1 + RND * 2
tahdet(i).sy = -1 + RND * 2
NEXT
DO
FOR i = 1 TO tahtimaara
IF tahdet(i).t = 0 THEN 'takaisin alkuun
tahdet(i).t = 30
tahdet(i).sx = -1 + RND * 2
tahdet(i).sy = -1 + RND * 2
ELSEIF tahdet(i).t < 400 THEN 'piirtäminen
PRESET (160 + (tahdet(i).t - 1) * tahdet(i).sx, 100 + (tahdet(i).t - 1) * tahdet(i).sy)
PSET (160 + tahdet(i).t * tahdet(i).sx, 100 + tahdet(i).t * tahdet(i).sy)
tahdet(i).t = tahdet(i).t + 1
ELSE 'tähti on ruudun ulkopuolella
PRESET (160 + (tahdet(i).t - 1) * tahdet(i).sx, 100 + (tahdet(i).t - 1) * tahdet(i).sy)
tahdet(i).t = 0
END IF
NEXT
LOOP UNTIL INKEY$ = CHR$(27)Se on starfield
SE ON 3D STARFIELD