From 6a26bbd85955499defce6f8b067584f525676f85 Mon Sep 17 00:00:00 2001 From: Caleb Fontenot Date: Sun, 4 Feb 2024 10:15:38 -0600 Subject: [PATCH] add file --- TextScroller/a.out | Bin 0 -> 29856 bytes TextScroller/main.cpp | 91 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100755 TextScroller/a.out create mode 100644 TextScroller/main.cpp diff --git a/TextScroller/a.out b/TextScroller/a.out new file mode 100755 index 0000000000000000000000000000000000000000..61169969373ff207cb4275a224fa7bd62c5fbdbd GIT binary patch literal 29856 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 +#include +#include // for linux + +using namespace std; + +const string COLOR_ANSI = "\033[38;2;"; +int color[] = {255, 0, 0}; +//bool incDec[] = {false, true, true}; +int currentColor = 1; +int colorIterator = 0; + +std::string updateColor() { + if (colorIterator >= 255) { + currentColor++; + colorIterator = 0; + } + if (currentColor > 2) { + currentColor = 0; + } + switch (currentColor) { + case 0: + if (color[0] < 255) { + color[0]++; + } + if (color[1] > 0) { + color[1]--; + } + if (color[2] > 0) { + color[2]--; + } + break; + case 1: + if (color[0] > 0) { + color[0]--; + } + if (color[1] < 255) { + color[1]++; + } + if (color[2] > 0) { + color[2]--; + } + break; + case 2: + if (color[0] > 0) { + color[0]--; + } + if (color[1] > 0) { + color[1]--; + } + if (color[2] < 255) { + color[2]++; + } + break; + default: + break; + + } + + colorIterator++; + return COLOR_ANSI + std::to_string(color[0]) + ";" + std::to_string(color[1]) + ";" + std::to_string(color[2])+ "m"; +} + + +int main() { + //printf("Hello World!\n"); + std::system("clear"); + string input = "Scrolling text in C++! "; + input += input; + input += input; + input += input; + string colorStr = ""; + for (int i = 0;; ++i) { + //printf("\033[H"); + //colorStr = updateColor(); + //printf ("RGB: %u, %u, %u; colorIterator: %u; currentColor: %u\n", color[0], color[1], color[2], colorIterator, currentColor); + //printf("\n %d ", (i + 1)); + for (int j = 0; j < input.size() - 1; ++j) { + printf("%s%c", updateColor().c_str(), input.at(j)); + //updateColor(); + } + cout << "\n"; + //printf("%s %d %s\n", colorStr.c_str(), (i + 1), input.c_str()); + + input = input.substr((input.size() - 1), input.size()) + input.substr(0, (input.size() - 1)); + usleep(100000); + // Clear screen + //std::system("clear"); + } + return 0; +}