Matrix "Animation"
-
Hallo,
ich habe mich mal daran versucht so etwas ähnliches wie den "Matrix Screen" in der Konsole nachzuahmen. Wie man mit Sicherheit im Quelltext sieht, habe ich noch wenig Erfahrung was die C/C++ Programmierung angeht. Meine Mittel sind also sehr beschränkt
An folgenden Problem beiße ich mir die Zähne aus:
- Ich möchte den Text nicht unten anfügen, sonderen würde die Ausgabe gerne umdrehen so, das der Text eher "nach unten fließt" als wie jetzt "nach oben geschoben wird". Ich wollte den Wagenrücklauf "\r" für printf verwenden, allerdings wird mein Text dann einfach über schrieben, statt weitergeschoben.Mein Quelltext:
#include <stdio.h> #include <windows.h> #include <cstdlib> #include <conio.h> using namespace std; int main(){ keybd_event (VK_MENU, 0x38, 0, 0); keybd_event (VK_RETURN, 0x1c, 0, 0); keybd_event (VK_RETURN, 0X1c, KEYEVENTF_KEYUP, 0); keybd_event (VK_MENU, 0x38, KEYEVENTF_KEYUP, 0); int z[80],j=-1, zufall[80]; // j.. Laufvariable int zeichen; // z.. Zählvariable für Farbwechsel für jede Spalte short int zustand[80]; // zufall.. Anzahl bis Farbwechsel // zeichen.. Ausgabezeichen // Zustandspeicher für Farbe in der Spalte // zustand = 0 = grün // zustand = 1 = hellgrün // zustand = 2 = schwarz HANDLE hStdOut; hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); for (int i=0;i<80;i++) z[i]=0; for (int i=0;i<80;i++) zustand[i]=rand() % 3; for (int i=0;i<80;i++) zufall[i]=(rand()/(rand()/45)); while(1){ j++; z[j]++; // Schleife für Farbwechsel in den Spalten if (z[j]==zufall[j]){ zustand[j]=rand()%3; z[j]=0; } switch (zustand[j]){ case 0: SetConsoleTextAttribute(hStdOut, FOREGROUND_GREEN); break; case 1: SetConsoleTextAttribute(hStdOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY); break; case 2: break; } do { // Ermitteln des Zeichens zeichen=(33+(rand()%208)); }while(zeichen>179 && zeichen<224); if (zustand[j] !=2) printf("%c",zeichen); else printf(" "); if (j==79){ // Verzögerung am Zeilenende Sleep(80); j=-1; } if(kbhit()) // Abbruch bei Tastendruck { break; } } }
-
da gibts doch so ne schöne Seite wo solche Animationen in der Konsole gemacht werden, musst mal eventuell googlen.
-
Ich bin schonmal fündig geworden bezüglich eines Screensavers: http://elouai.com/the_matrix_screensaver.php
Allerdings übersteigt der Quellcode meine Kenntnisse und die Animation findet auch nicht mehr in der Konsole statt.
-
das schaut sehr nach nem virus aus ... habs gott sei dank nicht entpackt. eine .e datei ... wasn das?
-
Wo bitte siehst du eine '.e'-Datei?
Beziehungsweise in welchen Archiv?
-