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
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.