Ohjelma näyttää värillisen spiraalin, jota pyöritetään paletti-animaatiolla.
Edit 2019 by mod: Vaihdettu hidastukseen TIMER. Koodi toimii FreeBASICilla asetuksella -lang qb.
SCREEN 13 'paletin värin vaihto SUB AsetaVari(i%, r%, g%, b%) OUT 968, i% OUT 969, r% OUT 969, g% OUT 969, b% END SUB 'spiraalin koko kokox% = 320 kokoy% = 200 'vaihdetaan värit FOR i% = 0 TO 63 AsetaVari i%, i%, 0, 63 - i% AsetaVari i% + 64, 63 - i%, i%, 0 AsetaVari i% + 128, 0, 63 - i%, i% NEXT i% 'piirretään kuvio FOR x% = 0 TO kokox% - 1 FOR y% = 0 TO kokoy% - 1 xx% = x% - kokox% / 2 yy% = y% - kokoy% / 2 IF xx% = 0 THEN IF yy% < 0 THEN kulma = 270 ELSE kulma = 90 ELSE kulma = ATN(yy% / xx%) / (3.1415 / 180) IF xx% <= 0 THEN kulma = kulma + 180 IF kulma < 0 THEN kulma = 360 + kulma END IF etaisyys% = SQR(xx% ^ 2 + yy% ^ 2) vari% = INT((kulma / 360 * 192 * 2 + etaisyys%) MOD 192) PSET (x%, y%), vari% NEXT y% IF INKEY$ = CHR$(27) THEN EXIT FOR NEXT x% 'pyöritetään värejä i% = 0 t# = TIMER DO t# = t# + 0.02 WHILE TIMER < t#: WAIT &h3da, &h8: WEND i% = (i% + 1) MOD 192 FOR a% = 0 TO 63 AsetaVari (a% + i%) MOD 192, a%, 0, 63 - a% AsetaVari (a% + 64 + i%) MOD 192, 63 - a%, a%, 0 AsetaVari (a% + 128 + i%) MOD 192, 0, 63 - a%, a% NEXT a% LOOP UNTIL INKEY$ = CHR$(27)
Hienohan tuo on. Paletin käyttömahdollisuudet ovat loputtomat.
tosi hieno!
Upea!
Tosi hieno! Miten palettia muutellaan?
siis aivan älyttömän makee!!!
Palettiahan voi muunnella helposti PALETTE-käskyllä, mutta OUTilla se on paljon nopeampaa, vaikkakin vähän monimutkaisempaa.
Se toimii niin, että ensin laitetaan
OUT 968, i% ' jossa i% on väri, mitä muutetaan.
Sitten syötetään uuden värin RGB-arvo (red, green, blue) kolmella käskyllä:
OUT 969, r% OUT 969, g% OUT 969, b%
jossa kunkin osavärin kirkkaus ilmoitetaan arvolla väliltä 0-63.
eiks pidä laitaa : ton
etaisyys% = SQR(xx% ^ 2 + yy% ^ 2)
jälkeen
Mahtavan näköinen.
Mutta eikös:
etaisyys% = SQR(xx% ^ 2 + yy% ^ 2) vari% = INT((kulma / 360 * 192 * 2 + etaisyys%) MOD 192)
rivin pitäisi olla:
etaisyys% = SQR(xx% ^ 2 + yy% ^ 2): vari% = INT((kulma / 360 * 192 * 2 + etaisyys%) MOD 192)
vai olenko väärässä?
muuten en ainakaan itse saanut tuota toimimaan..
no nyt ne on takaisin eri riveillä
lainaus:
Mahtavan näköinen.
Mutta eikös:
etaisyys% = SQR(xx% ^ 2 + yy% ^ 2) vari% = INT((kulma / 360 * 192 * 2 + etaisyys%) MOD 192)rivin pitäisi olla:
etaisyys% = SQR(xx% ^ 2 + yy% ^ 2): vari% = INT((kulma / 360 * 192 * 2 + etaisyys%) MOD 192)
vai olenko väärässä?
muuten en ainakaan itse saanut tuota toimimaan..
noi rivithän on samanlaisii vai eikö?
Ei ole samanlaisia, sillä siinä toisessa on kaksoispiste ennen vari%-sanaa.
siis uskomatonta! tota vois toljottaa tuntitolkulla, mutkun pää alkaa pikkuhiljaa kallistumaan :D
Vähän Cool
ihan todella hieno!!!
Ihan älyyyttömän siistiä!
VAU! Tosi hieno juttu. En itse osaisi, mutta varmaankin johtuen siitä, että olen ennemmin opiskellut peleille tärkeitä asioita... Mutta joka tapauksessa todella hieno!
Tosi hieno.
HIENO
Aihe on jo aika vanha, joten et voi enää vastata siihen.