Jos vaikka haluat vaikkapa presents tekstin muodostuvan hiljalleen sillä tavalla, että pikselit liikkuu omille paikoilleen muodostaen kuvan, niin kannatta kattoo toi koodi. Alunperin se oli "hyvää uuttavuotta" teksti, tarkotuksena vain toivottaa kaikkille koneelle tulijoille hyvää uutta vuotta. Koodi on yksinkertainen, ladataan taulukkoon pikselien nykyiset paikat, ja pikselien kohde paikat, ja sit ne hakeutuu sinne kohdepaikoille. Ainut vika on QB:n hitaus, mutta esim jos tekee PRINT komennolla jonkun tekstin tuonne, niin ei se ainakaan hidas minun 233mhz penalla ollut.
RANDOMIZE TIMER maxpixel = 2000 'Kuinka monta pikseliä saa olla kuvassa 'Varataan muisti tämänhetkisille pikseleille DIM pixelx(maxpixel) DIM pixely(maxpixel) 'Varataan muisti pikseleitten kohteille DIM pixelx1(maxpixel) DIM pixely1(maxpixel) DIM pixelv(maxpixel) SCREEN 13 'Piirretään ympyrät alkuun FOR k = 1 TO 10 CIRCLE (INT(RND * 320), INT(RND * 200)), INT(RND * 20), INT(RND * 200) NEXT k 'Luetaan, kuva, että pikselit osaavat mennä oikeille paikoille. FOR X = 0 TO 319 FOR Y = 0 TO 199 IF POINT(X, Y) <> 0 THEN G = G + 1: pixelx1(G) = X: pixely1(G) = Y: pixelv(G) = POINT(X, Y) NEXT NEXT 'Jos pikselit ylittävät maksimipikseli määrän, niin lopetetaan ohjelma. IF G > maxpixel THEN CLS: COLOR 4: PRINT \"Ei riitä muisti!\": END 'Alustetaan muuttujat FOR k = 1 TO G pixelx(k) = INT(RND * 319) pixely(k) = INT(RND * 199) NEXT k CLS 'Ja sitten saadaan nauttia hienosta demosta! DO FOR k = 1 TO G PSET (pixelx(k), pixely(k)), 0 IF pixelx(k) > pixelx1(k) THEN pixelx(k) = pixelx(k) - 1 IF pixelx(k) < pixelx1(k) THEN pixelx(k) = pixelx(k) + 1 IF pixely(k) < pixely1(k) THEN pixely(k) = pixely(k) + 1 IF pixely(k) > pixely1(k) THEN pixely(k) = pixely(k) - 1 PSET (pixelx(k), pixely(k)), pixelv(k) NEXT k LOOP 'Täytyy ottaa huomioon,että koodista ei tule nopeinta mahdollista, joten 'kannattaa tehdä mahdollisimman pieni kuva.
Sama juttu, lainausmerkki on TAAS kommenttien eessä, ottakaa pois...
Tuo on oikeasti hieno! Turhat lainausmerkit on poistettu.
Lisäys tohon viimeiseen kommenttiin:
Tai ei nyt ehkä mahdollisimman pieni kuva, mutta mahdollisimman vähän muita, kuin mustia, 0 väri pikseleitä.
hohhohhoo.. kun näitä vanhoja sorsiani katson, niin niissähän on paljonkin parantamisen varaa.. ainakin interpolorointia olisin voinut käyttää... mutta minkäs teet...
Aihe on jo aika vanha, joten et voi enää vastata siihen.