Petit jeu multijoueur du genre fight club v3.0

Contenu du snippet

bon ce n'est pas grand chose... tout le combat se déroule au hazard... (on ne fait que choisir le nombre de joueur et leur nom) mais l'éssentiel y est...

Source / Exemple :


#include <stdlib.h>
#include <iostream.h>
#include <dos.h>
#include <conio.c>
#include <windows.h>

void bip1(){Beep(900,35);}

void bip2(){
   Beep(450,200);
   Sleep(75);
   Beep(550,200);
   Sleep(50);
   Beep(750,200);
   }

void bip3(){
   Beep(900,250);
   Sleep(50);
   Beep(800,150);
   Sleep(50);
   Beep(800,150);
   Sleep(50);
   Beep(800,150);
   Sleep(100);
   Beep(1000,250);
   Sleep(50);
   Beep(800,250);
   }

int vie[10],armure[10],a,dommage,joueur,combatant,victime,x;
bool vivant[10],fin=false;
char nom1[20],nom2[20],nom3[20],nom4[20],nom5[20],nom6[20],nom7[20],nom8[20],nom9[20],nom10[20];

void attaque(int x){
do{a=rand()%joueur;}while(a==x || vivant[a]==false); //trouver une victime
victime=a;

a=rand()%10; a++;
dommage=a-armure[victime];
if(dommage<0){dommage=0;}     //trouver et infliger les domages
vie[victime]-=dommage;
}

void combat(){do {
Sleep(200); system("cls"); //attendre 1/5 de seconde (pour ne pas faire dérouler le combat trop vite) et effacer l'ecran (pour la propretée)

for(x=0;x<=9;x++){if(vivant[x]){attaque(x);}}    //faire attaquer chaque joueur

if (vivant[0]==true) {textcolor(10); cout<<nom1<<": "<<vie[0]<<endl;}
if (vivant[1]==true) {textcolor(12); cout<<nom2<<": "<<vie[1]<<endl;}
if (vivant[2]==true) {textcolor(13); cout<<nom3<<": "<<vie[2]<<endl;}
if (vivant[3]==true) {textcolor(14); cout<<nom4<<": "<<vie[3]<<endl;}
if (vivant[4]==true) {textcolor(15); cout<<nom5<<": "<<vie[4]<<endl;}    //ecrire la vie des joueurs a l'écran
if (vivant[5]==true) {textcolor(10); cout<<nom6<<": "<<vie[5]<<endl;}
if (vivant[6]==true) {textcolor(11); cout<<nom7<<": "<<vie[6]<<endl;}
if (vivant[7]==true) {textcolor(12); cout<<nom8<<": "<<vie[7]<<endl;}
if (vivant[8]==true) {textcolor(13); cout<<nom9<<": "<<vie[8]<<endl;}
if (vivant[9]==true) {textcolor(14); cout<<nom10<<": "<<vie[9]<<endl;}
textcolor(15);
combatant=joueur;
for (int x=0; x<joueur; x++){
                             if(vie[x]<=0){  vivant[x]=false;      //determiner combien de joueur il reste
                                             combatant--;
                                          }
                            }

}while(combatant>1);//recommencer tant qu'il reste plus d'un joueur de vivant

}  //fin du combat

void main(){
do{ //la boucle qui recommence a chaque partie
bip2();
textcolor(15);
do{
system("cls");
cout<<"combien y a t'il de joueur: (maximum 10)  ";       //demander le nombre de joueur
cin>>joueur;
bip1();
}while(joueur>10 || joueur<2);

for (x=0; x<10; x++){
                     if(x<joueur){vivant[x]=true;}    //déclarer les joueurs mort ou vivant
                     else{vivant[x]=false;}
                    }

for(x=0; x<joueur; x++){
                        system("cls");
                        cout<<"entrez le nom du joueur "<<x+1<<endl;
                        if (x==0){cin>>nom1;}
                        if (x==1){cin>>nom2;}
                        if (x==2){cin>>nom3;}
                        if (x==3){cin>>nom4;}   //demander les noms
                        if (x==4){cin>>nom5;}
                        if (x==5){cin>>nom6;}
                        if (x==6){cin>>nom7;}
                        if (x==7){cin>>nom8;}
                        if (x==8){cin>>nom9;}
                        if (x==9){cin>>nom10;}
                        bip1();
                       }

for(x=0; x<joueur; x++){
                        a=rand()%51;
                        vie[x]=150+a;             //donner de la vie et de l'armure aux joueurs
                        armure[x]=rand()%4;
                       }

combat();

system("cls");
if (vivant[0]==true){cout<<"LE GAGNANT EST: "<<nom1;}else
if (vivant[1]==true){cout<<"LE GAGNANT EST: "<<nom2;}else
if (vivant[2]==true){cout<<"LE GAGNANT EST: "<<nom3;}else
if (vivant[3]==true){cout<<"LE GAGNANT EST: "<<nom4;}else
if (vivant[4]==true){cout<<"LE GAGNANT EST: "<<nom5;}else             //afficher le gagnant
if (vivant[5]==true){cout<<"LE GAGNANT EST: "<<nom6;}else
if (vivant[6]==true){cout<<"LE GAGNANT EST: "<<nom7;}else
if (vivant[7]==true){cout<<"LE GAGNANT EST: "<<nom8;}else
if (vivant[8]==true){cout<<"LE GAGNANT EST: "<<nom9;}else
if (vivant[9]==true){cout<<"LE GAGNANT EST: "<<nom10;}else
{cout<<"IL N'Y A PAS DE GAGNANT!";}
bip3();
Sleep(1500);

do{
system("cls");
cout<<"voulez vous rejouer? \n\n 1: oui \n 2: non (quiter) \n 3: a propos \n\n\n";
a=getche();

  switch (a){

         case('1'): cout<<""; a=1; //si on veut rejouer... (le programme rejout par défaut) le cout est la pour empecher une erreure sous devc++
                   break;

         case('2'): fin=true; a=1; bip1();
                   break;

         case('3'): a=0; bip2(); MessageBox (NULL, "\ncréer par: prokev \n\nsi vous rencontrez des problemes ou avez des questions:\n\t   prokev666@hotmail.com\n\n         ou pour obtenir d'autre programmes: \n\t   pages.infinit.net/prokev" , "a propos...", 0 + MB_ICONASTERISK + MB_SYSTEMMODAL);
                   break;

         default:   a=0;
                   break;
            }
}while (a==0);

}while (fin==false); //recommencer une autre partie ou quiter...

}   //fin du programme

Conclusion :


je travaille aussi sur une version aventure de ce jeux...

merci a ceux qui ont déposé des commentaires... j'ai enlever les goto et j'ai arranger la source pour qu'elle siot plus lisible... pour les erreures je crois que c'est arranger (en tout cas avec devc++ ca marche)

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.