Desde los albores de las computadoras, Hollywood ha demostrado en gran medida que un pirata informático o un programador es alguien sentado en una computadora escribiendo teclas aleatorias en la computadora que finalmente se compilan en una simulación similar a una array descendente. Aquí, intentaremos implementar una simulación de array descendente similar en la consola usando C++.
La idea aquí es imprimir caracteres aleatorios en un ancho definido, donde los dos caracteres sucesivos pueden o no tener una cierta cantidad de espacios definidos aleatoriamente. Se debe implementar una cierta cantidad de retraso entre la impresión de líneas sucesivas para tener un «efecto de caída».
// C++ program for implementation of falling matrix. #include<iostream> #include<string> #include<thread> #include<cstdlib> #include<ctime> #include<chrono> // Width of the matrix line const int width = 70; // Defines the number of flips in Boolean Array 'switches' const int flipsPerLine =5; // Delay between two successive line print const int sleepTime = 100; using namespace std; int main() { int i=0, x=0; // srand initialized with time function // to get distinct rand values at runtime srand(time(NULL)); // Used to decide whether to print // the character in that particular iteration bool switches[width] = {0}; // Set of characters to print from const string ch = "1234567890qwertyuiopasdfghjkl" "zxcvbnm,./';[]!@#$%^&*()-=_+"; const int l = ch.size(); // Green font over black console, duh! system("Color 0A"); // Indefinite Loop while (true) { // Loop over the width // Increment by 2 gives better effect for (i=0;i<width;i+=2) { // Print character if switches[i] is 1 // Else print a blank character if (switches[i]) cout << ch[rand() % l] << " "; else cout<<" "; } // Flip the defined amount of Boolean values // after each line for (i=0; i!=flipsPerLine; ++i) { x = rand() % width; switches[x] = !switches[x]; } // New Line cout << endl; // Using sleep_for function to delay, // chrono milliseconds function to convert to milliseconds this_thread::sleep_for(chrono::milliseconds(sleepTime)); } return 0; }
Esto imprime la asombrosa simulación Falling-Matrix en la consola.
Nota :
- Este programa no se ejecutaría con el botón Ejecutar en IDE porque el sistema está deshabilitado.
- Si obtiene un error del compilador al compilar este programa. Compílelo usando el siguiente comando en GCC.
$g++ -std=c++11 abc.cpp -o falling.o $falling.o
Este artículo es una contribución de Raghav Jajodia . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA