Ecran matrix bis

Soyez le premier à donner votre avis sur cette source.

Vue 7 120 fois - Téléchargée 241 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

Messages postés
91
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
31 août 2004

faut utiliser econio tu fait:
#include<econio.h>
tu peut trouver la librairie sur se site ou sinon je peux toujours te le mailler il fait 4ko
Messages postés
3
Date d'inscription
mardi 1 avril 2003
Statut
Membre
Dernière intervention
25 juin 2003

help
comment faire pour les color textcolor ou gotoxy en vc++ 6
4bad@caramail.com
Messages postés
232
Date d'inscription
samedi 11 mai 2002
Statut
Membre
Dernière intervention
27 octobre 2007

euh, mavric, suis pas dac avec toi...
en fait y a les deux...y a hiragana, et katakana, regarde bien, y a des kanjis qui trompe pas...^^
voila++
Messages postés
13
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
28 septembre 2003

rectif j'avais pas les yeux en face d trou c de l'hiragana
Messages postés
13
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
28 septembre 2003

si tu veux rendre encore plus realiste, pour ceux qui n'aurraient pas remarque le code qui s'affiche a l'ecran c du japonais, et entre autre on a droit en a du katagana avec tres rarement quelques caractere chinois, en changeant la librairie de caractere et en prenant celle du katagana, vous optiendriez casiment la meme chose que le veritable ecran de matrix.
Parcontre je vous laisse chercher pour trouver comment on le fait.Je v pas tous faire pour vous qd meme ;) (enfait je c pas comment on fait et g pas envie de chercher pour le moment :) )
Afficher les 19 commentaires

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.