Tämä on QBasic-versio kauan sitten kirjoittamastani Kirjainten järjestely -efektistä VB:lle. Ohjelma siis tekee vaikkapa pelin alkuun sopivan efektin, jossa kirjaimet ensin sekoitetaan ympäri ruutua, ja sitten järjestetään oikeisiin paikkoihin animaation kera.
'muuttujatyyppi kirjaimille
TYPE tkirjain
kirjain AS STRING * 1
ax AS INTEGER
ay AS INTEGER
nx AS SINGLE
ny AS SINGLE
askelx AS SINGLE
askely AS SINGLE
END TYPE
CLS
'tekstin asetukset
x% = 10
y% = 5
vari% = 9
teksti$ = "Ohjelmointiputka - QB, VB & PHP - www.ohjelmointiputka.net"
pykalat% = 15 'mitä suurempi, sen hitaampi animaatio
REDIM kirjain(LEN(teksti$)) AS tkirjain
'oikeat paikat (ax, ay), sekoitetut paikat (nx, ny) ja paikkojen
'välinen askel (askelx, askely)
COLOR vari%
RANDOMIZE TIMER
FOR i = 1 TO LEN(teksti$)
kirjain(i).kirjain = MID$(teksti$, i, 1)
kirjain(i).ax = x% + (i - 1)
kirjain(i).ay = y%
kirjain(i).nx = INT(RND * 80) + 1
kirjain(i).ny = INT(RND * 23) + 1
kirjain(i).askelx = (kirjain(i).nx - kirjain(i).ax) / pykalat%
kirjain(i).askely = (kirjain(i).ny - kirjain(i).ay) / pykalat%
LOCATE kirjain(i).ny, kirjain(i).nx: PRINT kirjain(i).kirjain
NEXT
'odotetaan näppäimenpainallusta
SLEEP
'[pykalat%] pykälän animaatio
FOR j = 1 TO pykalat%
FOR i = 1 TO LEN(teksti$)
'poistetaan vanha merkki
LOCATE kirjain(i).ny, kirjain(i).nx: PRINT " "
'uuden paikan laskeminen
kirjain(i).nx = kirjain(i).nx - kirjain(i).askelx
kirjain(i).ny = kirjain(i).ny - kirjain(i).askely
'piirretään uusi merkki
LOCATE kirjain(i).ny, kirjain(i).nx: PRINT kirjain(i).kirjain
NEXT
'hidaste
WAIT &H3DA, 8
NEXT
'tulostetaan vielä koko teksti, jotta kaikki kirjaimet
'näkyvät varmasti
LOCATE y%, x%: PRINT teksti$Kiva
Hieno. Hieman pätkii tossa järjestely vaiheessa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.