Ecran matrix bis

Soyez le premier à donner votre avis sur cette source.

Vue 7 657 fois - Téléchargée 253 fois

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

Ajouter un commentaire Commentaires
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
20 mai 2003 à 22:54
pour les blanc essay en mettant au debut du main
setcursortype(1) pour rendre le curseur invisible
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
20 mai 2003 à 23:00
en fait faut mettre setcursortype(0)
Krox68 Messages postés 157 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 11 septembre 2004 1
21 mai 2003 à 12:52
cette version a l'air plus réaliste
zanidip Messages postés 76 Date d'inscription lundi 30 septembre 2002 Statut Membre Dernière intervention 25 mars 2007
21 mai 2003 à 15:55
"en fait faut mettre setcursortype(0)"
je crois pas que ce soit ca mais cette fonction m'interesse. elle marche pas chez moi. faut quelle librairie???

"cette version a l'air plus réaliste"

bas oui mais c'est pas la meme
Galett Messages postés 115 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 21 mai 2005
21 mai 2003 à 17:28
aime bien le : "ici j'ai voulu representer l'ecran des ordis ou le code defile verticalement..."

pkoi d'habitude c'est pas le cas ?? :o)

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.