Загрузка...

Эффект матрицы (console program c++)

Тема в разделе C/C++ создана пользователем wtb24 13 ноя 2017. 879 просмотров

Загрузка...
  1. wtb24
    wtb24 Автор темы 13 ноя 2017 Заблокирован(а) 29 2 июл 2017
    Код

    #include <iostream>
    #include <windows.h>

    int Modulus(int iN, int iMod) {
    int iQ = (iN/iMod);
    return iN - (iQ*iMod);
    }

    char GetChar(int iGenerator, char cBase, int iRange) {
    return (cBase + Modulus(iGenerator, iRange));
    }

    int main() {
    // Color code
    HANDLE hConsole;
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, 2);

    char caRow[80];
    int j = 7;
    int k = 2;
    int l = 5;
    int m = 1;
    while (true) {
    int i = 0;
    // Output a random row of characters
    while (i < 80) {
    if (caRow[i] != ' ') {
    caRow[i] = GetChar(j + i*i, 33, 30);
    if (((i*i + k) % 71) == 0) {
    SetConsoleTextAttribute(hConsole, 7);
    } else {
    SetConsoleTextAttribute(hConsole, 2);
    }
    }
    std::cout << caRow[i];
    ++i;
    SetConsoleTextAttribute(hConsole, 2);
    }
    j = (j + 31);
    k = (k + 17);
    l = (l + 47);
    m = (m + 67);
    caRow[Modulus(j, 80)] = '-';
    caRow[Modulus(k, 80)] = ' ';
    caRow[Modulus(l, 80)] = '-';
    caRow[Modulus(m, 80)] = ' ';
    // Delay
    Sleep(10);
    }
    return 0;
    }
     
Top