Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1390 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Problem de loop ds un jeu [svp regarder]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problem de loop ds un jeu [svp regarder]

n°889153
nimo
New.Internet.Master.Operator
Posté le 03-11-2004 à 04:01:02  profilanswer
 

voici une parti de mon jeu ou j'ai problem:
 

Code :
  1. while(mode!=GAMEOVER)
  2. {
  3.  // introduction
  4.  if(mode==INTRO){mode=introScreen();}
  5.  // start the single player game from first level
  6.  if(mode==SINGLE){
  7.   // initialise level variables
  8.   initSprites();
  9.   housesDestroyed=0;
  10.   currentTotalHouses=10;
  11.   totalHousesDestroyed=0;
  12.   level=1;
  13.   // call the game loop to play first level
  14.   mode=game1();
  15.  }
  16.  // start the multi player game from first level
  17.  if(mode==MULTI){
  18.   // initialise level variables
  19.   initSprites();
  20.   housesDestroyed=0;
  21.   currentTotalHouses=20;
  22.   totalHousesDestroyed=0;
  23.   level=1;
  24.   // call the game loop to play first level
  25.   mode=game2();
  26.  }
  27.  // Single player level completed
  28.  if(mode==LEVELCOMPLETE1){
  29.   // initialise levelvariables
  30.   level++;
  31.   misileCounter=0;explodeCounter=0;housesDestroyed=0;
  32.   // increase number of houses
  33.   currentTotalHouses+=5;
  34.   // keep number of houses <= arhero size
  35.   if(currentTotalHouses>=60)currentTotalHouses=60;
  36.   // display inter-level screen
  37.   interLevelScreen(level);
  38.   rcImpact.top=5;
  39.   DXUSetFontAttributes(&impactFont,&rcImpact,DT_LEFT|DT_WORDBREAK,DXURGB(250,250,100));
  40.   initSprites();
  41.   // call the game loop to play next level
  42.   mode=game1();
  43.  }
  44.  // Multi player level completed
  45.  if(mode==LEVELCOMPLETE2){
  46.   // initialise levelvariables
  47.   level++;
  48.   misileCounter=0;explodeCounter=0;housesDestroyed=0;
  49.   // increase number of houses
  50.   currentTotalHouses+=6;
  51.   // keep number of houses <= arhero size
  52.   if(currentTotalHouses>=60)currentTotalHouses=60;
  53.   // display inter-level screen
  54.   interLevelScreen(level);
  55.   rcImpact.top=5;
  56.   DXUSetFontAttributes(&impactFont,&rcImpact,DT_LEFT|DT_WORDBREAK,DXURGB(250,250,100));
  57.   initSprites();
  58.   // call the game loop to play next level
  59.   mode=game2();
  60.  }
  61.  // if thegameisover display the introscreen and last score
  62.  if(mode==GAMECOMPLETE){
  63.   //initSprites();
  64.   housesDestroyed=0;
  65.   currentTotalHouses=10;
  66.   level=1;
  67.   mode=introScreen();
  68.   lives=10;
  69.   totalHousesDestroyed=0;
  70.  }
  71. }


 
je ne sais pas pkoi mais je ne peu pas afficher me menu multi joueur, quand j'appui "m" sur le clavier, le jeu me prend comme si il j'avais presser "s"
 
es ce que j'ai fais une erreur ds la loop?
 
ma function multi joueur a d'autre sprite qui doivent s'afficher mais le jeu se passe comme si j'avais presser "s" donc il ne me montre pas mon autre sprite
 
SVP aider moi, je suis stresser comme tous.
Merci d'avance
 
A+


---------------
NEC 3500 | YAMADA 6600 | NIMO_CORP
mood
Publicité
Posté le 03-11-2004 à 04:01:02  profilanswer
 

n°889154
nimo
New.Internet.Master.Operator
Posté le 03-11-2004 à 04:06:12  profilanswer
 

c'est l'intro qui annonce le menu:
 

Code :
  1. int introScreen()
  2. {
  3. // DXURunMedia();
  4. int t = rand()%9;
  5. DXUPlayMusic(m[t].x);
  6. while (DXUProcessMessages()) // Process system Messages
  7. { // read key board  
  8.  DXUReadKeyboard();
  9.  // if Q is pressed return game over
  10.  if (dxuKeyState[DIK_Q] )
  11.   DXUDestroyWindow() ;
  12.  // if S is pressed return SINGLE player game
  13.  if (dxuKeyState[DIK_S])
  14.   return SINGLE;
  15.  // if M is pressed return MULTI player game
  16.  if (dxuKeyState[DIK_M])
  17.   return MULTI;
  18.  // Other wise draw the background  
  19.  DXURenderPrepare();
  20.  DXUDrawSpriteFast(&sprIntro);
  21.  DXUPlaySFX(SN6);
  22.  strcpy(str,"" );
  23.  rcImpact.top=5;
  24.  DXUSetFontAttributes(&impactFont,&rcImpact,DT_LEFT|DT_WORDBREAK,DXURGB(250,250,100));
  25.  wsprintf(str,"Score: %-4d ",totalHousesDestroyed);
  26.  DXUDrawText(&impactFont,str);
  27.  DXURenderFinish();
  28. }
  29. // if there was error processing system messages return MESSAGEERROR
  30. return GAMEOVER;
  31. }


---------------
NEC 3500 | YAMADA 6600 | NIMO_CORP
n°889888
nimo
New.Internet.Master.Operator
Posté le 03-11-2004 à 22:19:29  profilanswer
 

person? :(


---------------
NEC 3500 | YAMADA 6600 | NIMO_CORP
n°889906
Panini
Posté le 03-11-2004 à 22:39:46  profilanswer
 

Tu peux pas tracer ton code en debug ? C'est tellement plus rapide pour trouver ce genre de problème.  
A priori, le binz viendrai de DXUReadKeyboard(). Vérifie que les entrées non enfoncées sont bien remises à 0.
 
Et puis stp, enlève la ligne 24 de introScreen, elle ne sert à rien. Et il faut mieux faire str[0] = '\0'; si tu veux initialiser une chaine vide. Et puis c'est pas propre une variable globale avec un tel nom :o.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Problem de loop ds un jeu [svp regarder]

 

Sujets relatifs
[C] problem de makefileproblem d'affichage
problem template et héritageproblem avec nuked-klan 1.6
visual 6 c++ : problem de compilation avec platform SDK pour WMIvieu problem en C
problem conversion char* -> string sous visual .netpeti problem pour dessiner
StringTokenizer, ou est le problem ? :/Unresolved Problem
Plus de sujets relatifs à : Problem de loop ds un jeu [svp regarder]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR