Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] Problèmes pour quitter le jeu.

    28 avril 2006 à 11:59:06

    (Re-)Bonjour à tous :)

    Voilà, j'ai un leger problème, je travaille depuis un peu de temps sur un jeu (Block Dude) et j'ai 2-3 problèmes que j'aimerais regler.

    Lorsque l'on joue, et que l'on veut quitter le jeu pour revenir au menu principal, on doit s'éxiter comme un malade sur echap (ou la croix). J'ai l'impression que ça me re-charge tous les niveaux précédents. De plus, ça m'affiche gagné >_< . La po compris ! (Pour les amateurs des Nuls)

    Voici mon code: (J'ai enlevé des parties qui servaient à rien, a mon avis, et j'ai laissé les commentaires)
    void jouer(SDL_Surface* ecran, int *numNiveau)
    {

        SDL_Surface *mario[2] = {NULL}; // 2 surfaces pour chacune des directions de mario
        SDL_Surface *mur = NULL, *caisse = NULL, *objectif = NULL, *marioActuel = NULL;
        SDL_Rect position, positionJoueur;
        SDL_Event event;

        int continuer = 1, i = 0, j = 0, droite=1, porte_caisse = 0;
        int carte[NB_BLOCS_LARGEUR][NB_BLOCS_HAUTEUR] = {0};

        // Chargement des sprites (décors, personnage...)

        // Chargement du niveau

        // Recherche de la position de Mario au départ

        // Activation de la répétition des touches

        while (continuer)
        {
            SDL_WaitEvent(&event);
    switch(event.type)
    {
        case SDL_QUIT:
            continuer = 0;
            break;
        case SDL_KEYDOWN:
          if(marioActuel == mario[DROITE]) { droite = 1 ;}else{ droite = 0 ;}
            switch(event.key.keysym.sym)
            {
                case SDLK_ESCAPE:
                    continuer = 0;
                    break;
                //les déplacements

                //recommencer

                //niveau suivant

                //niveau précédent
            }
            break;
    }

            // Effacement de l'écran
            SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));

            // On place le joueur à la bonne position

            // Si Mario est sur l'objectif : c'est gagné !
            if (carte[positionJoueur.x][positionJoueur.y] == OBJECTIF && continuer == 1)
            gagne(ecran,*numNiveau) ;

            // Placement des objets à l'écran
        }

        // Désactivation de la répétition des touches (remise à 0)

        // Libération des surfaces chargées
        SDL_FreeSurface(mur);
        SDL_FreeSurface(caisse);
        SDL_FreeSurface(objectif);
        for (i = 0 ; i < 2 ; i++)
            SDL_FreeSurface(mario[i]);
    }


    Voilà, si quelqu'un peut m'aider ;)
    • Partager sur Facebook
    • Partager sur Twitter

    [C] Problèmes pour quitter le jeu.

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown