begin process at 2012 02 09 15:25:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.Net

 > JEU_DE_ROLE

JEU_DE_ROLE


 Information sur la source

Note :
Aucune note
Catégorie :.Net Source .NET ( DotNet ) Classé sous :jeu, role Niveau :Débutant Date de création :09/01/2003 Date de mise à jour :11/01/2003 10:09:18 Vu / téléchargé :7 633 / 750

Auteur : ivanoff1

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

 Description

C'est un prjet sur un jeu de role qu'on doit faire en bts 1° année
j'aimerais quelques aides dessus
comme l'affichage an dos application d'image importées
merci d'avance!!!

Source

  • #include<iostream.h>
  • #include<conio.h>
  • #include<string.h>
  • #include<time.h>
  • #include<stdlib.h>
  • #define nbjoueur 3
  • #define nbmonstre 23
  • randomize();
  • void srand(
  • unsigned int seed
  • );
  • //variables***********************************************************************************************************************************************************************************
  • int indice,choixtyperso,maxchoix;
  • char typarm[5][20]={"une mithdague","un arc","une hache","un baton beni","une galaxias"};//on initialise les armes
  • char typequip[6][20]={"un chapopointu","un gilet de mithril","des desert boots","une robe gaia","une chevaliere","un turban"};//on initialise l'equipement dans un tableau
  • char type[5][20]={"le mage","le guerrier","l'elfe","le nain","l'orque"};//on initialise le tableau des types de personnages
  • char Tlieu[8][20]={"la clairiere","le bois","la campagne","la colline","le sous-sol","la montagne","le ciel","le passage secret"};
  • int tabmaximonstr[9];//pour savoir combien il y a de monstres dans chaque lieu
  • int max[nbjoueur];//le classement des joueurs
  • //structures de données***********************************************************************************************************************************************************************
  • struct monstr//structure d'un monstre
  • {
  • char nommonstr[20];
  • int nummonstre,ptvie,ptattak,ptgagn,pointinit,nbfoisrencontre;
  • };
  • monstr tabmonstres[30];
  • struct person//structure d'un personnage
  • {
  • int victoire,pointvie,nbmonstrtu,pontarm,pontlieu,tabnummonstretues[30],PointTotal;
  • char nom[20],typers[20],arme[20],equipment[20],tabmonstretues[30][20],tablieurencontre[30][20];
  • };
  • person tabjoueur[nbjoueur];//tableau des joueurs de "person" comme type
  • struct lieu//structure d'un lieu
  • {
  • char nomlieu[20];
  • int numlieu;
  • monstr tabmonstr[6];//tableau avec une structure de données de type monstre
  • };
  • lieu tablieu[9];//tableau de 9 lieux avec toutes les données de lieu
  • struct chances//structure pour donner un peu de chance au joueur
  • {
  • char nom[20];
  • int nb;
  • };
  • chances tabchance[9];
  • struct arm
  • {
  • char nom[20];
  • int ptplus,ptat;//chaque arme a un statut diferent
  • };
  • arm tabarm[5];//tableau des armes
  • struct gagn
  • {
  • int num,point;
  • };
  • gagn tabgagn[nbjoueur];
  • //procedures d'inialisation*******************************************************************************************************************************************************************
  • void ar(int j,char nom[20],int pointarm,int point)//procedure de remplissage
  • {
  • strcpy(tabarm[j].nom,nom);
  • tabarm[j].ptat=pointarm;
  • tabarm[j].ptplus=point;
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void remparm()//pour initialiser les differentes armes
  • {
  • ar(0,typarm[0],20,1);
  • ar(1,typarm[1],18,3);
  • ar(2,typarm[2],25,-1);
  • ar(3,typarm[3],16,5);
  • ar(4,typarm[4],19,2);
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void chan(int I,char mcan[20],int ptplus)//procedure de remplissage
  • {
  • strcpy(tabchance[I].nom,mcan);
  • tabchance[I].nb=ptplus;
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void chanceux()//on initialise les differentes types de chance
  • {
  • chan(0,"rien",0);
  • chan(1,"rien",0);
  • chan(2,"une potion",10);
  • chan(3,"rien",0);
  • chan(4,"rien",0);
  • chan(5,"rien",0);
  • chan(6,"une super-potion",20);
  • chan(7,"rien",0);
  • chan(8,"rien",0);
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void affichtitre()//pour presenter le jeu
  • {
  • cout<<"\n****************************ROLE FANTASY****************************************\n";
  • cout<<"**************** **Jeu de role massivement multijoueur!!************************\n";
  • cout<<"*************** **************BIENVENUE*****************************************\n";
  • cout<<"************** ***_____________________________________*** *********************\n";
  • cout<<"************** ***| --- ^--^ |*** *********************\n";
  • cout<<"************** ***| |o o| <(o)(o)> |*** *********************\n";
  • cout<<"************** ***| (-) ( öö ) |*** *********************\n";
  • cout<<"************** ***| - | | - (^^) |*** *********************\n";
  • cout<<"**************** *|___v_v_______________ww____________|* ***********************\n";
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void GameOver()//quand on aura perdu
  • {
  • cout<<"oooooooooooooooooooooooooooooGAME OVERoooooooooooooooooooooooooooooooooooooooooo\n";
  • cout<<"oooooooooooooooooooooooDommage vous avez perdu!!oooooooooooooooooooooooooooooooo\n";
  • cout<<"o o ô ô o o\n";
  • cout<<"o o ¨ o o\n";
  • cout<<"o o --- o o\n";
  • cout<<"oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n";
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void remplimonstr(int K,int I,int J,char mo[20],int nbV,int nbA,int nbG,int PtIni)//procédure pour remplir les données des monstres
  • {
  • strcpy(tablieu[I].tabmonstr[J].nommonstr,mo);
  • tablieu[I].tabmonstr[J].ptvie=nbV;
  • tablieu[I].tabmonstr[J].ptattak=nbA;
  • tablieu[I].tabmonstr[J].ptgagn=nbG;
  • tablieu[I].tabmonstr[J].pointinit=PtIni;
  • tablieu[I].tabmonstr[J].nummonstre=K;
  • tablieu[I].tabmonstr[J].nbfoisrencontre=0;
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void rempmonstr()//remplissage des données sur les monstres
  • {
  • remplimonstr(0,0,0,"un loup",10,4,4,10);
  • remplimonstr(1,0,1,"un renard",9,3,3,9);
  • remplimonstr(2,0,2,"une fouine",5,2,2,5);
  • remplimonstr(3,0,3,"un blaireau",13,6,6,13);
  • tabmaximonstr[0]=4;//premier lieu
  • remplimonstr(4,1,0,"un ogre",20,6,6,20);
  • remplimonstr(5,1,1,"un loup-garou",18,5,5,18);
  • remplimonstr(6,1,2,"une chauve-souris",5,2,2,5);
  • remplimonstr(7,1,3,"un gobelin",6,3,3,6);
  • tabmaximonstr[1]=4;// deuxieme lieu
  • remplimonstr(8,2,0,"une grenouille",6,2,2,6);
  • remplimonstr(9,2,1,"une abeille",5,2,2,5);
  • remplimonstr(10,2,2,"un serpent",4,3,3,4);
  • remplimonstr(11,2,3,"une araignée",4,2,2,4);
  • tabmaximonstr[2]=4;//troisieme lieu
  • remplimonstr(12,3,0,"une succube",15,8,8,15);
  • remplimonstr(13,3,1,"un yeti",30,14,14,30);
  • remplimonstr(14,3,2,"un ours",25,10,10,25);
  • tabmaximonstr[3]=3;//quatrieme lieu
  • remplimonstr(15,4,0,"une licorne",99999,99999,0,99999);
  • tabmaximonstr[4]=1;//cinquieme lieu
  • remplimonstr(16,5,0,"une stalacite",40,20,20,40);
  • remplimonstr(17,5,1,"un hermite",20,30,30,20);
  • remplimonstr(18,5,2,"un glassos",10,8,8,10);
  • remplimonstr(19,5,3,"un loup des neiges",9,8,8,9);
  • tabmaximonstr[5]=4;//sixieme lieu
  • remplimonstr(20,6,0,"un phenix",99,99,50,99);
  • tabmaximonstr[6]=1;//septieme lieu
  • remplimonstr(21,7,0,"l'HYDRE",70,15,70,70);
  • remplimonstr(22,7,1,"un alligator",25,10,10,25);
  • tabmaximonstr[7]=2;//huitieme lieu
  • }
  • //********************************************************************************************************************************************************************************************
  • void personnage(int M)//procédure qui saisit le nom d'un personnage
  • {
  • cout<<"Entrez le nom de votre personnage"<<"\n";
  • cin>>tabjoueur[M].nom;//on remplie le tableau avec les noms
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • int ressai(int CHOIXT,int MAXI)//fonction qui va renvoyer le choix des qu'il sera bon
  • {
  • while((CHOIXT>MAXI)||(CHOIXT<1))
  • {
  • cout<<"\nEntrez une valeur possible!\n";
  • cin>>CHOIXT;
  • }
  • return(CHOIXT);
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void typers_(int Q)//procedure pour choisir un type de personnage
  • {
  • cout<<"PERSONNAGE: Vous avez le choix entre (tapez le numero correspondant):\n 1)Un mage\n 2)Un guerrier\n 3)Un elfe\n 4)un nain\n 5)un orque\n ";
  • maxchoix=5;
  • cin>>choixtyperso;
  • choixtyperso=ressai(choixtyperso,maxchoix);//on recupere la valeu de la fonction qui verifie si la saisie est bonne
  • cout<<"\nVous prenez "<<type[choixtyperso-1]<<"\n\n";//car on commence a 0 en c++(idem pour les autres saisies de materiel)
  • strcpy(tabjoueur[Q].typers,type[choixtyperso-1]);
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void typequip_(int S)//procedure pour choisir son equipement
  • {
  • int choixequip,maxi;
  • cout<<"EQUIPEMENT: Vous avez le choix entre (tapez le numero correspondant):\n 1)Un chapopointu\n 2)Un gilet en mithril\n 3)Des desert boots\n 4)une robe gaia\n 5)une chevalière\n 6)un turban";
  • maxi=6;//pour fixer la limite
  • cin>>choixequip;
  • choixequip=ressai(choixequip,maxi);//on verifie si la saisie est bonne
  • cout<<"\nVous prenez "<<typequip[choixequip-1]<<"\n\n";//pour eviter un selon
  • strcpy(tabjoueur[S].equipment,typequip[choixequip-1]);
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void typarm_(int F)//procedure pour choisir son arme
  • {
  • remparm();
  • int choixtypersoarm,maxi;
  • cout<<"ARME: Vous pouvez choisir entre (tapez le numero correspondant):\n1)Une mithdague\n2)Un arc\n3)Une hache\n4)Un baton benie\n5)Une galaxias\n\n";
  • maxi=5;//le maximum d'equipements
  • cin>>choixtypersoarm;//selon le choix du personnage, on incremente la valeur
  • choixtypersoarm=ressai(choixtypersoarm,maxi);//on verifie si la saisie est bonne
  • strcpy(tabjoueur[F].arme,tabarm[choixtypersoarm-1].nom);//(-1) car l'adresse du tableau commence a zero
  • tabjoueur[F].pontarm=(choixtypersoarm-1);//pour savoir l'arme qu'il a choisi, on recupere l'indice
  • cout<<"\n Vous prenez "<<typarm[choixtypersoarm-1]<<"\n";
  • cout<<"Avec cette arme,vous tapez avec un maximum de "<<tabarm[choixtypersoarm-1].ptat<<"\net vous avez ";
  • if(tabarm[choixtypersoarm-1].ptplus>0)
  • cout<<tabarm[choixtypersoarm-1].ptplus<<" de bonus\n\n";
  • else
  • cout<<tabarm[choixtypersoarm-1].ptplus<<" de malus\n\n";
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void typeperso(int D)//procedure de sous-menu du choix d'un personnage
  • {
  • int j;
  • for(j=1;j<=3;j++)//par choix
  • {
  • switch(j)//(j) : pour qu'il choississe d'abord le 1 ds le menu, puis 2 , puis 3
  • {
  • case 1:cout<<"\n Choix de votre personnage "<<"\n";typers_(D);break;
  • case 2:cout<<"\n Choix de votre equipement\n";typequip_(D);break;
  • case 3:cout<<"\n Choix de votre arme\n\n";typarm_(D);break;
  • }
  • }
  • }
  • //menu 1:choix des personnages et de leurs caracteristiques***********************************************************************************************************************************
  • void choixperso()//procédure de choix d'un personnage
  • {
  • int i,k;
  • for (i=0;i<=(nbjoueur-1);i++)//par personnage
  • {
  • for(k=1;k<=2;k++)
  • {
  • switch(k)//pour obliger a suivre un deroulement de saisies
  • {
  • case 1:cout<<"1: CHOIX DU NOM DU PERSONNAGE\njoueur "<<(i+1)<<"\n";personnage(i);break;
  • case 2:cout<<"2: CHOIX DU TYPE DE PERSONNAGE\n";typeperso(i);break;//prevoir un autre menu
  • }
  • }
  • }
  • }
  • //menu 2:verification des personnages*********************************************************************************************************************************************************
  • void verifperso()//Montre le resultat de la saisie
  • {
  • int k;
  • char boul[1];
  • for(k=0;k<=(nbjoueur-1);k++)//pour chaque joueur, on fait l'application
  • {
  • cout<<"\nJoueur "<<(k+1)<<" vous vous appelez "<<tabjoueur[k].nom;
  • cout<<"\nVous etes "<<tabjoueur[k].typers;
  • cout<<"\nVous avez pris "<<tabjoueur[k].arme;
  • cout<<"\nEt vous portez "<<tabjoueur[k].equipment<<"\n";
  • }
  • cout<<"\nVoulez-vous garder cette configuration?(o/n) ";
  • cin>>boul;
  • if(strcmp(boul,"o")==0)
  • cout<<"Fin de verification\n\n";//s'il n'y a plus de joueur alors on arrete la verification
  • else
  • {
  • cout<<"Retour au choix du personnage\n";//l'inconvenient est que le choix se fera encore pour les 2 personnages
  • choixperso();//on rappelle la procedure de choix des personnages
  • }
  • cout<<"\n\n";
  • }
  • //menu 3:les regles***************************************************************************************************************************************************************************
  • void regles()//ce sont les regles du jeu
  • {
  • int touche;
  • cout<<"\nREGLES DU JEU\n";
  • cout<<"Votre quotas de points de vie s'initialise au debut d'une partie a 50 points\n";
  • cout<<"Tant que vous n'etes pas mort vous pouvez continuer :o)!\nSi vous etes mort vos points de combats s'enregistrent\n";
  • cout<<"Vos points de combats gagnes changent selon le monstre rencontre\n";
  • cout<<"Essayer de decouvrir le passage secret qui mene au boss final!!\n";
  • cout<<"\nAppuyez sur un chiffre pour continuer\n";
  • cin>>touche;
  • cout<<"Vous devez tuez tous les monstres\nOu vous avez la possibilite de vous arreter a tout moment\nUn boss peut survenir a tout moment, meme avant la fin du jeu!!!\n..Mefiez-vous!!\n";
  • cout<<"Par combat, vous avez 60 secondes\nEt par joueur vous avez 20 minutes\n";
  • cout<<"2 monstres speciaux peuvent apparaitre devant vous :\n l'un vous portera chance, l'autre....\n\n";
  • cout<<"Le gagnant est celui qui a le plus de points\n";
  • cout<<"Un bonus sera donné pour celui qui tuera un maximum de monstres\n\n";
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void endroit()//procedure d'enregistrement des lieux
  • {
  • int i;
  • for(i=0;i<=8;i++)
  • {
  • strcpy(tablieu[i].nomlieu,Tlieu[i]);//pour initialiser les noms des lieux
  • tablieu[i].numlieu=i;
  • }
  • }
  • //****************************************les 3 procedures suivantes sont celles du jeu*******************************************************************************************************
  • void jeuinterne(int J,int HASARDL,int HASARDM)//procedure de jeu interne(le corps du jeu)
  • {
  • chanceux();
  • remparm();
  • int coup,tapej,tapem,pas,chA,aa;
  • cout<<"\nA vous de jouer!!! "<<tabjoueur[J].nom;
  • cout<<"\nAppuyez sur un chiffre pour tapez ";
  • cin>>coup;
  • aa=tabjoueur[J].pontarm;//pour eviter d'ecrire toute cette variable , on la place dans une autre, c'est plus court
  • tapej=(rand()%tabarm[aa].ptat)+1;//le nombre de points que le joueur puet enlever au monstre
  • cout<<"\nVous lui enlevez "<<tapej<<" points de vie";
  • tablieu[HASARDL].tabmonstr[HASARDM].ptvie=tablieu[HASARDL].tabmonstr[HASARDM].ptvie-tapej;//on enleve un nombre egal au nbre de coup
  • cout<<"\nLe monstre vous attaque!!";
  • pas=tablieu[HASARDL].tabmonstr[HASARDM].ptattak;//le maximum que le monstre peut taper
  • tapem=(rand()%pas)+1;
  • cout<<"\nIl vous enleve "<<tapem<<" points de vie";
  • tabjoueur[J].pointvie=tabjoueur[J].pointvie-tapem;
  • cout<<"\nVos points de vie sont de "<<tabjoueur[J].pointvie<<"\nCeux du monstre sont de "<<tablieu[HASARDL].tabmonstr[HASARDM].ptvie;//on réaffiche les 2 valeurs
  • chA=(rand()%7)+1;//on recupere une valeur pour la chance
  • cout<<"\nVous trouvez "<<tabchance[chA].nom;//on indique s'il a trouvé une potion
  • if((chA==2)||(chA==6))
  • {
  • cout<<"\nVous recuperez "<<tabchance[chA].nb<<"\n";//le joueur augmente un peu sa vie
  • tabjoueur[J].pointvie=tabjoueur[J].pointvie+tabchance[chA].nb;
  • cout<<"\nVos points de vie passent a "<<tabjoueur[J].pointvie<<"\n";
  • }
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void pointgagn(int K,int Hl,int Hm,int montreseconde)//pour afficher les points du joueur et faire jouer le joueur
  • {
  • while((tablieu[Hl].tabmonstr[Hm].ptvie>0)&&(montreseconde>0)&&(tabjoueur[K].pointvie>0))
  • jeuinterne(K,Hl,Hm);// on appelle la procédure du jeu interne
  • if(tablieu[Hl].tabmonstr[Hm].ptvie<=0)
  • {
  • cout<<"\nVous l'avez tuez!!Bravo!!";
  • tabjoueur[K].nbmonstrtu++;//on incremente le nombre de monstres tués
  • cout<<"\nVous gagnez "<<tablieu[Hl].tabmonstr[Hm].ptgagn<<" points!!";
  • tabjoueur[K].victoire=tablieu[Hl].tabmonstr[Hm].ptgagn+tabjoueur[K].victoire;//on incremente le nombre de points
  • cout<<"\nVous rejouez!!\n";
  • }
  • else
  • {
  • if(montreseconde==0)//si pendant un combat il ne lui reste plus de temps
  • cout<<"\nIl ne vous reste plus de temps!!\n";
  • }
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void jeu()//procédure de jeu
  • {
  • int j,hasmonstr,haslieu,un,montremin,montresec,l,m;
  • endroit();
  • rempmonstr();
  • for(j=0;j<=(nbjoueur-1);j++)//même jeu pour tous les joueurs
  • {
  • l=0;
  • m=0;
  • tabjoueur[j].nbmonstrtu=0;//on part de 0 pour les monstres qui ont été tués
  • tabjoueur[j].victoire=0;//on initialise les points de jeu du joueur
  • tabjoueur[j].pointvie=50;//le nombre de points du joueur
  • haslieu =1;//on part dans le campagne
  • montremin=20;//temps pour chaque joueur
  • cout<<"\nVous vous debutez dans "<<tablieu[haslieu].nomlieu;//on indique quel lieu
  • cout<<"\nappuyez sur un chiffre";
  • cin>>un;//pour faire une pause et pouvoir lire toute la suite
  • while(tabjoueur[j].pointvie>0 && montremin >0)//pour un joueur
  • {
  • montresec=60;//si le joueur ne tue pas le monstre rapidement, il a un chrono qui joue contre lui
  • hasmonstr=(rand()%tabmaximonstr[haslieu]);//on recupere un monstre au hasard pour un lieu
  • if(tabmaximonstr[haslieu]==1)
  • hasmonstr=0;//il y a certains lieux qui n'ont qu'une valeur
  • cout<<"\nVous rencontrez "<<tablieu[haslieu].tabmonstr[hasmonstr].nommonstr;//le nom du monstre
  • montresec--;//on incremente montresec
  • if(montresec<=10)//pour stresser le joueur
  • cout<<"\nIl ne vous reste plus que "<<montresec<<" secondes\n";
  • switch(haslieu)//selon le lieu : il y en a certains qui ont des propriétés differentes
  • {
  • case 4:cout<<"\nVous etes mort!! Dommage...\n\n";tabjoueur[j].pointvie=0;break;//c'est la fin pour ce joueur-ci
  • case 7:cout<<"\nVoici le boss!! Preparez-vous....et bonne chance!\n";
  • pointgagn(j,haslieu,hasmonstr,montresec);break;
  • default :pointgagn(j,haslieu,hasmonstr,montresec);break;//pour un combat contre un monstre dans un lieu
  • }
  • strcpy(tabjoueur[j].tabmonstretues[l],tablieu[haslieu].tabmonstr[hasmonstr].nommonstr);//on incremente le nom du monstre tué
  • tabjoueur[j].tabnummonstretues[l]=tablieu[haslieu].tabmonstr[hasmonstr].nummonstre;
  • tabmonstres[tablieu[haslieu].tabmonstr[hasmonstr].nummonstre].nbfoisrencontre++;//on incremente son numéro
  • strcpy(tabmonstres[tablieu[haslieu].tabmonstr[hasmonstr].nummonstre].nommonstr,tablieu[haslieu].tabmonstr[hasmonstr].nommonstr);//on incrémente le nom du monstre(indepandemment du lieu)
  • l++;//pour avancer dans le tableau des monstres tués par le joueur
  • tablieu[haslieu].tabmonstr[hasmonstr].ptvie=tablieu[haslieu].tabmonstr[hasmonstr].pointinit;//on reinitialise les points de vie du monstre si au prochain tour on retombe dessus
  • if(tabjoueur[j].pointvie>0)
  • {
  • strcpy(tabjoueur[j].tablieurencontre[m],tablieu[haslieu].nomlieu);
  • tabjoueur[j].pontlieu++;//pour compter le nom de lieux rencontrés
  • haslieu =(rand()%7)+1;//pour le prochain tour de jeu
  • cout<<"\nVous partez vers "<<tablieu[haslieu].nomlieu;//on indique quel lieu
  • cout<<"\nappuyez sur un chiffre";
  • cin>>un;//pour que le jeu soit un peu plus interactif
  • cout<<"\nIl vous reste "<<montremin<<" minutes\n";
  • montremin--;
  • m++;
  • }
  • }
  • montresec=60;//on reinitialise la montre
  • if ((tabjoueur[j].pointvie<=0)||(montremin==0))
  • {
  • GameOver(); //on appelle la procedure qui lui montre qu'il a perdu
  • cout<<"\nVous avez obtenu "<<tabjoueur[j].victoire<<" points\n\n";
  • cout<<"\nVous avez pris "<<tabarm[tabjoueur[j].pontarm].nom<<"\n";
  • cout<<"Ce qui vous fait au final "<<(tabarm[tabjoueur[j].pontarm].ptplus+tabjoueur[j].victoire)<<" points\n";
  • tabjoueur[j].victoire=tabjoueur[j].victoire+tabarm[tabjoueur[j].pontarm].ptplus;
  • if(j<(nbjoueur-1))
  • cout<<"Joueur s'appelant "<<tabjoueur[j+1].nom<<" a vous de jouer!!\n\n";
  • }
  • }
  • }
  • //********************************************************************************************************************************************************************************************
  • void Nbmonstretu()//pour indique combien de monstres ont ete tues
  • {
  • int b,h;
  • for(b=0;b<=(nbjoueur-1);b++)
  • {
  • cout<<"\nJoueur "<<(b+1)<<" vous avez tue "<<tabjoueur[b].nbmonstrtu<<" monstres\n";
  • for(h=0;h<=(tabjoueur[b].nbmonstrtu-1);h++)//on indique le nom de tous les monstres qu'il a tué
  • cout<<"\nVous avez tue "<<tabjoueur[b].tabmonstretues[h]<<"\n";
  • cout<<"\n";
  • }
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void Nbpointpers()//pour indiquer combien de points chaque joueur a gagne
  • {
  • int i;
  • for(i=0;i<=(nbjoueur-1);i++)
  • cout<<"\nJoueur sus-nomme "<<tabjoueur[i].nom<<" vous avez obtenu "<<tabjoueur[i].victoire<<" points au combat\n";
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void lieurencontre()//on affiche tous les lieux par personne
  • {
  • int i,m;
  • for(i=0;i<=(nbjoueur-1);i++)
  • {
  • cout<<"\nJoueur "<<i+1;
  • for(m=0;m<=(tabjoueur[i].pontlieu-1);m++)
  • cout<<" vous etes alles dans "<<tabjoueur[i].tablieurencontre[m]<<"\n";
  • }
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • int le_gagnant(int I,int maxi)//fonction qui renvoie le resultat du meilleur joueur
  • {
  • int j;
  • tabgagn[I].point=0;
  • for(j=0;j<=(nbjoueur-1);j++)
  • {
  • if((tabjoueur[j].victoire>tabgagn[I].point)&&(tabjoueur[j].victoire<maxi))//si le nombre de point est supérieur a l'ancien et inferieur au maximum(le meilleur)
  • { //pour faire le classement
  • tabgagn[I].point=tabjoueur[j].victoire;
  • tabgagn[I].num=j;
  • }
  • }
  • return(tabgagn[I].num);
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void PersonnageQuiALePlusDeVictoire()//procedure pour classer les personnes
  • {
  • int i,max=1000;
  • char tabvainc[3][20]={"premier","deuxieme","troisieme"};
  • for(i=0;i<=(nbjoueur-1);i++)//pour les trois premiers joueurs
  • {
  • cout<<"\nle "<<tabvainc[i]<<" joueur est "<<tabjoueur[le_gagnant(i,max)].nom<<" avec "<<tabjoueur[le_gagnant(i,max)].victoire<<" points\n";
  • max=tabgagn[i].point;
  • }
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void monstretutu()// on affiche pour chaque monstre le nombre de fois qu'il a été rencontré
  • {
  • int k;
  • cout<<"\n";
  • for(k=0;k<=(nbmonstre-1);k++)//on regarde tous les monstres
  • {
  • if(tabmonstres[k].nbfoisrencontre>0)//s'il a été rencontré
  • cout<<"Le monstre s'appelant "<<tabmonstres[k].nommonstr<<"\na ete rencontre "<<tabmonstres[k].nbfoisrencontre<<" fois\n";
  • }
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void classfinal()
  • {
  • int i,max=tabjoueur[0].PointTotal;
  • char tabvainc[3][20]={"premier","deuxieme","troisieme"};
  • for(i=0;i<=(nbjoueur-1);i++)
  • tabjoueur[i].PointTotal=tabjoueur[i].nbmonstrtu+tabjoueur[i].victoire;
  • for(i=0;i<=(nbjoueur-1);i++)//pour les trois premiers joueurs
  • {
  • cout<<"\nLe "<<tabvainc[i]<<" joueur est "<<tabjoueur[le_gagnant(i,max)].nom<<" avec "<<tabjoueur[le_gagnant(i,max)].victoire<<" points\n";
  • max=tabgagn[i].point;
  • }
  • }
  • //menu 5:statistiques*************************************************************************************************************************************************************************
  • void statmenu(int STA)
  • {
  • switch(STA)
  • {
  • case 1:Nbmonstretu();break;
  • case 2:Nbpointpers();break;
  • case 3:lieurencontre();break;
  • case 4:PersonnageQuiALePlusDeVictoire();break;
  • case 5:classfinal();break;
  • case 6:monstretutu();break;
  • case 0:cout<<"\nretour au MENU\n\n";break;
  • default:cout<<"\nEntrez une valeur possible, SVP!\n";
  • }
  • }
  • //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • void stat()//menu des statistiques
  • {
  • int choixstat;
  • do
  • {
  • cout<<"\n1:Nombre de monstres tues par personne\n";
  • cout<<"2:Nombre de points pour chaque personnage\n";
  • cout<<"3:Combien de lieux ont ete rencontres pour chaque personnage\n";
  • cout<<"4:Classement provisoire\n";
  • cout<<"5:Classement final\n";
  • cout<<"6:Monstres les plus rencontres\n";
  • cout<<"0:quitter\n";
  • cin>>choixstat;
  • statmenu(choixstat);
  • }while(choixstat!=0);
  • }
  • //********************************************************************************************************************************************************************************************
  • void choixmenu_(int CHOIXMEN)//procédure de choix de menu
  • {
  • switch(CHOIXMEN)
  • {
  • case 1:choixperso();indice=1;break;//indice=1 pour prouver qu'on a deja saisi les valeurs, pour le 2°choix du menu
  • case 2:if(indice==1)
  • verifperso();
  • else
  • cout<<"\nVeuillez choisir votre personnage, SVP\n\n";break;//si l'indice est different de 1 alors on retourne dans le menu
  • case 3:regles();break;//peut etre appeler a n'importe quel moment
  • case 4:if(indice==1)
  • {
  • jeu();
  • indice=5;//indicateur pour les statistiques
  • }
  • else
  • cout<<"\nVous pourrez jouez quand vous aurez choisi vos perso!\n\n";break;
  • case 5:if(indice==5)
  • stat();
  • else
  • cout<<"\nJouez d'abord!!\n\n";break;
  • case 0:cout<<"Merci d'avoir jouer a ce jeu!\n";break;
  • default:cout<<"\nErreur de saisie!!\n\n";
  • }
  • }
  • //procedure principale************************************************************************************************************************************************************************
  • void main(void)//menu principal
  • {
  • int choixmenu;
  • indice=0;//preuve qu'on a ou non agit sur une procedure
  • affichtitre();"\n";
  • do
  • {
  • cout<<"MENU\n";
  • cout<<"1: Choix de votre personnage\n";//prevoir un sous-menu
  • cout<<"2: Verification des personnages\n";//deroulement du tableau
  • cout<<"3: Afficher les regles du jeu\n";//possibilités d'appel à n'importe quel moment
  • cout<<"4: A vous de jouer!!\n";//lancement de la procedure jeu
  • cout<<"5: Statistiques du jeu\n";//prevoir un sous-menu
  • cout<<"0: Quitter le jeu\n";
  • cin>>choixmenu;
  • choixmenu_(choixmenu);//procedure de choix pour le menu
  • }while(choixmenu!=0);
  • }
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
#define nbjoueur 3
#define nbmonstre 23
randomize();
void srand(
   unsigned int seed 
);
//variables***********************************************************************************************************************************************************************************
int indice,choixtyperso,maxchoix;
char typarm[5][20]={"une mithdague","un arc","une hache","un baton beni","une galaxias"};//on initialise les armes
char typequip[6][20]={"un chapopointu","un gilet de mithril","des desert boots","une robe gaia","une chevaliere","un turban"};//on initialise l'equipement dans un tableau
char type[5][20]={"le mage","le guerrier","l'elfe","le nain","l'orque"};//on initialise le tableau des types de personnages
char Tlieu[8][20]={"la clairiere","le bois","la campagne","la colline","le sous-sol","la montagne","le ciel","le passage secret"};
int tabmaximonstr[9];//pour savoir combien il y a de monstres dans chaque lieu
int max[nbjoueur];//le classement des joueurs
//structures de données***********************************************************************************************************************************************************************
struct monstr//structure d'un monstre
{
	char nommonstr[20];
	int nummonstre,ptvie,ptattak,ptgagn,pointinit,nbfoisrencontre;
};
monstr tabmonstres[30];
struct person//structure d'un personnage
{
    int victoire,pointvie,nbmonstrtu,pontarm,pontlieu,tabnummonstretues[30],PointTotal;
    char nom[20],typers[20],arme[20],equipment[20],tabmonstretues[30][20],tablieurencontre[30][20];
};
person tabjoueur[nbjoueur];//tableau des joueurs de "person" comme type
struct lieu//structure d'un lieu 
{
	char nomlieu[20];
	int numlieu;
	monstr tabmonstr[6];//tableau avec une structure de données de type monstre
};
lieu tablieu[9];//tableau de 9 lieux avec toutes les données de lieu
struct chances//structure pour donner un peu de chance au joueur
{
    char nom[20];
    int nb;
};
chances tabchance[9];
struct arm
{
	char nom[20];
	int ptplus,ptat;//chaque arme a un statut diferent
};
arm tabarm[5];//tableau des armes
struct gagn
{
	int num,point;
};
gagn tabgagn[nbjoueur];
//procedures d'inialisation*******************************************************************************************************************************************************************
void ar(int j,char nom[20],int pointarm,int point)//procedure de remplissage
{
	strcpy(tabarm[j].nom,nom);
	tabarm[j].ptat=pointarm;
	tabarm[j].ptplus=point;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void remparm()//pour initialiser les differentes armes
{
	ar(0,typarm[0],20,1);
	ar(1,typarm[1],18,3);
	ar(2,typarm[2],25,-1);
	ar(3,typarm[3],16,5);
	ar(4,typarm[4],19,2);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void chan(int I,char mcan[20],int ptplus)//procedure de remplissage
{
    strcpy(tabchance[I].nom,mcan);
    tabchance[I].nb=ptplus;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void chanceux()//on initialise les differentes types de chance
{
   chan(0,"rien",0);
   chan(1,"rien",0);
   chan(2,"une potion",10);
   chan(3,"rien",0);
   chan(4,"rien",0);
   chan(5,"rien",0);
   chan(6,"une super-potion",20);
   chan(7,"rien",0);
   chan(8,"rien",0);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void affichtitre()//pour presenter le jeu
{
	cout<<"\n****************************ROLE FANTASY****************************************\n";
	cout<<"**************** **Jeu de role massivement multijoueur!!************************\n";
	cout<<"*************** **************BIENVENUE*****************************************\n";
	cout<<"************** ***_____________________________________*** *********************\n";
	cout<<"************** ***|   ---              ^--^           |*** *********************\n";
	cout<<"************** ***|  |o o|           <(o)(o)>         |*** *********************\n";
	cout<<"************** ***|   (-)             ( öö )          |*** *********************\n";
	cout<<"************** ***| - | | -            (^^)           |*** *********************\n";
	cout<<"**************** *|___v_v_______________ww____________|* ***********************\n";
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void GameOver()//quand on aura perdu
{
	cout<<"oooooooooooooooooooooooooooooGAME OVERoooooooooooooooooooooooooooooooooooooooooo\n";
	cout<<"oooooooooooooooooooooooDommage vous avez perdu!!oooooooooooooooooooooooooooooooo\n";
	cout<<"o                     o         ô ô             o                              o\n";
	cout<<"o                     o          ¨              o                              o\n";
	cout<<"o                     o         ---             o                              o\n";
	cout<<"oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n";
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void remplimonstr(int K,int I,int J,char mo[20],int nbV,int nbA,int nbG,int PtIni)//procédure pour remplir les données des monstres
{
	strcpy(tablieu[I].tabmonstr[J].nommonstr,mo);
	tablieu[I].tabmonstr[J].ptvie=nbV;
	tablieu[I].tabmonstr[J].ptattak=nbA;
	tablieu[I].tabmonstr[J].ptgagn=nbG;
	tablieu[I].tabmonstr[J].pointinit=PtIni;
	tablieu[I].tabmonstr[J].nummonstre=K;
	tablieu[I].tabmonstr[J].nbfoisrencontre=0;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void rempmonstr()//remplissage des données sur les monstres
{
	remplimonstr(0,0,0,"un loup",10,4,4,10);
	remplimonstr(1,0,1,"un renard",9,3,3,9);
	remplimonstr(2,0,2,"une fouine",5,2,2,5);
	remplimonstr(3,0,3,"un blaireau",13,6,6,13);
	tabmaximonstr[0]=4;//premier lieu
	remplimonstr(4,1,0,"un ogre",20,6,6,20);
	remplimonstr(5,1,1,"un loup-garou",18,5,5,18);
	remplimonstr(6,1,2,"une chauve-souris",5,2,2,5);
	remplimonstr(7,1,3,"un gobelin",6,3,3,6);
 	tabmaximonstr[1]=4;// deuxieme lieu
	remplimonstr(8,2,0,"une grenouille",6,2,2,6);
	remplimonstr(9,2,1,"une abeille",5,2,2,5);
	remplimonstr(10,2,2,"un serpent",4,3,3,4);
	remplimonstr(11,2,3,"une araignée",4,2,2,4);
	tabmaximonstr[2]=4;//troisieme lieu
	remplimonstr(12,3,0,"une succube",15,8,8,15);
	remplimonstr(13,3,1,"un yeti",30,14,14,30);
	remplimonstr(14,3,2,"un ours",25,10,10,25);
	tabmaximonstr[3]=3;//quatrieme lieu
	remplimonstr(15,4,0,"une licorne",99999,99999,0,99999);
	tabmaximonstr[4]=1;//cinquieme lieu
	remplimonstr(16,5,0,"une stalacite",40,20,20,40);
	remplimonstr(17,5,1,"un hermite",20,30,30,20);
	remplimonstr(18,5,2,"un glassos",10,8,8,10);
	remplimonstr(19,5,3,"un loup des neiges",9,8,8,9);
	tabmaximonstr[5]=4;//sixieme lieu
	remplimonstr(20,6,0,"un phenix",99,99,50,99);
	tabmaximonstr[6]=1;//septieme lieu
	remplimonstr(21,7,0,"l'HYDRE",70,15,70,70);
	remplimonstr(22,7,1,"un alligator",25,10,10,25);
	tabmaximonstr[7]=2;//huitieme lieu
}
//********************************************************************************************************************************************************************************************
void personnage(int M)//procédure  qui saisit le nom d'un personnage
{
    cout<<"Entrez le nom de votre personnage"<<"\n";
    cin>>tabjoueur[M].nom;//on remplie le tableau avec les noms
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
int ressai(int CHOIXT,int MAXI)//fonction qui va renvoyer le choix des qu'il sera bon
{
	while((CHOIXT>MAXI)||(CHOIXT<1))
	{
		cout<<"\nEntrez une valeur possible!\n";
		cin>>CHOIXT;
	}
	return(CHOIXT);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void typers_(int Q)//procedure pour choisir un type de personnage
{
    cout<<"PERSONNAGE: Vous avez le choix entre (tapez le numero correspondant):\n 1)Un mage\n 2)Un guerrier\n 3)Un elfe\n 4)un nain\n 5)un orque\n ";
    maxchoix=5;
	cin>>choixtyperso;
	choixtyperso=ressai(choixtyperso,maxchoix);//on recupere la valeu de la fonction qui verifie si la saisie est bonne
    cout<<"\nVous prenez "<<type[choixtyperso-1]<<"\n\n";//car on commence a 0 en c++(idem pour les autres saisies de materiel)
    strcpy(tabjoueur[Q].typers,type[choixtyperso-1]);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void typequip_(int S)//procedure pour choisir son equipement
{
    int choixequip,maxi;
    cout<<"EQUIPEMENT: Vous avez le choix entre (tapez le numero correspondant):\n 1)Un chapopointu\n 2)Un gilet en mithril\n 3)Des desert boots\n 4)une robe gaia\n 5)une chevalière\n 6)un turban";
    maxi=6;//pour fixer la limite
	cin>>choixequip;
	choixequip=ressai(choixequip,maxi);//on verifie si la saisie est bonne
    cout<<"\nVous prenez "<<typequip[choixequip-1]<<"\n\n";//pour eviter un selon
    strcpy(tabjoueur[S].equipment,typequip[choixequip-1]);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void typarm_(int F)//procedure pour choisir son arme
{
	remparm();
    int choixtypersoarm,maxi;
    cout<<"ARME: Vous pouvez choisir entre (tapez le numero correspondant):\n1)Une mithdague\n2)Un arc\n3)Une hache\n4)Un baton benie\n5)Une galaxias\n\n";
    maxi=5;//le maximum d'equipements
	cin>>choixtypersoarm;//selon le choix du personnage, on incremente la valeur
	choixtypersoarm=ressai(choixtypersoarm,maxi);//on verifie si la saisie est bonne
	strcpy(tabjoueur[F].arme,tabarm[choixtypersoarm-1].nom);//(-1) car l'adresse du tableau commence a zero
	tabjoueur[F].pontarm=(choixtypersoarm-1);//pour savoir l'arme qu'il a choisi, on recupere l'indice
    cout<<"\n Vous prenez "<<typarm[choixtypersoarm-1]<<"\n";
	cout<<"Avec cette arme,vous tapez avec un maximum de "<<tabarm[choixtypersoarm-1].ptat<<"\net vous avez ";
	if(tabarm[choixtypersoarm-1].ptplus>0)
		cout<<tabarm[choixtypersoarm-1].ptplus<<" de bonus\n\n";
	else
		cout<<tabarm[choixtypersoarm-1].ptplus<<" de malus\n\n";	
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void typeperso(int D)//procedure de sous-menu du choix d'un personnage
{
    int j;
    for(j=1;j<=3;j++)//par choix
    {
		switch(j)//(j) : pour qu'il choississe d'abord le 1 ds le menu, puis 2 , puis 3
        {
          case 1:cout<<"\n Choix de votre personnage "<<"\n";typers_(D);break;                        
          case 2:cout<<"\n Choix de votre equipement\n";typequip_(D);break;
          case 3:cout<<"\n Choix de votre arme\n\n";typarm_(D);break;
        }
    }       
}
//menu 1:choix des personnages et de leurs caracteristiques***********************************************************************************************************************************
void choixperso()//procédure de choix d'un personnage
{
	int i,k;
    for (i=0;i<=(nbjoueur-1);i++)//par personnage
    {
		for(k=1;k<=2;k++)
	    {
	         switch(k)//pour obliger a suivre un deroulement de saisies
	         {
				case 1:cout<<"1: CHOIX DU NOM DU PERSONNAGE\njoueur "<<(i+1)<<"\n";personnage(i);break;
				case 2:cout<<"2: CHOIX DU TYPE DE PERSONNAGE\n";typeperso(i);break;//prevoir un autre menu
	         }    
        }       
	}
}
//menu 2:verification des personnages*********************************************************************************************************************************************************
void verifperso()//Montre le resultat de la saisie
{
	int k;
	char boul[1];
	for(k=0;k<=(nbjoueur-1);k++)//pour chaque joueur, on fait l'application
	{
		cout<<"\nJoueur "<<(k+1)<<" vous vous appelez "<<tabjoueur[k].nom;
		cout<<"\nVous etes "<<tabjoueur[k].typers;
		cout<<"\nVous avez pris  "<<tabjoueur[k].arme;
		cout<<"\nEt vous portez "<<tabjoueur[k].equipment<<"\n";	
	}
	cout<<"\nVoulez-vous garder cette configuration?(o/n) ";
	cin>>boul;
	if(strcmp(boul,"o")==0)
		cout<<"Fin de verification\n\n";//s'il n'y a plus de joueur alors on arrete la verification
	else
	{
		cout<<"Retour au choix du personnage\n";//l'inconvenient est que le choix se fera encore pour les 2 personnages
		choixperso();//on rappelle la procedure de choix des personnages
	}
	cout<<"\n\n";
}
//menu 3:les regles***************************************************************************************************************************************************************************
void regles()//ce sont les regles du jeu
{ 
	int touche;
	cout<<"\nREGLES DU JEU\n";
	cout<<"Votre quotas de points de vie s'initialise au debut d'une partie a 50 points\n";
	cout<<"Tant que vous n'etes pas mort vous pouvez continuer :o)!\nSi vous etes mort vos points de combats s'enregistrent\n";
	cout<<"Vos points de combats gagnes changent selon le monstre rencontre\n";
	cout<<"Essayer de decouvrir le passage secret qui mene au boss final!!\n";
	cout<<"\nAppuyez sur un chiffre pour continuer\n";
	cin>>touche;
	cout<<"Vous devez tuez tous les monstres\nOu vous avez la possibilite de vous arreter a tout moment\nUn boss peut survenir a tout moment, meme avant la fin du jeu!!!\n..Mefiez-vous!!\n";
	cout<<"Par combat, vous avez 60 secondes\nEt par joueur vous avez 20 minutes\n";
	cout<<"2 monstres speciaux peuvent apparaitre devant vous :\n l'un vous portera chance, l'autre....\n\n";
	cout<<"Le gagnant est celui qui a le plus de points\n";
	cout<<"Un bonus sera donné pour celui qui tuera un maximum de monstres\n\n";
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void endroit()//procedure d'enregistrement des lieux
{
	int i;
	for(i=0;i<=8;i++)
	{
		strcpy(tablieu[i].nomlieu,Tlieu[i]);//pour initialiser les noms des lieux
		tablieu[i].numlieu=i;
	}
}
//****************************************les 3 procedures suivantes sont celles du jeu*******************************************************************************************************
void jeuinterne(int J,int HASARDL,int HASARDM)//procedure de jeu interne(le corps du jeu)
{
	chanceux();
	remparm();
    int coup,tapej,tapem,pas,chA,aa;
    cout<<"\nA vous de jouer!!! "<<tabjoueur[J].nom;
    cout<<"\nAppuyez sur un chiffre pour tapez ";
    cin>>coup;
	aa=tabjoueur[J].pontarm;//pour eviter d'ecrire toute cette variable , on la place dans une autre, c'est plus court
	tapej=(rand()%tabarm[aa].ptat)+1;//le nombre de points que le joueur puet enlever au monstre
    cout<<"\nVous lui enlevez "<<tapej<<" points de vie";
    tablieu[HASARDL].tabmonstr[HASARDM].ptvie=tablieu[HASARDL].tabmonstr[HASARDM].ptvie-tapej;//on enleve un nombre egal au nbre de coup
    cout<<"\nLe monstre vous attaque!!";
	pas=tablieu[HASARDL].tabmonstr[HASARDM].ptattak;//le maximum que le monstre peut taper
    tapem=(rand()%pas)+1;
    cout<<"\nIl vous enleve "<<tapem<<" points de vie";
    tabjoueur[J].pointvie=tabjoueur[J].pointvie-tapem;
    cout<<"\nVos points de vie sont de "<<tabjoueur[J].pointvie<<"\nCeux du monstre sont de "<<tablieu[HASARDL].tabmonstr[HASARDM].ptvie;//on réaffiche les 2 valeurs   
	chA=(rand()%7)+1;//on recupere une valeur pour la chance
	cout<<"\nVous trouvez "<<tabchance[chA].nom;//on indique s'il a trouvé une potion
	if((chA==2)||(chA==6))
	{
		cout<<"\nVous recuperez "<<tabchance[chA].nb<<"\n";//le joueur augmente un peu sa vie
		tabjoueur[J].pointvie=tabjoueur[J].pointvie+tabchance[chA].nb;
		cout<<"\nVos points de vie passent a "<<tabjoueur[J].pointvie<<"\n";
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void pointgagn(int K,int Hl,int Hm,int montreseconde)//pour afficher les points du joueur et faire jouer le joueur
{
	while((tablieu[Hl].tabmonstr[Hm].ptvie>0)&&(montreseconde>0)&&(tabjoueur[K].pointvie>0))
        jeuinterne(K,Hl,Hm);// on appelle la procédure du jeu interne
	if(tablieu[Hl].tabmonstr[Hm].ptvie<=0)
	{
		cout<<"\nVous l'avez tuez!!Bravo!!";
		tabjoueur[K].nbmonstrtu++;//on incremente le nombre de monstres tués
		cout<<"\nVous gagnez "<<tablieu[Hl].tabmonstr[Hm].ptgagn<<" points!!";
		tabjoueur[K].victoire=tablieu[Hl].tabmonstr[Hm].ptgagn+tabjoueur[K].victoire;//on incremente le nombre de points
		cout<<"\nVous rejouez!!\n";   
	}
	else
	{
		if(montreseconde==0)//si pendant un combat il ne lui reste plus de temps
			cout<<"\nIl ne vous reste plus de temps!!\n";
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void jeu()//procédure de jeu
{
	int j,hasmonstr,haslieu,un,montremin,montresec,l,m;
    endroit();
    rempmonstr();
    for(j=0;j<=(nbjoueur-1);j++)//même jeu pour tous les joueurs
    {
		l=0;
		m=0;
		tabjoueur[j].nbmonstrtu=0;//on part de 0 pour les monstres qui ont été tués
		tabjoueur[j].victoire=0;//on initialise les points de jeu du joueur
        tabjoueur[j].pointvie=50;//le nombre de points du joueur
        haslieu =1;//on part dans le campagne
		montremin=20;//temps pour chaque joueur
        cout<<"\nVous vous debutez dans "<<tablieu[haslieu].nomlieu;//on indique quel lieu
        cout<<"\nappuyez sur un chiffre";
        cin>>un;//pour faire une pause et pouvoir lire toute la suite
       while(tabjoueur[j].pointvie>0 && montremin >0)//pour un joueur
        {
			montresec=60;//si le joueur ne tue pas le monstre rapidement, il a un chrono qui joue contre lui
            hasmonstr=(rand()%tabmaximonstr[haslieu]);//on recupere un monstre au hasard pour un lieu
			if(tabmaximonstr[haslieu]==1)
				hasmonstr=0;//il y a certains lieux qui n'ont qu'une valeur
            cout<<"\nVous rencontrez "<<tablieu[haslieu].tabmonstr[hasmonstr].nommonstr;//le nom du monstre
            montresec--;//on incremente montresec
			if(montresec<=10)//pour stresser le joueur
				cout<<"\nIl ne vous reste plus que "<<montresec<<" secondes\n";
			switch(haslieu)//selon le lieu : il y en a certains qui ont des propriétés differentes
            {
                case 4:cout<<"\nVous etes mort!! Dommage...\n\n";tabjoueur[j].pointvie=0;break;//c'est la fin pour ce joueur-ci
                case 7:cout<<"\nVoici le boss!! Preparez-vous....et bonne chance!\n";
								pointgagn(j,haslieu,hasmonstr,montresec);break;
                default :pointgagn(j,haslieu,hasmonstr,montresec);break;//pour un combat contre un monstre dans un lieu
             }
			strcpy(tabjoueur[j].tabmonstretues[l],tablieu[haslieu].tabmonstr[hasmonstr].nommonstr);//on incremente le nom du monstre tué
			tabjoueur[j].tabnummonstretues[l]=tablieu[haslieu].tabmonstr[hasmonstr].nummonstre;
			tabmonstres[tablieu[haslieu].tabmonstr[hasmonstr].nummonstre].nbfoisrencontre++;//on incremente son numéro
			strcpy(tabmonstres[tablieu[haslieu].tabmonstr[hasmonstr].nummonstre].nommonstr,tablieu[haslieu].tabmonstr[hasmonstr].nommonstr);//on incrémente le nom du monstre(indepandemment du lieu)
			l++;//pour avancer dans le tableau des monstres tués par le joueur
			tablieu[haslieu].tabmonstr[hasmonstr].ptvie=tablieu[haslieu].tabmonstr[hasmonstr].pointinit;//on reinitialise les points de vie du monstre si au prochain tour on retombe dessus
			if(tabjoueur[j].pointvie>0)
			{
				strcpy(tabjoueur[j].tablieurencontre[m],tablieu[haslieu].nomlieu);
				tabjoueur[j].pontlieu++;//pour compter le nom de lieux rencontrés
				haslieu =(rand()%7)+1;//pour le prochain tour de jeu
				cout<<"\nVous partez vers "<<tablieu[haslieu].nomlieu;//on indique quel lieu
				cout<<"\nappuyez sur un chiffre";
				cin>>un;//pour que le jeu soit un peu plus interactif
				cout<<"\nIl vous reste "<<montremin<<" minutes\n";
				montremin--;
				m++;
			}
        }
		montresec=60;//on reinitialise la montre
        if ((tabjoueur[j].pointvie<=0)||(montremin==0))
        {
			GameOver(); //on appelle la procedure qui lui montre qu'il a perdu
			cout<<"\nVous avez obtenu "<<tabjoueur[j].victoire<<" points\n\n";
			cout<<"\nVous avez pris "<<tabarm[tabjoueur[j].pontarm].nom<<"\n";
			cout<<"Ce qui vous fait au final "<<(tabarm[tabjoueur[j].pontarm].ptplus+tabjoueur[j].victoire)<<" points\n";
			tabjoueur[j].victoire=tabjoueur[j].victoire+tabarm[tabjoueur[j].pontarm].ptplus;
			if(j<(nbjoueur-1))
				cout<<"Joueur s'appelant "<<tabjoueur[j+1].nom<<" a vous de jouer!!\n\n";
        }	
    }
}
//********************************************************************************************************************************************************************************************
void Nbmonstretu()//pour indique combien de monstres ont ete tues
{
	int b,h;
	for(b=0;b<=(nbjoueur-1);b++)
	{
		cout<<"\nJoueur "<<(b+1)<<" vous avez tue "<<tabjoueur[b].nbmonstrtu<<" monstres\n";
		for(h=0;h<=(tabjoueur[b].nbmonstrtu-1);h++)//on indique le nom de tous les monstres qu'il a tué
			cout<<"\nVous avez tue "<<tabjoueur[b].tabmonstretues[h]<<"\n";
		cout<<"\n";
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void Nbpointpers()//pour indiquer combien de points chaque joueur a gagne
{
	int i;
	for(i=0;i<=(nbjoueur-1);i++)
		cout<<"\nJoueur sus-nomme "<<tabjoueur[i].nom<<" vous avez obtenu "<<tabjoueur[i].victoire<<" points au combat\n";
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void lieurencontre()//on affiche tous les lieux par personne
{
	int i,m;
	for(i=0;i<=(nbjoueur-1);i++)
	{
		cout<<"\nJoueur "<<i+1;
		for(m=0;m<=(tabjoueur[i].pontlieu-1);m++)
			cout<<" vous etes alles dans "<<tabjoueur[i].tablieurencontre[m]<<"\n";
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
int le_gagnant(int I,int maxi)//fonction qui renvoie le resultat du meilleur joueur
{
	int j;
	tabgagn[I].point=0;
	for(j=0;j<=(nbjoueur-1);j++)
	{
		if((tabjoueur[j].victoire>tabgagn[I].point)&&(tabjoueur[j].victoire<maxi))//si le nombre de point est supérieur a l'ancien et inferieur au maximum(le meilleur)
		{																		  //pour faire le classement
			tabgagn[I].point=tabjoueur[j].victoire;
			tabgagn[I].num=j;
		}
	}
	return(tabgagn[I].num);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void PersonnageQuiALePlusDeVictoire()//procedure pour classer les personnes
{
	int i,max=1000;
	char tabvainc[3][20]={"premier","deuxieme","troisieme"};
	for(i=0;i<=(nbjoueur-1);i++)//pour les trois premiers joueurs
	{
		cout<<"\nle "<<tabvainc[i]<<" joueur est "<<tabjoueur[le_gagnant(i,max)].nom<<" avec "<<tabjoueur[le_gagnant(i,max)].victoire<<" points\n";
		max=tabgagn[i].point;
	}
	
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void monstretutu()// on affiche pour chaque monstre le nombre de fois qu'il a été rencontré
{
	int k;
	cout<<"\n";
	for(k=0;k<=(nbmonstre-1);k++)//on regarde tous les monstres
	{
		if(tabmonstres[k].nbfoisrencontre>0)//s'il a été rencontré
			cout<<"Le monstre s'appelant "<<tabmonstres[k].nommonstr<<"\na ete rencontre "<<tabmonstres[k].nbfoisrencontre<<" fois\n";
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void classfinal()
{
	int i,max=tabjoueur[0].PointTotal;
	char tabvainc[3][20]={"premier","deuxieme","troisieme"};
	for(i=0;i<=(nbjoueur-1);i++)
		tabjoueur[i].PointTotal=tabjoueur[i].nbmonstrtu+tabjoueur[i].victoire;
	for(i=0;i<=(nbjoueur-1);i++)//pour les trois premiers joueurs
	{
		cout<<"\nLe "<<tabvainc[i]<<" joueur est "<<tabjoueur[le_gagnant(i,max)].nom<<" avec "<<tabjoueur[le_gagnant(i,max)].victoire<<" points\n";
		max=tabgagn[i].point;
	}
}
//menu 5:statistiques*************************************************************************************************************************************************************************
void statmenu(int STA)
{
	switch(STA)
	{
		case 1:Nbmonstretu();break;
		case 2:Nbpointpers();break;
		case 3:lieurencontre();break;
		case 4:PersonnageQuiALePlusDeVictoire();break;
		case 5:classfinal();break;
		case 6:monstretutu();break;
		case 0:cout<<"\nretour au MENU\n\n";break;
		default:cout<<"\nEntrez une valeur possible, SVP!\n";
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void stat()//menu des statistiques
{
	int choixstat;
	do
	{
		cout<<"\n1:Nombre de monstres tues par personne\n";
		cout<<"2:Nombre de points pour chaque personnage\n";
		cout<<"3:Combien de lieux ont ete rencontres pour chaque personnage\n";
		cout<<"4:Classement provisoire\n";
		cout<<"5:Classement final\n";
		cout<<"6:Monstres les plus rencontres\n";
		cout<<"0:quitter\n";
		cin>>choixstat;
		statmenu(choixstat);
	}while(choixstat!=0);
}
//********************************************************************************************************************************************************************************************
void choixmenu_(int CHOIXMEN)//procédure de choix de menu
{
    switch(CHOIXMEN)
	{
		case 1:choixperso();indice=1;break;//indice=1 pour prouver qu'on a deja saisi les valeurs, pour le 2°choix du menu
		case 2:if(indice==1)
				   verifperso();
			   else
				   cout<<"\nVeuillez choisir votre personnage, SVP\n\n";break;//si l'indice est different de 1 alors on retourne dans le menu
		case 3:regles();break;//peut etre appeler a n'importe quel moment
		case 4:if(indice==1)
			   {
                  jeu();
				  indice=5;//indicateur pour les statistiques
			   }
               else
                  cout<<"\nVous pourrez jouez quand vous aurez choisi vos perso!\n\n";break;
		case 5:if(indice==5)
				   stat();
				else
					cout<<"\nJouez d'abord!!\n\n";break;
		case 0:cout<<"Merci d'avoir jouer a ce jeu!\n";break;
		default:cout<<"\nErreur de saisie!!\n\n";
	}
}
//procedure principale************************************************************************************************************************************************************************
void main(void)//menu principal
{
	int choixmenu;
	indice=0;//preuve qu'on a ou non agit sur une procedure
	affichtitre();"\n";
    do	
	{
		cout<<"MENU\n";
		cout<<"1: Choix de votre personnage\n";//prevoir un sous-menu
		cout<<"2: Verification des personnages\n";//deroulement du tableau
		cout<<"3: Afficher les regles du jeu\n";//possibilités d'appel à n'importe quel moment
		cout<<"4: A vous de jouer!!\n";//lancement de la procedure jeu
		cout<<"5: Statistiques du jeu\n";//prevoir un sous-menu
		cout<<"0: Quitter le jeu\n";
		cin>>choixmenu;
		choixmenu_(choixmenu);//procedure de choix pour le menu
    }while(choixmenu!=0);
}






 

 Conclusion

POur amélioration....
il est exécuté sous dos(interpréteur de commande)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Jeu_role
    • Jeu_role.ncbTélécharger ce fichier [Réservé aux membres club]19 456 octets
    • Jeu_role.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier916 octets
    • Jeu_role.suoTélécharger ce fichier [Réservé aux membres club]7 168 octets
    • Jeu_role.vcprojTélécharger ce fichier [Réservé aux membres club]2 508 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip GESTION BASE DE DONNÉES RÉPERTOIRE TÉLÉPHONIQUE
Source avec Zip SIMULATION D'UN ROND-POINT
SERPENT

 Sources de la même categorie

Source avec Zip Source avec une capture ANALYSEUR LEXICAL par Donald180v
Source avec Zip Source avec une capture MAP_MAKER_JEU par seekplus
Source avec Zip Source avec une capture Source .NET (Dotnet) EMISSION D'UN OCTET SUR LE PORT SÉRIE - CLASSE SERIALPORT par jmchatelet01
Source avec Zip Source .NET (Dotnet) RESOLV EQU DE DEGRES N par darckangel731
Source avec Zip Source avec une capture Source .NET (Dotnet) INTEROP XCHAT / .NET : CHARGEUR DE PLUGINS MANAGÉS par TeBeCo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SOKOBAN EN C POUR DÉBUTANT (VERSION AMÉLIORÉE BASÉE SUR LE T... par eustatika
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip EXPERIENCES ALEATOIRES par cczerty
Source avec Zip NIBLE LE JEU DU SERPENT [VC++ 6] V2 par billybones79
Source avec Zip PUR JEU DE ROLE par chocobo

Commentaires et avis

Commentaire de 24Karas le 09/01/2003 17:52:33

un peti Zip ça serai sympa parce ke ça à l'air sympas

                                   @++
                                                                       24KaraS

Commentaire de cmarsc le 09/01/2003 18:54:13

salut,

les nombres symboliques tels que nbjoueur ou nbmonstre sont à mettre
en MAJUSCULES comme c'est du C++ on mets en générale const int NBMONSTRE
par exemple : bien que define passe parfaitement (c'est plus du C).

il faudrait aérer un peu le code parce que c'est relativement dure à lire (c'est
peut-être la mise en ligne qui fait çà) c'est très compact.

void srand(unsigned int seed); est une fonction de &lt;stdlib.h&gt; alors pas besoin
de la mettre sous cette forme un simple appel comme ceci :
srand( (unsigned) time (NULL)); fait l'affaire.

dans une fonction sans arguments formels comme void remparm() il est plus propre
d'écrire void remparm(void)
une fonction de type void retourne un return ;

le C++ permet ceci : for( int i = 0; i &lt;=(nbjoueur-1);i++) c'est assez pratique
il tu pouvais utiliser gotoxy si ton compilateur le permet et un peu de couleur
please ;-)

Commentaire de Pyou le 10/01/2003 12:19:33

Pas mal ce petit jeu.
Mais a propos des couleurs, comment on fait ? et kel librairies sont necessaires ?
Sinon, dites moi si je me trompe mais dans typeperso(int D) la boucle for et le switch case sont inutile non ?
Pourquoi ne pas mettre directement :
cout &lt;&lt; "Choix personnage ...
" ;typers_(D);
cout &lt;&lt; "choix equipement ...
" ;typequip_(D);
... etc
Pareil dans choixperso().

Pyou

Commentaire de cmarsc le 10/01/2003 15:54:01

pour les couleurs textcolor(NUMERO_COULEUR); par ex RED rouge
textbackground (BLACK); &lt;conio.h&gt; ou &lt;conio.c&gt; devc++4

Commentaire de Pyou le 10/01/2003 17:28:22

Merci ;)

Commentaire de Tutu le 10/01/2003 19:57:49

Ce serais bien un zip et unne capture. Merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Jeu motus [ par marinkaout ] Bonjour à tous ! Nous avons comme projet de réaliser un jeu motus en turbo pascal, nous avons effectuer tout l'algorithme mais le pricipal manque. Nou jeu tic tac toé [ par b52ab ] on nous a donné un projet de faire le jeu tic tac toé dns notre cours des matrices en c , en utilisons la souris pour cela c un programme que j ai pas Graphiques pour le Jeu Backgammon en C [ par choupettuz ] Je souhaite bien avoir les codes pour bouger mon dee et les pions sur Turbo C pour le jeu backgammon. Le zip que j'ai telecharger pour le jeu backgamm Jeu de backgammon en C [ par choupettuz ] Bonjour,Je vous remercie de m'avoir repondu et d'avoir pris ma question en consideration. J'ai telecharger un zip pour le jeu backgammon sur le lien s probleme de jeu en reseau [ par charara88 ] spv j'ai un code source de jeu en reseau avec le programme executable mais il ne peut pas fonctionner il me dit que "SDL.dll est introuvable"svp que p probleme avec des conditions [ par crawhawks21 ] Bonjour,je rencontre un petit problème avec une idée de créer un jeu de question reponse en mode console pour commencer, je suis assez débutant et j'a Besoin d'aide pour un programme [ par milka77 ] Bonjour,je joue actuellement a un jeu nommé "Dofus", où des montres apparaissent sur différentes cartes du jeu.Mais j'aimerais savoir si il serait pos comment fair (bataille naval) [ par nangette ] bonjour tout le monde s'il vous plait j'ai une demande , j'ai un mini projet a fair qui consiste a fair un jeu de bataille naval avec turbo C et j'ar probleme pour créer une gestion aleatoire [ par crawhawks21 ] Bonsoir, je viens par ce message demander de l'aide, voilà je crée un petit jeu actuellement sans aucune prétention, le jeu est basé sur l'indix (jeu


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,778 sec (3)

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