Matrix Prog verbessern

Adi | tmine

Erfahrenes Mitglied
Hi Ich suche nach Ideen wie ich mein "Matrix" Programm verbessern könnte, damit es echter aussieht...

Info:
Es handelt sich um C.

hier mal der Code:
Code:
/* Matrixstyle.c */
/* -----------------------------------
Autor: Adrian Bertschi
Datum 2.10.2006
Beschreibung: Matrix 
-----------------------------------
*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <dos.h>
#include <conio.h>

int a(){
 printf("    ");   
}
int b(){
 printf(" ");   
}
int c(){
 printf("     ");   
}

int main()
{
     //Zufallsgenerator inizialisieren
     srand(time(0));
     //Variablen deklarieren
     int zufallszahl, zufallszahl2, zahl;
     int i=2, zaehler=0;
     char abstand=' ';
     system("color 2");
       
     while(i>0){
     zaehler++;
     zufallszahl = rand() % 10;
     zufallszahl2 = rand() % 10;
     zahl = rand() %4;
     if (zahl==1) a();
     if (zahl==2) b();
     if (zahl==2) c();
     if (zaehler==5) {
        sleep(3);
        zaehler=0;
     }
     printf("%i %i ", zufallszahl, zufallszahl2);           
     }
}

hier der download :http://pfanneradi.pf.funpic.de/downloads/c source/matrix.c
 
hmm ja danke hab grad gemerkt das das ne kluger Ansatz wäre, am anfang Settings zu machen, weil jeder hat einen danderen Prozesser, daher ises unterschiedlich schnell :D
vielen Dank für den Tipp :D sonst noch was?

z.B. wollt ichs mal so umsetzten, das solche zeichenketten von oben runter kommen,... und so aber ich weiss nicht wie ich das hinbekomme :(
 
einfach geil wohl es hier im Fourm noch ein besseres gibt aber egal.

Dein code hat mir sehr weiter geholfen.

DAnke

Wie lang Programmierst du schon C++?
 
So. du willst also das die Zahlen / Zeichen von oben nach unten gehen?

Probier mal folgenden funktionierenden von mir selbst auf die schnelle gtexchrieben C++ Code aus:
C++:
/*
 *
 *Made by Drache2
 *Copyright: Gibt keins. Darf wofür auch immer verwendet werden
 *
*/

#include <iostream>
#include <windows.h>
#include <winuser.h>
#include <process.h> //Für Threads benötigt
#include <conio.h>
#include <time.h>



void _settextposition(int x, int y) //Setzt den Textzeiger um
    {
        COORD coordScreen;
        coordScreen.X = x;
        coordScreen.Y = y;
        SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), coordScreen);
    }

#define Textposition(x,y) _settextposition(x,y)

    void textcolor(WORD color) { // Funktion um die Textfarbe zu verändern
        SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), color);
    };

    #define Textfarbe(Farbe)        textcolor(Farbe)

    #define Gruen       2

using namespace std;

char Tastendruck='\0'; //Variable mit der das Ende des Programms bestimmt wird wenn ESC gedrückt wird

VOID Tastendruck0 (PVOID pvoid){ //Tasteneingabethread (um dei Hauptschleife nicht zu behindern)

    while((Tastendruck=getch())!=27){ //Solange man nicht ESC drückt bleibt das Prog am laufen

    }

    Tastendruck=27;

    return;

}

int main () {


    srand(time_t()); //Zufallsgenerator aktivieren

    Textfarbe(Gruen); //Setzt Textfarbe auf dunkelgrüen

    _beginthread(Tastendruck0,0,NULL); //Startet Tastendruckeingabe

    int xpos=0; //Zum abspeichern des xwertes

    unsigned short Zahl=0; //Wird zum kontrolieren unerlaubter Zeichen benötigt

    char Zeichen='\0'; //Wird zum Anzeigen benötigt

    while(Tastendruck!=27){ //Hauptschleife

        xpos=rand()%80; //Zufallszahl für den xwert

        for(unsigned short y=0;y<25;++y){ //Zeichnet die Zeichen abwärts und generiert sie

            Textposition(xpos,y); //Setzt den Textzeiger an Position x,y

            Zahl=rand()%156-128; //ZUfalszahl die imm Rahmen der ASCII codes liegt

            if(Zahl!=10&&Zahl!=9&&Zahl!=7)cout<<(Zeichen=Zahl); //Spert unerwünschte Werte wie Absatz, Beep, Tabulator aus

            Sleep(20);

        }//Ender der forschleife

    }//Ende der Hauptschleife



}// End main

Dort werden eigentlich ale ASCII Zeichen verwendet.
Darfste auch frei verwenden.^^
Hoffe es hilft.

Beendet wird das rogramm mit ESC.

Solltest aber vllnach nem besseren Zufallsgenerator suchen.
srand(time_t()) ist nicht der beste^^

wenn des in C umändern willlst hilft es vll aus der Zeile

if(Zahl!=10&&Zahl!=9&&Zahl!=7)cout<<(Zeichen=Zahl);

das cout<<(Zeichen=Zahl);

in
C:
 if(Zahl!=10&&Zahl!=9&&Zahl!=7){
Zeichen=Zahl;
printf(Zeichen);//kein Plan wie man chars in C anzeigen lässt
}

umzuwandeln
 
Zuletzt bearbeitet:
Zurück