Skip to content

Instantly share code, notes, and snippets.

@jovianlin
Created May 26, 2014 12:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jovianlin/022395a1a60d8b05429b to your computer and use it in GitHub Desktop.
Save jovianlin/022395a1a60d8b05429b to your computer and use it in GitHub Desktop.
1) make matrix; 2) ./matrix
#include <iostream>
#include <string>
#include <chrono>
#include <thread>
#include <cstdlib>
const int width = 158; // Width of terminal window
const int flipsPerLine = 5; // No. of columns changed per line
const int millisecondsOfSleep = 50; // Delay between lines in millisecond
int main() {
srand(time_t(NULL));
bool switches[width] = { true };
const std::string garbage = "1234567890/*-+.,./;[]\\=_~`!@#$%^&*()";
const auto glen = garbage.size();
while (true) { // Waiting for Ctrl-C
for (int i = 0; i != width; ++i) {
if (switches[i]) {
std::cout << garbage[rand() % glen];
} else {
std::cout << ' ';
}
}
std::cout << std::endl;
for (int i = 0; i != flipsPerLine; ++i) {
int x = rand() % width;
switches[x] = (switches[x]) ? false : true;
// Flipping switches
}
std::this_thread::sleep_for(std::chrono::milliseconds(millisecondsOfSleep));
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment