begin process at 2010 02 10 13:15:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > CHIRACWORLD (VC++ 5.0)

CHIRACWORLD (VC++ 5.0)


 Information sur la source

Note :
6,5 / 10 - par 6 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Niveau :Expert Date de création :26/01/2002 Date de mise à jour :26/01/2002 02:15:00 Vu / téléchargé :8 190 / 395

Auteur : Croqmort

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

 Description

Cliquez pour voir la capture en taille normale
voila un petit jeu bien sympathique et qui va pas faire plaisir a chirac :)
ce jeu n'est pas fait pour critiquer la politique, c juste pasque je savais pas quoi programmer !

le but de se jeu est extremement simple : il faut choper les billets et eviter les cassettes mery !
avec les fleches gauche et droite on se deplace et avec la fleche du haut on fait lever les mains de chirac.
pour choper des billets ou des cassettes mery, il faut lever les mains.

le plus dur dans ce jeu ça à été de trouver, modifier et faires les images !

le code source est horrible, y'as aucun commentaire, et en plus je fait un gros mix prog objet / prog structuré , bref vous allez adorer...
de plus les quelques commentaire sont en fait des parties de source que j'ai desactivé ou alors des bout de source qui correspondent à plus rien pasque la source a trop changer !
j'essayerai lors des prochaines mise a jour de faire un petit effort !

voici un petit bout du code source (chirac.cpp), le reste est dans le zip !
j'ai du virer l'image de fond pasque sinon le zip fesait plus de 200 ko et ne passait pas !
donc pour pouvoir jouer il faut creer un fichier bitmap non compressé nommé : fond.bmp
désolé !  

Source

  • #include <windows.h>
  • #include <time.h>
  • #include <stdio.h>
  • #include "Graphique.h"
  • #include "Entree.h"
  • #include "Gest_Media.h"
  • #include "pepere.h"
  • #include "billet.h"
  • #include "cassette.h"
  • struct position{
  • double x,y;
  • };
  • #define UPDATE_FRAME_RATE 32
  • Entree *LPEntree;
  • //LPDIRECTSOUND LPDirectSound;
  • //STR_joueur Joueur;
  • // Pour le thread principal :
  • HICON hIcon;
  • HCURSOR hCursor;
  • HWND HFenetre_principale;
  • DWORD LastGetTick, NewGetTick;
  • DWORD Images_par_seconde;
  • double DBLTemp;
  • bool Alerte,btn[3],En_Jeu;
  • int Vitesse_du_jeu, tempus = 0,tbl_dbg[1000],tbl_dbg_i,x,y,OldCase;
  • char kbd[256];
  • position souris;
  • int Score;
  • pepere Chirac;
  • billet Billet,*B;
  • cassette Cassette,*C;
  • bonus **Obj;
  • /////////// FUNCTIONS ///////////
  • LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
  • int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
  • int Update_Frame();
  • int Update_Frame_Jeu();
  • int Update_Frame_Start();
  • /////////// FUNCTIONS => WinMain ///////////
  • int WINAPI WinMain(HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil){
  • HWND hwnd;
  • MSG msg;
  • WNDCLASSEX wincl;
  • int i;
  • srand( (unsigned)time( NULL ) );
  • wincl.hInstance = hThisInstance;
  • wincl.lpszClassName = "Chirac";
  • wincl.lpfnWndProc = WindowProcedure;
  • wincl.style = CS_HREDRAW|CS_VREDRAW|CS_BYTEALIGNWINDOW;
  • wincl.cbSize = sizeof(WNDCLASSEX);
  • hIcon = LoadIcon(NULL, IDI_APPLICATION);
  • wincl.hIcon = hIcon;
  • wincl.hIconSm = hIcon;
  • hCursor = LoadCursor(NULL, NULL);
  • wincl.hCursor = hCursor;
  • wincl.lpszMenuName = NULL;
  • wincl.cbClsExtra = 0;
  • wincl.cbWndExtra = 0;
  • wincl.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);
  • if(!RegisterClassEx(&wincl)) return 0;
  • hwnd = CreateWindowEx(0,"Chirac","Chirac World",WS_POPUP,0,0,GetSystemMetrics(SM_CXSCREEN)/2,GetSystemMetrics(SM_CYSCREEN)/2,NULL,NULL,hThisInstance,NULL);
  • HFenetre_principale = hwnd;
  • ShowWindow(hwnd, nFunsterStil);
  • UpdateWindow(hwnd);
  • //if(DirectSoundCreate(NULL, &LPDirectSound, NULL)!=DS_OK) exit(1);
  • //if(LPDirectSound->SetCooperativeLevel(hwnd, DSSCL_PRIORITY)!=DS_OK) exit(1);
  • //if((i=Init_Media(hwnd))!=1) exit(i);
  • if(Init_Media(hwnd)!=1) exit(0);
  • Chirac.SetGraphClass(LPGraph);
  • Chirac.SetSpriteGDHB(Media.pDDSChirac[0],Media.pDDSChirac[2],Media.pDDSChirac[3],Media.pDDSChirac[1],0,0,0,0,0);
  • Chirac.SetXY(280,380);
  • Chirac.Set_ZS(2,97,48,98);
  • Cassette.SetGraphClass(LPGraph);
  • Cassette.SetSpriteGDHB(
  • Media.pDDSCassette[0],
  • Media.pDDSCassette[0],
  • Media.pDDSCassette[1],
  • Media.pDDSCassette[2],
  • Media.pDDSCassette[3],0,0,0,0);
  • Cassette.ZS_Egal_Taille_Img();
  • Cassette.SetXY(100,-50);
  • Billet.SetGraphClass(LPGraph);
  • Billet.SetSpriteGDHB(
  • Media.pDDSBillet[0],
  • Media.pDDSBillet[0],
  • Media.pDDSBillet[1],
  • Media.pDDSBillet[2],
  • Media.pDDSBillet[3],0,0,0,0);
  • Billet.ZS_Egal_Taille_Img();
  • Billet.SetXY(100,-50);
  • Obj = (bonus**) malloc(sizeof(bonus*)*10);
  • for(i = 0;i < 10;i++){
  • B = new billet(Billet);
  • B->SetXY(rand()%590,-50*(i+1));
  • Obj[i] = B;
  • }
  • LPEntree = new Entree;
  • LPEntree->initialise(hwnd, hThisInstance);
  • NewGetTick = GetTickCount();
  • while(true)
  • if( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) ){
  • if( !GetMessage( &msg, NULL, 0, 0 ) ) return msg.wParam;
  • TranslateMessage(&msg);
  • DispatchMessage(&msg);
  • }else{
  • NewGetTick = GetTickCount();
  • if((NewGetTick-LastGetTick)>UPDATE_FRAME_RATE){
  • LastGetTick = NewGetTick;
  • Update_Frame();
  • }
  • }
  • }
  • /////////// FUNCTIONS => WindowProcedure ///////////
  • LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
  • int i;
  • switch(message){
  • case WM_SETCURSOR:
  • SetCursor(hCursor);
  • return TRUE;
  • break;
  • case WM_DESTROY:
  • for(i = 0;i < 10;i++){
  • delete Obj[i];
  • }
  • free(Obj);
  • Free_Media();
  • //LPDirectSound->Release();
  • delete LPEntree;
  • DestroyIcon(hIcon);
  • DestroyCursor(hCursor);
  • PostQuitMessage(1);
  • break;
  • default:
  • return DefWindowProc(hwnd, message, wParam, lParam);
  • }
  • return 0;
  • }
  • /////////// FUNCTIONS => Update_Frame ///////////
  • int Update_Frame(void){
  • tempus++;
  • LPEntree->GetEtatTouch((char *)&kbd);
  • LPEntree->Getposrel(&x,&y,(bool *)&btn);
  • Update_Frame_Jeu();
  • LPGraph->flip();
  • return 1;
  • }
  • void NouveauBonus(int i){
  • delete Obj[i];
  • switch(rand()%100){
  • case 0:case 1:case 2:case 3:case 4:case 5:
  • case 6:case 7:case 8:case 9:case 10:
  • C = new cassette(Cassette);
  • Obj[i] = C;
  • break;
  • default:
  • B = new billet(Billet);
  • Obj[i] = B;
  • }
  • Obj[i]->SetXY(rand()%590,-50*(i+1));
  • }
  • int Update_Frame_Jeu(){
  • char texte[512];
  • int i;
  • LPGraph->Dessine(Media.pDDSFond,0,0);
  • if(kbd[DIK_LEFT]) Chirac.DeplacementRelatif(-5,0);
  • if(kbd[DIK_RIGHT]) Chirac.DeplacementRelatif(5,0);
  • if(kbd[DIK_UP]) Chirac.DeplacementRelatif(0,-5);
  • Chirac.Bouge(1);
  • Chirac.Dessine();
  • for(i = 0;i < 10;i++){
  • if(!Obj[i]->Bouge(1)) NouveauBonus(i);
  • Obj[i]->Dessine();
  • if(Chirac.Touch(*Obj[i])){
  • Score += Obj[i]->Score();
  • NouveauBonus(i);
  • }
  • }
  • sprintf(texte,"Score : %d",Score);
  • LPGraph->ecrire(10,10,texte,RGB(255,0,0),1);
  • if(kbd[DIK_ESCAPE]||kbd[DIK_F12]){
  • PostMessage(HFenetre_principale, WM_CLOSE, 0, 0);
  • }
  • return true;
  • }
#include <windows.h>
#include <time.h>
#include <stdio.h>

#include "Graphique.h"
#include "Entree.h"
#include "Gest_Media.h"
#include "pepere.h"
#include "billet.h"
#include "cassette.h"

struct position{
	double x,y;
};
#define UPDATE_FRAME_RATE	32


Entree		*LPEntree;
//LPDIRECTSOUND	LPDirectSound;

//STR_joueur	Joueur;

// Pour le thread principal :
HICON	hIcon;
HCURSOR	hCursor;
HWND	HFenetre_principale;
DWORD	LastGetTick, NewGetTick;
DWORD	Images_par_seconde;
double	DBLTemp;
bool Alerte,btn[3],En_Jeu;
int Vitesse_du_jeu, tempus = 0,tbl_dbg[1000],tbl_dbg_i,x,y,OldCase;
char kbd[256];
position souris;
int Score;
pepere Chirac;
billet Billet,*B;
cassette Cassette,*C;

bonus **Obj;


/////////// FUNCTIONS ///////////

LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int);

int Update_Frame();
int Update_Frame_Jeu();
int Update_Frame_Start();

/////////// FUNCTIONS => WinMain ///////////

int WINAPI WinMain(HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil){
	HWND		hwnd;
	MSG			msg;
	WNDCLASSEX	wincl;
	int i;

	srand( (unsigned)time( NULL ) );
	wincl.hInstance = hThisInstance;
	wincl.lpszClassName = "Chirac";
	wincl.lpfnWndProc = WindowProcedure;
	wincl.style = CS_HREDRAW|CS_VREDRAW|CS_BYTEALIGNWINDOW;
	wincl.cbSize = sizeof(WNDCLASSEX);
	hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wincl.hIcon = hIcon;
	wincl.hIconSm = hIcon;
	hCursor = LoadCursor(NULL, NULL);
	wincl.hCursor = hCursor;
	wincl.lpszMenuName = NULL;
	wincl.cbClsExtra = 0;
	wincl.cbWndExtra = 0;
	wincl.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);
	if(!RegisterClassEx(&wincl)) return 0;
	hwnd = CreateWindowEx(0,"Chirac","Chirac World",WS_POPUP,0,0,GetSystemMetrics(SM_CXSCREEN)/2,GetSystemMetrics(SM_CYSCREEN)/2,NULL,NULL,hThisInstance,NULL);

	HFenetre_principale = hwnd;
	ShowWindow(hwnd, nFunsterStil);
	UpdateWindow(hwnd);

	//if(DirectSoundCreate(NULL, &LPDirectSound, NULL)!=DS_OK)  exit(1);
    //if(LPDirectSound->SetCooperativeLevel(hwnd, DSSCL_PRIORITY)!=DS_OK) exit(1);
	
	//if((i=Init_Media(hwnd))!=1) exit(i);
	if(Init_Media(hwnd)!=1) exit(0);

	Chirac.SetGraphClass(LPGraph);
	Chirac.SetSpriteGDHB(Media.pDDSChirac[0],Media.pDDSChirac[2],Media.pDDSChirac[3],Media.pDDSChirac[1],0,0,0,0,0);
	Chirac.SetXY(280,380);
	Chirac.Set_ZS(2,97,48,98);

	Cassette.SetGraphClass(LPGraph);
	Cassette.SetSpriteGDHB(
		Media.pDDSCassette[0],
		Media.pDDSCassette[0],
		Media.pDDSCassette[1],
		Media.pDDSCassette[2],
		Media.pDDSCassette[3],0,0,0,0);
	Cassette.ZS_Egal_Taille_Img();
	Cassette.SetXY(100,-50);
	
	Billet.SetGraphClass(LPGraph);
	Billet.SetSpriteGDHB(
		Media.pDDSBillet[0],
		Media.pDDSBillet[0],
		Media.pDDSBillet[1],
		Media.pDDSBillet[2],
		Media.pDDSBillet[3],0,0,0,0);
	Billet.ZS_Egal_Taille_Img();
	Billet.SetXY(100,-50);
	Obj = (bonus**) malloc(sizeof(bonus*)*10);

	for(i = 0;i < 10;i++){
		B = new billet(Billet);
		B->SetXY(rand()%590,-50*(i+1));
		Obj[i] = B;
	}
	
	

	LPEntree = new Entree;
	LPEntree->initialise(hwnd, hThisInstance);

	NewGetTick = GetTickCount();
	
	while(true)
		if( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) ){
			if( !GetMessage( &msg, NULL, 0, 0 ) ) return msg.wParam;
			TranslateMessage(&msg); 
			DispatchMessage(&msg);
		}else{
			NewGetTick = GetTickCount();
			if((NewGetTick-LastGetTick)>UPDATE_FRAME_RATE){
				LastGetTick = NewGetTick;
				Update_Frame();
			}
		}
}

/////////// FUNCTIONS => WindowProcedure ///////////
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
	int i;
	switch(message){
		case WM_SETCURSOR:
			SetCursor(hCursor);
			return TRUE;
		break;
		case WM_DESTROY:
			
			for(i = 0;i < 10;i++){
				delete Obj[i];
			}
			free(Obj);
			
			Free_Media();
			//LPDirectSound->Release();
			delete LPEntree;
			DestroyIcon(hIcon); 
			DestroyCursor(hCursor);
			PostQuitMessage(1);
		break;
		default:
			return DefWindowProc(hwnd, message, wParam, lParam);
	}
	return 0;
}

/////////// FUNCTIONS => Update_Frame ///////////

int Update_Frame(void){
	tempus++;
	
	LPEntree->GetEtatTouch((char *)&kbd);
	LPEntree->Getposrel(&x,&y,(bool *)&btn);
	
	Update_Frame_Jeu();
	LPGraph->flip();
	return 1;
}

void NouveauBonus(int i){
	delete Obj[i];
	switch(rand()%100){
		case 0:case 1:case 2:case 3:case 4:case 5:
		case 6:case 7:case 8:case 9:case 10:
			C = new cassette(Cassette);
			Obj[i] = C;
		break;
		default:
			B = new billet(Billet);
			Obj[i] = B;
	}
	Obj[i]->SetXY(rand()%590,-50*(i+1));
}

int Update_Frame_Jeu(){
	char texte[512];
	int i;
		
	LPGraph->Dessine(Media.pDDSFond,0,0);

	if(kbd[DIK_LEFT])	Chirac.DeplacementRelatif(-5,0);
	if(kbd[DIK_RIGHT])	Chirac.DeplacementRelatif(5,0);
	if(kbd[DIK_UP])		Chirac.DeplacementRelatif(0,-5);
	Chirac.Bouge(1);
	Chirac.Dessine();
	
	for(i = 0;i < 10;i++){
		if(!Obj[i]->Bouge(1)) NouveauBonus(i);
		Obj[i]->Dessine();
		if(Chirac.Touch(*Obj[i])){
			Score += Obj[i]->Score();
			NouveauBonus(i);
		}
	}
	sprintf(texte,"Score : %d",Score);
	LPGraph->ecrire(10,10,texte,RGB(255,0,0),1);
	if(kbd[DIK_ESCAPE]||kbd[DIK_F12]){
		PostMessage(HFenetre_principale, WM_CLOSE, 0, 0);
	}
	return true;
}
   

 Conclusion

désoler pour ceux qui sont de droite ... et les profs qui aiment les programmes bien structuré et commenté :) je prone l'anarchie dans les codes sources !!!
j'essayerai de faire un mise a jour avec un code un peu plus "correct" :)  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

LEPENWORLD : JEU AVEC LEPEN [VC++ 5.0][DIRECTX 7.0]
Source avec Zip Source avec une capture CLIENT IRC (VC++ 5.0)
Source avec Zip COMPRESSION RLE (VC++ 5.0)
EFFET DE FLAMME (SOUS DOS EN 320*200) (BC++)
Source avec Zip DIRECT DRAW, SOUND / HELLO WORLD (VC++ 5.0)

 Sources de la même categorie

Source avec Zip Source avec une capture PLUS OU MOINS par antho974
Source avec Zip Source avec une capture TETRIS EN C++ AVEC SDL par Marmalus
Source avec une capture DÉMINEUR SOUS TERMINAL par aom333
Source avec Zip JEU: MARIO SOKOBAN par astro53
Source avec Zip JEU PUISSANCE IV par ElendilAranwe

Commentaires et avis

Commentaire de mastave le 01/02/2002 17:14:20

Il faut avouer que le jeu en lui même est pas mal du tout.
MAIS J'ESPERE QUE TU ES EFFECTIVEMENT BIEN DESOLE POUR CEUX QUI SONT DE DROITE!!!(je sens que je vais bientôt faire un petit jeu avec lionel jospin!)...
Mais j'avoue, que même moi je me suis bien pris a ce jeu.
Bon courage(ta prochaine cible, ce sera madelin??)

Commentaire de Croqmort le 01/02/2002 22:06:14

en fait c sur ce "pauvre" chirac que j'ai trouver le plus de photo (sur le site de l'elysee pour etre precis :) ) mais si qq1 à des photos d'autre homme politique pas de probleme je suis prés a attaque les autres :)
on pourrai meme faire une compil ou on choisi le personnage que l'on veut incarné !

Commentaire de Lightness1024! le 23/03/2002 11:45:11

une belle réalisation technologique.
par contre je c pas si ca ne le fait ke chez moi mais ya pas de clear enfin je peu dire ke toutes les images laissent des trainées

Commentaire de Croqmort le 23/04/2002 11:49:08

c'est pasque tu n'as pas mis d'image de fond, je le precise dans l'intro :
"j'ai du virer l'image de fond pasque sinon le zip fesait plus de 200 ko et ne passait pas !
donc pour pouvoir jouer il faut creer un fichier bitmap non compressé nommé : fond.bmp
désolé ! "
voila mais surtout faut pas oublier de voter chirac car il est quand meme moin pourri que lepen (qui va pas tarder a avoir un jeu a son nom egalement) !
moi qui suit de gauche je vais devoir voter pour chirac :(

Commentaire de ertjrtjrtj le 06/03/2003 03:53:11

moi je suis ebidex

Commentaire de AmK le 21/03/2003 19:04:54

salut tout le monde!
belle source!
tres belle source meme!
en ce qui concerne chirac on peut dire qu'il a fait du bon boulot pour la guerre en irak :)
a++

Commentaire de lolo252 le 02/05/2003 10:52:29

moi j'ai VC6, j'ai donc converti le projet
mais il aime pas "typedef LPDIRECTDRAWSURFACE7 Sprite;" !!!

Commentaire de BumpMANN le 26/05/2003 01:13:14

Bizzard...

Commentaire de Croqmort le 26/05/2003 11:45:04

verifie si la sdk de direct X d'une version superieur ou egal a 7.0 est bien installer. dans ton repertoire include de VC++ verifie dans ddraw.h si LPDIRECTDRAWSURFACE7 est bien defini

Commentaire de BumpMANN le 26/05/2003 12:29:59

Si c'était ça, y'aurait surement pas qu'une erreur, non?

Commentaire de BumpMANN le 26/05/2003 12:48:23

Le problème, c'est que tu as oublié de mettre "chirac.h" dans ta source... c'est embêtant...

Commentaire de BumpMANN le 26/05/2003 12:54:53

Nan pasqu'y a pas qu'une erreur quoi. y'en a 4.

Commentaire de Croqmort le 27/05/2003 02:10:16

c'est un vieux prog, je me rappel pu trés bien comment j'avais coder ça, mais je suppose que si chirac.h existé j'aurai mis un #include "chirac.h" dans chirac.cpp.
generalement je creer pas de .h pour mon fichier principal, a tord ou a raison, j'en sais rien c une habitude ;)
et ce qui me fait dire que c peut etre du a une mauvaise installation de la sdk.
LPDIRECTDRAWSURFACE devrait etre defini dans ddraw.h que j'inclu dans graphique.h :
#include &lt;ddraw.h&gt;

typedef unsigned int HIMG;
typedef LPDIRECTDRAWSURFACE7 Sprite;
si vous me donnez plus de precision sur les erreurs qu'ils fait je pourrai peut etre vous aider.
a l'epoque j'avais pas de probleme, je compiler ça avec vc++5.0 avec la SDK7.0 de directX.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,671 sec (3)

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