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

  FORUM HardWare.fr
  Programmation
  C++

  aide code c++ jeux pacman

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide code c++ jeux pacman

n°2191733
garfield95
Posté le 25-05-2013 à 23:55:20  profilanswer
 

Bonsoir,
 
j'ai quelques petits soucis sur mon pacman, et un peu d'aide sera la bienvenue^^
J'ai un niveau basique, j'ai donc quelques pb à construire le code source de ce programme qui est assez complexe:
 
1)mon 1er pb est la direction du fantôme: il part dans toutes les directions, mais dès que le chiffre tiré au hasard indique la direction d'un mur, il reste bloqué et refuse de tirer au hasard un autre chiffre afin de changer de direction. De plus, j'aimerais qu'il ne reparte pas dans la direction d'où il vient, afin de ne pas rester dans les mêmes zones.
code:
 
/******************************************************************************************************************
choix d'une direction aleatoire                                                                                        
******************************************************************************************************************/
 
void direction_choisi()
{
    int poursuivre=1;
    int nombre_aleatoire;
 
    {
    int rand (void);
    int nombre_aleatoire = 0;
    srand(time(NULL)); // initialisation de rand //S
    }
        while (poursuivre==1)
    {
        nombre_aleatoire=rand()%4;
        if (tab_carrefour[FANTOME_R_etat.noeud_origine].tab_directions[nombre_aleatoire]!=0);
        {
        poursuivre=0;
        FANTOME_R_etat.direction= nombre_aleatoire;
        }
         //while (poursuivre==0);
        {
            nombre_aleatoire=rand()%4;
            //FANTOME_R_etat.direction= nombre_aleatoire;
        }
    }
}
 
2) le pb n°2 est le déplacement à travers le tunnel de gauche à droite: je n'ai actuellement aucune idée de comment faire pour que pacman et le fantôme passe par le tunnel instantanément car pour le moment ils traversent toute la carte jusqu'au point d'arrivée en traversant tous les murs. Les déplacements se passent entre noeud, un noeud représentant un croisement (ils sont numérotés). Il faut qu'ils puissent passer d'un noeud x à un noeud y instantanément sans qu'il y est de trace de leurs passages (disparitions de murs...)
J'avais pensé à ne pas utiliser l'image du fantôme et du pacman lors du passage afin que la carte reste intacte, mais je ne sais pas comment le coder.
 
3)Le dernier pb est la fin de partie: je ne sais pas comment coder la mort du pacman lors du contact entre le pacman et le fantôme.
 
Merci d'avance, toute trace de solution me sera utile.
Bonne soirée
 :)  

mood
Publicité
Posté le 25-05-2013 à 23:55:20  profilanswer
 

n°2191738
Joel F
Real men use unique_ptr
Posté le 26-05-2013 à 09:03:34  profilanswer
 

srand(time(NULL));

 

tu n'as besoin de le faire qu'une seul fois par programme, pas a chaque appel de fonction.

 


 int rand (void);

 

NON. c'est #include<stdlib.h> qu'il faut mettre en debut de fichier

Message cité 2 fois
Message édité par Joel F le 26-05-2013 à 09:04:29
n°2191739
Farian
Posté le 26-05-2013 à 09:11:09  profilanswer
 

Joel F a écrit :

srand(time(NULL));
 
tu n'as besoin de le faire qu'une seul fois par programme, pas a chaque appel de fonction.  
 


 
C'est même potentiellement contre-productif : si la fonction est appelée plusieurs durant la même seconde, les tirages seront identiques.

n°2191765
Terminapor
I'll see you rise.
Posté le 26-05-2013 à 17:15:00  profilanswer
 

Joel F a écrit :

srand(time(NULL));
 
tu n'as besoin de le faire qu'une seul fois par programme, pas a chaque appel de fonction.  
 
 
 int rand (void);  
 
NON. c'est #include<stdlib.h> qu'il faut mettre en debut de fichier


C'est pas plutôt cstdlib en C++ ? (Enfin, autant il le fait en C, là c'est même carrément du C, mais il a posté dans la cat C++ :D)


---------------
Perhaps you don't deserve to breathe
n°2191770
Joel F
Real men use unique_ptr
Posté le 26-05-2013 à 19:21:57  profilanswer
 

en c++, soit cstdlib pour rand spoit on utilis eun vrai PRNG via boost ou std::

n°2192561
garfield95
Posté le 02-06-2013 à 23:09:11  profilanswer
 

Bonsoir,
merci pour vos réponses et dsl de ne pas avoir pu répondre plus tôt
étant débutant en C et C++, mon programme ayant été commencé en C++ ressemble effectivement plus à du C
 
j'ai déjà mis en début de programme #include<cstdlib> donc ce n'est pas le soucis
et il n'y a pas répétition de la fonction et donc du même tirage car le fantôme change de direction à chaque noeud (sauf quand c'est un mur)


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

  aide code c++ jeux pacman

 

Sujets relatifs
Aide développement Jeu sur Annecy[Java]Aide affichage 3d dynamique
liste langage C (bug compilation code blocks)aide sur balise alt
Besoin d'aide pour site photosproblème d'enregistrement ds fichier TMP j'ai besoin d'aide
Projet VBA : Simulation d'un jeux de pokerCode imcomplet
Code VBA pour coller un tableau excel dans corps de mail Outlook[.htaccess] remplacer les accents par leur code - URL rewriting
Plus de sujets relatifs à : aide code c++ jeux pacman


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