Ecran matrix bis

Description

et oui encore un programme matrix!!
ici j'ai voulu representer l'ecran des ordis ou le code defile verticalement...

Source / Exemple :


#include <iostream.h>
#include <stdlib.h>
#include <conio.c>
#include <time.h>
void lettre(int a,int b)
    {
    //cettefonction affiche un blanc en dessou du tampon
    //et un caractere aleatoire a la place du tampon

    //affiche un blanc s'il ne sort pas de l'ecran
    if(b<=23)
        {
        gotoxy(a,b+1);
        textcolor(255);//couleur blanche
        cout<<" ";
        }
    textcolor(3);
    gotoxy(a,b);
    cout<<(char)(rand()%245+10);
    }
int main()
{
textcolor(3);
srand(time(0));
int nsupr,necri,i;
cout<<"entrez la quantitée de tampon d'affichage et d'effacement :";
cin>>necri>>nsupr;
system("cls");
int supr[nsupr][2],ecri[necri][2],matr[81]={0};
//initialise les coordonées des tampon et les affiche a l'ecran
for(int x=0;x<necri;x++)
    {

    ecri[x][0]=rand()%79+1;
    ecri[x][1]=rand()%24+1;
    for(int y=1;y<=ecri[x][1];y++)
        {
        lettre(ecri[x][0],y);
        }
    }
//initialisation des coordonées des tampon d'effacement
for(int x=0;x<=nsupr;x++)
    {
    supr[x][0]=rand()%79+1;
    supr[x][1]=rand()%23+1;

    }

//jusque la le programme initialisai l'ecran

while(1)//boucle infinie (sisi j'vous jure!)
    {
    for(int x=0;x<necri;x++)
        {
        //appelle de fonction
        lettre(ecri[x][0],ecri[x][1]);
        //le tampon ce deplace vers le bas
        ecri[x][1]++;
        //si le tampon est en bas,il se replace en hau
        if(ecri[x][1]==25)
            {
            ecri[x][0]=rand()%79+1;
            ecri[x][1]=1;
            }
        }
        //idem por le tampon qui efface les caracteres
    for(int x=0;x<nsupr;x++)
        {

        supr[x][1]++;
        gotoxy(supr[x][0],supr[x][1]);
        cout<<" ";
        if(ecri[x][1]==24)
            {
            supr[x][0]=rand()%79+1;
            supr[x][1]=0;
            }
        }
        //pour eviter que le curseau se balade sur l'ecran
    gotoxy(1,1);
    Sleep(20);
    }
}

Conclusion :


il y a un bug: il y a des blanc qui restent imobiles sur l'ecran. je sais pas du tout d'ou ca vient.si quelqun trouve sa m'arangerais.
prochainement je pensse l'ameliorer en creant une liste de 80 quicontiendrai l'eta de chaque colone. ainssi un tampon n'irai pas sur une colone deja ecrite...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.