Zelda (petit jeu mode console en c++)

Description

ZELDA est un petit jeu en mode console.

Ce jeu est composé de deux petits niveaux le but étant de tuer les petits bonhommes noirs (les nuckers) à l'aide du clavier numérique.
(Les touches 2,6,8,4 pour se déplacer et les touches 7,9,0 pour sortir son épée).

Le code source peut être certainement amélioré car il est très loin d'être parfait alors si vous avez des critiques à faire ou des conseils à me donner n'hésitez pas à les poster ou à me les envoyer par mail.
fantasydreams@free.fr

Source / Exemple :


/******************************************                                                                  

  • Programmed by Squallgamer
  • ZELDA
                                                                                    • /
#include <iostream.h> #include <math.h> #include <windows.h> #include <ctime> #include <conio.h> char tabl[20][20]; //Tableau de jeu niveau 1 char tabl2[20][20]; //Tableau de jeu niveau 2 int vie=1; int niveau1(); int niveau2(); //////////////////////////////////////////////////////////////////// int main() //Fonction principale { niveau1(); //Va à la fonction niveaux1 return 0; //Quitte le programme } //////////////////////////////////////////////////////////////////// int niveau1() { int static r=0; if(r==0) { cout <<"Bienvenue dans le jeu ZELDA niveau1!!!\n"; //Phrase d'intro cout <<"Le but est de tuer le petit nuckers qui a envahi la foret magique et emprisoner ton amie.\nPour cela bouger"; cout <<" le \02 pour cela utiliser les touches 2,6,4,8.\n";r++; } int static a=2; int static b=1; int p = 18; int d = 18; tabl[p][d]='\01'; // \01 est un nuckers tabl[17][16]='\03'; // \03 est une vie for(;;) { if(b==15&&a==18){cout<<"Rends toi ou je te tue.\n";tabl[17][18]='-';} if(b==19&&a==18){niveau2();return 0;} if(tabl[b][a]==tabl[17][16]){vie++;cout<<";Vous avez gagner une vie.Vous en avez "<<vie<<" vie\n";} system("cls"); tabl[b][a]='\02'; // \02 est le héros for(int y=0;y<20;y++) //Création du tableau (La carte du jeu) { for(int x=0;x<20;x++) { if(x==0){tabl[x][y]='\06';} //Création du décor (Les arbres qui ne resemble pas à des arbres) if(y==0){tabl[x][y]='\06';} if(x==19&&y!=18){tabl[x][y]='\06';} if(y==19){tabl[x][y]='\06';} if(y==13&&x!=7&&x!=8&&x!=17){tabl[x][y]='\06';} if(y==17&&x!=5){tabl[x][y]='\06';} if(x==15&&y!=5&&y!=18){tabl[x][y]='\06';} cout <<tabl[x][y]; } cout <<endl; } unsigned int g = getch(); //Getch() permet de taper sur une touche sans devoir appuyé sur Entrée if(g==57) //Si on appuie sur 9 le héros sort son épée à droite { for(int t=0;t<1;t++) { tabl[1+b][a]='-'; if(tabl[1+b][a]=='-'){tabl[2+b][a]='-';} if(tabl[1+b][a]==tabl[p][d]||tabl[b+2][a]==tabl[p][d]){tabl[p][d]=NULL;tabl[17][18]=NULL;cout<<"Bien jouez!!!\n";Sleep(1000);} } } if(g==48) //Si on appuie sur 0 le héros sort son épée en bas { for(int t=0;t<1;t++) { tabl[b][1+a]='I'; if(tabl[b][1+a]=='I'){tabl[b][2+a]='I';} if(tabl[b][1+a]==tabl[p][d]||tabl[b][2+a]==tabl[p][d]){cout<<"Bien jouez!!!\n";Sleep(1000);} } } if(g==55) //Si on appuie sur 7 le héros sort son épée à guauche { for(int t=0;t<1;t++) { tabl[b-1][a]='-'; if(tabl[b-1][a]=='-'){tabl[b-2][a]='-';} if(tabl[b-1][a]==tabl[p][d]||tabl[b-2][a]==tabl[p][d]){cout<<"Bien jouez!!!\n";Sleep(1000);} } } //Si on appuie sur 6 le héros va à droite if(g==50&&a!=18&&(a!=12||(b==7||b==8||b==17))&&(a!=16||(b==5))){tabl[b][a]=NULL;tabl[b][1+a]='\02';a++;continue;} if(g==54&&tabl[p][d]!=NULL&&b==17&&a==18) { vie--; cout<<"tu a ete toucher il te reste "<<vie<<"\n"; if(vie<1){break;return main();} if(vie>=1){tabl[b][a]=NULL;a=2;b=2;return niveau1();} } if(g==54&&tabl[p][d]!=NULL&&b==16&&a==18) { vie--; cout<<"tu a ete toucher il te reste "<<vie<<"\n"; if(vie<1){break;return main();} if(vie>=1){tabl[b][a]=NULL;a=2;b=2;return niveau1();} } //Si on appuie sur 8 le héros va en haut if(g==54&&(b!=18||(a==18))&&(b!=14||(a==5||a==18))){tabl[b][a]=NULL;tabl[1+b][a]='\02';b++;continue;} //Si on appuie sur 4 le héros va à guauche if(g==56&&a!=1&&(a!=14||(b==7||b==8||b==17))&&(a!=18||(b==5))){tabl[b][a]=NULL;tabl[b][a-1]='\02';a--;continue;} //Si on appuie sur 2 le héros va en bas if(g==52&&b!=1&&(b!=16||(a==5||a==18))){tabl[b][a]=NULL;tabl[b-1][a]='\02';b--;continue;} } } /////////////////////////////////////////////////////////////////////////////////////// int niveau2() //Pour le niveau 2 c'est le même principe { { int static r=0; if(r==0) { cout <<"Bienvenue dans le jeu ZELDA niveau2!!!\n"; cout <<"Vous arivez plus profond dans la foret"; cout <<" il faut sauver votre compagnon\02 et detruire les derniers petits \01\n";r++; } int static a=2; int static b=1; tabl2[18][18]='\01'; tabl2[17][16]='\02'; tabl2[14][16]='\01'; tabl2[6][16]='\01'; for(;;) { if(tabl2[18][18]==tabl2[b][a]) { vie--; cout<<"Vous etes mort.Il vous reste "<<vie<<"\n"; if(vie<1){break;return main();} if(vie>=1){return niveau1();} } system("cls"); tabl2[b][a]='\02'; for(int y=0;y<20;y++) { for(int x=0;x<20;x++) { if(x==0){tabl2[x][y]='\06';} if(y==0){tabl2[x][y]='\06';} if(x==19){tabl2[x][y]='\06';} if(y==19){tabl2[x][y]='\06';} if(y==15&&x!=7){tabl2[x][y]='\06';} if(y==17&&x!=15){tabl2[x][y]='\06';} if(x==10&&y!=4&&y!=18&&y!=16&&y!=12&&y!=9){tabl2[x][y]='\06';} if(x==3&&y!=2){tabl2[x][y]='\06';} if(y==10&&x!=16){tabl2[x][y]='\06';} if(x==1&&y!=2&&y!=1&&y!=3){tabl2[x][y]='\06';} if(x==2&&y!=2&&y!=1&&y!=3){tabl2[x][y]='\06';} if(y==5&&x!=17){tabl2[x][y]='\06';} cout <<tabl2[x][y]; } cout <<endl; } unsigned int g = getch(); if(a==14&&b==7){tabl2[6][16]=NULL;tabl2[7][16]='\01';} if(g==57) { for(int t=0;t<1;t++) { tabl2[1+b][a]='-'; if(tabl2[1+b][a]=='-'){tabl2[2+b][a]='-';} if(tabl2[1+b][a]==tabl2[18][18]||tabl2[b+2][a]==tabl2[18][18]){cout<<"Bien jouez!!!\n";Sleep(1000);return 0;} } } if(g==48) { for(int t=0;t<1;t++) { tabl2[b][1+a]='I'; if(tabl2[b][1+a]=='I'){tabl2[b][2+a]='I';} if(tabl2[b][1+a]==tabl2[18][18]||tabl2[b][2+a]==tabl2[18][18]){cout<<"Bien jouez!!!\n";Sleep(1000);return 0;} } } if(g==55) { for(int t=0;t<1;t++) { tabl2[b-1][a]='-'; if(tabl2[b-1][a]=='-'){tabl2[b-2][a]='-';} if(tabl2[b-1][a]==tabl2[18][18]||tabl2[b-2][a]==tabl2[18][18]){cout<<"Bien jouez!!!\n";Sleep(1000);return 0;} } } if(g==50&&tabl2[7][16]=='\01'&&b==7&&a==15) { vie--; cout<<"Vous etes mort.Il vous reste "<<vie<<"\n"; if(vie<1){break;return main();} if(vie>=1){return niveau1();} } if(g==54&&tabl2[14][16]=='\01'&&b==13&&a==16) { vie--; cout<<"Vous etes mort.Il vous reste "<<vie<<"\n"; if(vie<1){break;return main();} if(vie>=1){return niveau1();} } if(g==50&&a!=18&&(a!=4||(b==17))&&(a!=9||(b==16))&&(a!=14||(b==7))&&(a!=16||(b==15))){tabl2[b][a]=NULL;tabl2[b][1+a]='\02';a++;continue;} if(g==54&&b!=18&&(b!=9||(a==4||a==9||a==12||a==16||a==18))&&(b!=2||(a==2))){tabl2[b][a]=NULL;tabl2[1+b][a]='\02';b++;continue;} if(g==56&&a!=1&&(a!=6||(b==17))&&(a!=11||(b==16))&&(a!=16||(b==7))&&(a!=18||(b==15))){tabl2[b][a]=NULL;tabl2[b][a-1]='\02';a--;continue;} if(g==52&&b!=1&&(b!=11||(a==4||a==9||a==12||a==16||a==18))&&(b!=4||(a==2))){tabl2[b][a]=NULL;tabl2[b-1][a]='\02';b--;continue;} } } return 0; }

Conclusion :


Si vous avez du temps à perdre ou que vous ne savez pas quoi faire, allez faire un tour sur mon site qui est en cours de construction www.winlinx.fr.st

Codes Sources

A voir également

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.