matrix

eltripas
10 de Octubre del 2004
ayudenme, diganme como se escribe el codigo en
c para que se vea el efecto matrix de la pelicula, ese de las letras verdes que van cayendo..
please

Rev
10 de Octubre del 2004
Esto te puede servir para lo que quieres:

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

void mueve(int matriz[][51]);

void main(void)
{
short int letra,x;
int matriz_letras[81][51];

textcolor(14);
clrscr();

for(short int a=0;a<81;a++)
{
for(short int b=50;b>=0;b--)
matriz_letras[a][b]=NULL;
}

randomize();
do
{
letra=random(256);
x=random(80);
if(!letra)
letra++;
if(!x)
x++;

matriz_letras[x][1]=letra;
gotoxy(x,1); textcolor(2); cprintf("%c",matriz_letras[x][1]);
mueve(matriz_letras);
delay(60);
}
while(!kbhit());
}

void mueve(int matriz[][51])
{
short int letra;

for(short int a=0;a<80;a++)
{
for(short int b=50;b>=0;b--)
{
if(matriz[a][b]!=NULL)
{
if(matriz[a][b-7]!=matriz[a][b])
{
matriz[a][b+1]=matriz[a][b];
gotoxy(a,b+1); textcolor(2); cprintf("%c",matriz[a][b+1]);
}
else
{
srand(time(NULL));
letra=rand()%256;
matriz[a][b-7]=letra;
gotoxy(a,b-7); textcolor(2); cprintf("%c",matriz[a][b-7]);
}
}//if(matriz!=NULL)
}//for(b)
}//for(a)
}

Espero te sirva.