Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: POKE...

Sivun loppuun

janux [07.05.2004 09:03:04]

#

miten sitä POKE menetelmää joka korvaa PSET:in vois soveltaa tähän:

SCREEN 13
CLS

CONST pi = 3.14
x = 130: y = 100:r = .1:k = 100

DO

 FOR a = 0 TO 100

  f = f + 2:c = c + 1:k = k + 1

  x = x + COS(a) * r + COS(k * pi / 360)
  y = y + SIN(a) * r + SIN(k * pi / 360)

  PSET (x, y), COS(f) + c * 100
  IF c > 130 THEN c = 0

 NEXT a

 r = .1: x = 130: y = 100
LOOP UNTIL INKEY$ = CHR$(27)

rndprogy [07.05.2004 15:37:21]

#

En tiedä mutta aika hyvä efekti.

janux [07.05.2004 15:48:40]

#

mjoo mutta tuo jostain syystä hidastuu ko sitä ajaa(.EXE:nä) pitemmän aikaa... huomasin että ko ottaa näppäimistön lukemisen pois niin se ei hidastu... mutta nyt ohjelmaa onki hanalampi lopettaa

sooda [07.05.2004 16:16:46]

#

Sehän toimi siten että ensin aika alussa def seg=&ha000 ja sitten psetin sijaan: poke x+y*320,väri ja lopussa def seg.

rndprogy [07.05.2004 17:15:06]

#

Tai siis kyllä minä tuon tiedän mutten miten saa tuollaisen efektin.

janux [07.05.2004 17:44:48]

#

tuollaisen efektin saa ko osaa... tein tänä aamuna ^_^
exe on saatavana: http://roskalaatikko.tuote.org/sekion.exe sain jopa ratkastua sen hidastus ongelmanki... kiitos neuvosta sooda... pitää testata

janux [07.05.2004 17:48:39]

#

se tuntus bugittavan tolla menetelmällä... tulee koko näyttö täytee pixeleitä

hunajavohveli [07.05.2004 21:23:46]

#

No ei tuossa minusta mitään niin ihmeellistä ole. Kun leikkii riittävästi trigonometrialla, niin oppii tekemään tuollaisia. Janux on selvästi tehnyt erilaisia kokeiluita.

Pistät tuon psetin tilalle vain:

POKE x + y * 320, COS(f) + c * 100

Ja alkuun muistat pistää:

DEF SEG = &HA000

Antti Laaksonen [07.05.2004 22:46:27]

#

janux kirjoitti:

se tuntus bugittavan tolla menetelmällä... tulee koko näyttö täytee pixeleitä

Ongelma on siinä, että x ja y ovat liukulukumuodossa, jolloin 320:lla kertomisen jälkeen pikselin paikka määräytyy virheellisesti. Tällä tavalla kuva piirretään oikein:

POKE INT(x) + INT(y) * 320, COS(f) + c * 100

Joka kerta tehtävä kertolasku tosin vähentää POKEn käytöstä koituvaa hyötyä.


Sivun alkuun

Vastaus

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

Tietoa sivustosta