begin process at 2012 05 27 15:43:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > [DJGPP & ALLEGRO] MATRIX

[DJGPP & ALLEGRO] MATRIX


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caractères Classé sous :djgpp, allegro, matrix Niveau :Débutant Date de création :07/03/2002 Date de mise à jour :08/03/2002 11:08:05 Vu :3 701

Auteur : GoldenEye

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

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

  • // 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;
  • }
// 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    


 Sources du même auteur

Source avec Zip Source avec une capture TILE MAP EDITOR 2.4
Source avec Zip Source avec une capture CHAT MULTITHREAD
Source avec Zip Source avec une capture ALGORITHME A*
Source avec Zip TRANSFORMÉE DE FOURIER : REPRÉSENTATION GRAPHIQUE [VC++ ET A...
Source avec Zip [VC++] COMPRESSION DE HUFFMAN+TUTORIEL

 Sources de la même categorie

CALCUL DE CLEF RIB par Renfield
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper
Source avec Zip LIBRAIRIE LANGUAGES par astro53

 Sources en rapport avec celle ci

Source avec Zip EVALUATEUR D'EXPRESSION ARITHMÉTIQUE par matrx180vTitanium
Source avec Zip MATRICE CREUSE par belhauss
Source avec Zip TESTCOLOR par WiKonSoN
Source avec Zip Source avec une capture JEU DE PLATEFORME (ALLEGRO) par Darksheep
Source avec Zip Source avec une capture SQUELETTE DE JEU DE PLATEFORME : (ALLEGRO) par Darksheep

Commentaires et avis

Commentaire de Jackboy le 17/03/2002 03:53:15

#include "allegro.h" tu fait quoi avec sa ......

Commentaire de GoldenEye le 19/03/2002 23:28:25

Tu te connais pas allegro, la célèbre librairie graphique de Shawn Hargreaves ???
www.allegro.cc pour la downloader
Mailes moi si tu as un prob

Commentaire de fred1647 le 12/03/2004 19:10:49

salut goldeneye,

je suis en galère sur allegro il tourne pas y a des bug comme #include "internal/alconfig.h" help

Commentaire de NeoZ le 10/10/2004 16:05:38

slt, le code c en c ou c++ ? :p merci ;) xD

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Allegro/DJGPP installation et information divers [ par ktzal ] Bonjour, Je voudrais me servir d'Allegro (la librarie graphique) et pour cela j'ai install&#233; DJGPP... Mais voil&#224; le tout me fonctionne pa Allegro : erreur : "Suitable graphics driver" [ par ktzal ] Bonjour, J'ai un probleme avec allegro lorsque je l'execute celui ci m'affiche : "Unable to find a suitable graphics driver" Bon j'ai fait un petit SDL ou ALLEGRO ? [ par vincelefou ] Bonjour, J&#146;ai une question &#224; vous posez sur les biblioth&#232;ques graphiques ( -&gt; c&#146;est pour faire une petite appli en 2D avec Dev Pb de destructeur [ par Stubbornman ] Salut a tous, j'ai un pb de destructeur que je n'arrive pas a resoudre: Mon constructeur: template inline Matrix::Matrix( int row, int column ) Utilisation d'Allegro en mode fenêtré sous Windows [ par pondpond ] Bonjour, Je solicite l'aide de personnes qui maitrisent l'utilisation d'Allegro en C. J'aimerais savoir si lorsque l'on utilise cette bibliothèque en allegro et Dev-cpp [ par michelfallet ] J'ai tout install&#233; (sous XP) dev cpp derni&#232;re version +&nbsp; allegro et la compilation a fonctionn&#233; suivant la m&#233;thode donn&#233; allegro+dev-cpp [ par michelfallet ] J'ai tout install&#233; (sous XP) dev cpp derni&#232;re version +&nbsp; allegro et la compilation a fonctionn&#233; suivant la m&#233;thode donn&#233; Timer avec allegro [ par Florian_88 ] Salut a tous, voila j'ai commencer un projet de jeux de plate-forme avec allegro mais j'ai un probleme avec les timers je ne comprend pas du tout comm Manipulation de matrices en C. [ par T TeKa K ] Hello les gens! Je viens quemander de l'aide afin de me sortir de ce programme qui me prend la tete. But de l'exericice: creer un programme qui m allegro et la pysique [ par huben ] je voudrais savoir si il &#233;tait possible d'inclure un peu de physique (et surtout savoir si il existe une technique) dans un jeu&nbsp; (allegro) s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,186 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales