Texto Animado con fondo y color al azar


Si bien esto que presentamos dista mucho se ser una gran animación es un efecto animado muy vistoso que puede alegrar el comienzo de cualquier programa desarrollado en C. Inicialmente hace pantallas lisas de diversos colores cambiantes y luego genera un texto en pantalla que se va sucediendo a velocidad y con fondo y color de letra al azar. La posición también es aleatoria por lo que uno nunca sabe a ciencia cierta donde aparecerá el texto. 

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main(void) {
    int i, x;
    randomize();

    for(x=0; x<=16; x++) {
        textbackground(x);
        clrscr();
        delay(100);
    }

    for(;;) {
        gotoxy(rand() % 100,rand()/2 % 100);
        textcolor(rand() % 100);
        textbackground(rand() % 100);
        if(rand() % 100 ==25) clrscr();
        cprintf(" --> www.pablin.com.ar <-- ");
        delay(10)
        }
    }

El primer ciclo for se encarga de controlar las pantallas lisas que aparecen al iniciarse el programa. La sentencia textbackground(x) establece como color de fondo el indicado por el valor contenido dentro de sus paréntesis, en este caso el valor contenido por la variable x, el cual es determinado por el ciclo for. El color a presentar es regido por las normas ANSI de pantalla. La sentencia clrscr() borra la pantalla haciendo que el color establecido por la sentencia anterior quede de fondo. Por último, la sentencia delay(100) hace una pausa de tantos milisegundos como el número contenido dentro de sus paréntesis, en este caso en particular 100.

Ejacutados los 17 pasos del ciclo inicial se pasa a ejecutar el segundo, el cual es infinito.

La primer sentencia gotoxy(.......) establece la posición del cursor sobre la pantalla. En este caso en lugar de utilizar números fijos le pasamos como valores de posición el resultado de dos funciones de generación de números seudo aleatoria quedando así determinada la posición del cursor por la suerte del sistema. La segunda sentencia textcolor(.....) establece el color que adoptará la letra. Ese color es determinado por las tablas ANSI pero en lugar de poner un color fijo también lo hemos dejado al azar. La tercera sentencia textbackcolor(.....) establece el color de fondo del texto a escribir que también será aleatorio. La cuarta sentencia le agrega un toque especial al programa. Se tira un número al azar. Si ese número es 25 se borra la pantalla, quedando como color de fondo de toda la extensión de la misma el establecido en el último textbackground(.....). Por último la sentencia cprintf(" MENSAJE ") hace aparecer en la posición, fondo y color de letras aleatorios tirados anteriormente el texto. El delay de 10mS agregado hace que no sea tan rápido y que el ojo humano pueda apreciar el efecto y llegar a leer el mensaje.

Bajar Código Fuente en C con comentarios.

Bajar Programa Compilado .EXE listo para ejecutar.

Hecho por Pablo Canello