Gente del mundo, hoy les traigo una porción de código que les va a permitir recrear en consola la famosa pantalla de la película Matrix.

Es bastante simple de crear, solo requiere el conocimiento de variables int y bool, del repetidor while y por último de las funciones básicas cout y rand. Ésto es parte de los principios de la programación así que no tendrán dificultad en entenderlo. Aún así dejaré algunas referencias para hacer ésto posible.

Primero lo que hacemos en un proyecto nuevo de C++ es incluir las siguientes librerías que justamente van a ser necesarias para implementar lo mencionado:

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

Vamos a empezar entendiendo la lógica de lo que queremos crear. Para simular el efecto visual de lo que es Matrix, vamos a ver que está compuesto de ceros y unos que se crean y desplazan aleatoriamente en pantalla. Por lo tanto tenemos 2 valores, lo que se conoce como binario o booleano.

Por ello vamos a tener siempre una variable de una variable de enteros que alojará el valor de cero o uno. Si no sabes como crear variables o que son, te invito a leer el libro de C++ gratuito que he publicado, así como tambien podes ir al tema específico en el videotutorial a continuación.

Luego de entender lo anterior, vamos a proceder a la creación de las respectivas variables dentro de nuestra función principal y necesaria para que el programa funcione (main):

int main()
{
    bool matrix = true;
    int num;
    return 0;
}

Si observás también creé una variable booleana, ésta la voy a utilizar para mantener el programa ejecutandose todo el tiempo. Sino simplemente me mostraría un par de numeros de Matrix y se cerraría al terminar, pero nosotros queremos que no se cierre al terminar, sino que quede en un bucle constante que ya trataremos.

Ahora, tenemos que entender que vamos a tomar valores cero o uno a representar en pantalla. Entonces a través de una función llamada rand, vamos a obtener un número al azar entre cero y uno, para luego guardarlo en la variable creada y así mostrarlo en pantalla con la función cout.

     num=0+rand()%(1+1 – 0);
        
     cout<<num<<» «;

Observá que la función rand va de 0 a 1. Ésto tambien podes verlo en el libro que mencioné antes, clickeando en la imagen del libro.

Ahora como dije anteriormente, haremos uso de la variable matrix, para decirle al programa que MIENTRAS sea verdadera (lo cual será siempre) el programa no se cierre, y así quedará en un bucle mostrando la Matrix hasta que lo cerremos manualmente.

Para crear un bucle vamos a utilizar la función WHILE, que representa ese «MIENTRAS». Y le diremos que lo que va a repetir dentro de esa ejecución del programa, es generar números al azar y mostrarlos en pantalla, infinitamente.

    while(matrix == true)
    {
 
    }

Genial, tenemos las partes del código, pero las tenemos por separado. Vamos a juntarlos y a ordenarlos. Antes de hacer ésto te voy a comentar y sugerir 2 cosas. La primera es que al usar rand efectivamente va a dar números aleatorios, pero cada vez que se ejecute el programa van a ser los mismos siempre. Si nosotros queremos una aleatoriedad de tal forma que sean diferentes incluso cuando se ejecute el programa en distintas ocasiones, entonces tenemos que configurar la «seed» (Semilla) de nuestro rand, que es lo que usa para crear números aleatorios. 

    srand(time(NULL));

Observá que nos basamos en TIME para configurarlo, y TIME no es ni mas ni menos que el tiempo que aloja nuestra computadora, que como siempre será diferente, entonces generará siempre valores diferentes.

Ahora por último vamos a querer hacerlo de color verde. Ésto es totalmente opcional y existen muchas librerías para hacerlo. Yo en éste caso le daré una instrucción a system para que lo haga, pero hay complementos mucho más sencillos que éste para que no te marees.

    system («color 0A»); 

Listo, y ahora seguro tenes código por todos lados, como un collage. Necesitamos organizarlo. Para eso pensá mentalmente que hace cada parte y donde la vas a ubicar. Queremos crear las variables primariamente por única vez, luego queremos que el resto del programa se repita siempre en un bucle, y que lo que haga en esa repetición sea generar variables al azar y mostrarlas en pantalla. Entonces fijate que ya tenemos un orden:

DECLARAR E INICIALIZAR VARIABLES

  1. INICIO DE BUCLE QUE REPITE EL PROGRAMA
  2. GENERACION DE NUMERO ALEATORIO
  3. MUESTRA O IMPRESION EN PANTALLA DEL NUMERO

Nuestro código final debería quedar algo así:

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

using namespace std;

int main()
{
    bool matrix = true;
    int num;
    srand(time(NULL));
    system («color 0A»); 
    while(matrix = true)
    {
     num=0+rand()%(1+1 – 0);
        
     cout<<num<<» «;
            }
     
     return 0;