Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


Fuente de ejemplo 1: Feliz 2008

Escribir un cartel "Feliz 2008" con letras grandes, en las que cada píxel de las letras originales se represente con el tamaño de una letra (8x8 píxels).

Además, deberán caer copos de nieve por delante del cartel, con un movimiento algo aleatorio (siempre hacia abajo, pero a veces vertical, a veces un poco hacia la izquierda y otras veces un poco hacia la derecha

La apariencia podría ser como ésta:

 

Esta sería una forma de hacerlo:

10 ' Feliz 2008!
20 '
30 ' Preparo el texto grande
40 MODE 1: BORDER 0
50 INK 0,0: INK 1, 26: INK 2,11: INK 3,23
60 PRINT"Feliz"
70 PRINT"2008!"
80 PEN 2
90 DEFINT i,j: GOSUB 1000
100 ' Borro el texto auxiliar
110 LOCATE 1,1
120 PRINT"      "
130 PRINT"      "
140 ' Genero los copos de nieve
150 numCopos = 50: RANDOMIZE TIME
160 DIM copo(numCopos,2)
170 FOR i =1 TO numCopos
180   copo(i,1)=RND*640
190   copo(i,2)=RND*400
200   PLOT copo(i,1), copo(i,2), 1, 1
210 NEXT i
220 '
230 ' Parte repetitiva
240 WHILE INKEY$=""
250   FRAME: 'Sincronizo barrido
260   ' Borro copos, recalculo y dibujo
270   FOR i =1 TO numCopos
280     PLOT copo(i,1), copo(i,2), 1, 1
290     copo(i,1)=copo(i,1)-2+RND*4
300     copo(i,2)=copo(i,2)-RND*3
310     IF copo(i,2)<5 THEN copo(i,2)=399
320     PLOT copo(i,1), copo(i,2), 1, 1
330   NEXT i
340 WEND
980 ' Fin del cuerpo del programa
990 END
1000 'Subrutina de escribir grande
1010 FOR i =1 TO 40
1020   FOR j =1 TO 16
1030     IF TEST(i*2, 400-j*2) <> 0 THEN LOCATE i,j+4: PRINT CHR$(233);
1040   NEXT j
1050 NEXT i
1060 RETURN