[dev-c++]effet matrix

Soyez le premier à donner votre avis sur cette source.

Vue 5 170 fois - Téléchargée 292 fois

Description

Je sais qu'il y a déjà pas mal de source la dessus, mais j'ai remarqué que la plupart était assez éloignée de l'effet du film. Je pense que ce code est proche de l'effet du film sans, malheureusement, les caractères japonais.
Le fichier ZIP comprend, en plus du fichier source, un executable.

Source / Exemple :


#include <iostream>
#include <stdlib.h>
#include <conio.c>

int main(int argc, char *argv[])
{
    textcolor(10);
    unsigned int y[79];
    unsigned int ymin[79];
    unsigned int a,b;
    char i[36] ={48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90};
   for ( a = 0; a < 79; a++) 
    {
        y[a] = 0;
        ymin[a] = 1;
    }
    do
    {
        for(unsigned int x = 0; x < 79; x++)
        {
            for(unsigned int j = 0; j < 5; j++)
            {   
                a = rand()%79;
                if ( y[a] != 0 )
                {   
                    b = rand()%y[a]+ymin[a];
                    if ( b < 26 )
                    {
                        if ( b < ymin[a] + 2 & b > 2) textcolor(2);                               
                        gotoxy(a + 1,b);
                        cout << i[rand()%36];
                        textcolor(10);
                    }
                }
            }
            if (y[x] != 0 || (rand()%50) == 0)
            {
                if ( (rand()%(y[x]+1)) < 20 & ymin[x] == 1 ) 
                {
                     y[x]++;
                }
                else  
                {
                    gotoxy(x + 1,ymin[x]);
                    cout << " ";
                    ymin[x]++;
                    if (ymin[x] < 25)
                    {
                        textcolor(2);
                        gotoxy(x + 1,ymin[x] + 1);
                        cout << i[rand()%36];
                        textcolor(10);
                    }
                }
                if ((y[x] + ymin[x]) < 26)
                {
                    gotoxy(x + 1,y[x] + ymin[x]);
                    textcolor(15);
                    cout << i[rand()%36];
                    textcolor(10);
                }
                if  ((y[x] + ymin[x]) < 27)
                {   
                    gotoxy(x + 1,y[x] + ymin[x] - 1);
                    cout << i[rand()%36];
                }
            }
            if (ymin[x] > 25) 
            {
                ymin[x] = 1;
                y[x] = 0;
            }
        }
        Sleep(35);
  }while(!kbhit());
  return 0;
}

Conclusion :


Vous trouverais des commentaires sur ce code dans le fichier source. Je sais que ce code n'est pas un chef-d'oeuvre mais soyez indulgent dans vos remarques car je débute, eviter les critiques gratuites.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

eh bien je vais probablement dire une bêtise mais je ne pense pas que DOS intègre une police unicode. En tout cas, si c'est possible je ne sais pas t'aider, j'en suis désolé.
Je sais par contre que tu peux utiliser des wchar_t qui contiennent des caractères codés sur 2 octets plutôt qu'un seul comme les char.
Du coup les possibilités sont énormes, et ça te crée des caractères bizarres ^^
Pour générer des caractères ascii, on fait char bla = chiffre; (0 - 255)
Alors je suppose que tu peux faire pareil en mettant wchar_t et en utilisant un nombre plus grand. Fais un essai, moi je suis bof là dedans :-s
Messages postés
9
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
24 juin 2003

Merci pour le compliment Kirua. Je vais essayer de mettre de l'unicode dans le code.
Si tu as une idée, n'hésite pas à la dire.
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

tu peux essayer de génrer les caractères depusi un code UNICODE (pr les caractères jap).
Très bel effet en tout cas
Messages postés
9
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
24 juin 2003

Je te remercie FireDraGon. Dans le film il y a :
-des caractères japonais,
-des chiffres arabes
-des signes comme *,+,=,<,etc
qui défilent.Je sais comment faire pour les deux derniers mais par contre, je ne sais pas afficher des caractères japonais. Si tu as une idée, dis la moi, stp.
Messages postés
21
Date d'inscription
mardi 23 avril 2002
Statut
Membre
Dernière intervention
12 juillet 2004

Excellent effect. Je regrette une seule chose : dommage qu'il n'y pas de symbole bizard qui défilent plustot que des lettres et des chiffres
Afficher les 7 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.