Matrix rain (just for fun)

 

Matrix Rain


matrix rain


Desde hace tiempo tenia ganas de hacer el algoritmo de matrix rain, asi que me puse a pensar como hacerlo, hasta que llegué al algoritmo que verán abajo, es muy sencillo, asi que espero que les resulte util. El algoritmo esta en C++

Lo primero que definimos es un char array con los caracteres que harán la lluvia.


char matrix[] = {"klm  8 А В C DEFG  H Г ДЅЗИ ѲІК  ЛМН  ѮѺП  ЧРС Т  Ѵ   Ф Х   Ѱ Ѿ  Ц ЅЗИ ѲІК  Л М Н   Ѯ    ѺП  Ч  Р  С  Т  ѴФ Х Ѱ Ѿ Ц  "};



Bien una vez definido el array, pasamos al algoritmo que es bastante simple, se trata de un while dentro de otro, donde el segundo toma aleatoriamente caracteres del array y va armando una cadena de hasta 110 caracteres, para poder imprimirlo en la consola DOS; bueno eso es todo, es muy simple, pero funciona !

/* Matrix rain */

void runMatrixRain(){    
    int rnd = 0;    
    string rain = "";
    int max = sizeof(matrix);    
    while(true){
        while (rain.length() < 110){
            rnd = (rand() % max);
            rain  = rain + "    " +  matrix[rnd];                
        }
        cout <<   rain << "\n";        
        Sleep(30);
        rain = "";    
    }
}



Para ejcutar el código lo hacemos invocando el runMatrinRain() en el main()


int main(){
    setColor(3); // color 9 es el blue y el 10 el green /4 dark red / 3 lightblue
    //rain();    
    runMatrixRain();   
    return 0;
}



Output por consola


Have fun !!

Comentarios