Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec le jeu sokoban

carte

    9 juin 2006 à 0:00:42

    salut j'aurais une question a propos du jeu sokoban
    J'ai fait une petite parti du code c'est bien mais je ne les pas fait avec la carte est ce que quelqu'un pourrait m'aider ou me faire un demonstration avec la carte (exemple: mettre mon joueur de dépard dans la case 5.7)
    j'ai essayer mais tjrs en bogan mon prog
    voici mes codes un peu long mdr
    Main.c
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include "jeu.h"

    int main(int argc, char *argv[])
    {
        SDL_Surface *ecran = NULL, *menu = NULL;
        SDL_Rect positionMenu;
        SDL_Event event;

        int continuer = 1;

        SDL_Init(SDL_INIT_VIDEO);


        ecran = SDL_SetVideoMode(500, 500, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
        SDL_WM_SetCaption("Mario Sokoban", NULL);

        menu = IMG_Load("menu.bmp");
        positionMenu.x = 0;
        positionMenu.y = 0;

        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
                    break;
                case SDL_KEYDOWN:
                    switch(event.key.keysym.sym)
                    {
                        case SDLK_ESCAPE: // Veut arrêter le jeu
                            continuer = 0;
                            break;
                        case SDLK_KP1: // Demande à jouer
                            jouera();
                            break;
                            case SDLK_KP2: // Demande à jouer
                            continuer = 0;
                            break;
                            case SDLK_KP3: // Demande à jouer
                            continuer = 0;
                            break;

                    }
                    break;
            }

            // Effacement de l'écran
            SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
            SDL_BlitSurface(menu, NULL, ecran, &positionMenu);
            SDL_Flip(ecran);
        }

        SDL_FreeSurface(menu);
        SDL_Quit();

        return EXIT_SUCCESS;
    }



    et voici le jeu.c

    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>



    void jouera()
    {


        SDL_Surface *ecran = NULL, *mario = NULL;
        SDL_Rect positionmario;
        SDL_Event event;
        int continuer = 1;

        SDL_Init(SDL_INIT_VIDEO);

        ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE);
        SDL_WM_SetCaption("Gestion des évènements en SDL", NULL);


        mario = IMG_Load("mario_bas.gif");
        SDL_SetColorKey(mario, SDL_SRCCOLORKEY, SDL_MapRGB(mario->format, 0, 0, 255));


        positionmario.x = ecran->w / 2 - mario->w / 2;
        positionmario.y = ecran->h / 2 - mario->h / 2;

    SDL_EnableKeyRepeat(1, 1);
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
                    break;
                case SDL_KEYDOWN:
                    switch(event.key.keysym.sym)
                    {
                        case SDLK_UP: // Flèche haut
                            positionmario.y--;
                            break;
                        case SDLK_DOWN: // Flèche bas
                            positionmario.y++;
                            break;
                        case SDLK_RIGHT: // Flèche droite
                            positionmario.x++;
                            break;
                        case SDLK_LEFT: // Flèche gauche
                            positionmario.x--;
                            break;
                    }
                    break;
            }

            SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255)); /* On efface l'écran */
            SDL_BlitSurface(mario, NULL, ecran, &positionmario); /* On place mario à sa nouvelle position */
            SDL_Flip(ecran); /* On met à jour l'affichage */
        }

        SDL_FreeSurface(mario);
        SDL_Quit();


    }





    • Partager sur Facebook
    • Partager sur Twitter

    Probleme avec le jeu sokoban

    × 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