J'ai déjà laissé un prog du même type fait avec econio.h pour VC++
C'est le même mais pour DJGPP
C'est autrement plus beau
Source / Exemple :
// MATRIX BY GOLDENEYE
// Compilé avec DJGPP. Linux compatible
// Je vous préviens, c'est très condensé.
// Pour toute question/suggestion: herve.picard@int-evry.fr
#include "allegro.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N1 25 // rez du mode text (lignes)
#define N2 80 // (colonnes)
int main()
{
BITMAP *doublebuffer;
int N=1000; // indicateur de la charge de l'écran (voir algorithme)
int h,k,l,n,rnd;//rnd pour random
int ecran[N1][N2];// la matrice de l'écran en mode texte
srand(time(0));//intialisation du randomizer
allegro_init();
doublebuffer=create_bitmap(640,480);
clear(doublebuffer); //efface:on ne sait jamais
install_keyboard();
install_timer(); //pour ralentir le prog
set_gfx_mode(GFX_AUTODETECT,640,480,0,0); // essayer 800*600
while(key[KEY_ESC]==0) // tant qu'on a pas fait [ESC]
{// un premier passage à vide
rest(75); // se regarde le nombril pendant 75 ms
for(h=N1-1;h>0;h--) // lignes
{
for(l=0;l<N2;l++) //colonnes
{ // là ça devient rigolo: programmé à la GoldenEye
while(((rnd=48+rand()%74)<65&&rnd>57)||(rnd>90&&rnd<97)); //tant que c'est pas un chiffre ou une lettre
ecran[h][l]=(ecran[h-1][l]!=32?rnd:ecran[h][l]); // 32=code ASCII de l'espace
if(ecran[h][l]!=32&&h==N1-1) //si la colonne est pleine
for (k=0;k<N1;k++) //efface la colonne
ecran[k][l]=32; // 32=code de [SPC] pour les neuneus
textprintf(doublebuffer,font,l*8,h*19,2,"%c",ecran[h][l]);// affiche le caractère ASCII contenu dans la case ecran[h][l]
}//en effet 640/80=8 et 480/25=19
}
for(n=0;n<N2;n++) // première ligne tout en haut
{
rnd=rand()%N;
(!((rnd<48)||(rnd>57&&rnd<65)||(rnd>122)))?(ecran[0][n]=rnd):(ecran[0][n]=32); // si c pas une lettre ou un chiffre,on met un espace
}
vsync(); //synchro avec l'écran pour éviter les saloperies à l'écran
blit(doublebuffer,screen,0,0,0,0,640,480);// et hop, on swappe l'écran réel et l'écran virtuel
}
destroy_bitmap(doublebuffer); // pour être propre
allegro_exit(); //idem
return 0;
}
Conclusion :
Bug à herve.picard@int-evry.fr
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.