Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : aidé moi svp [ Windows / Autre ] (iliassh)

dimanche 3 juin 2007 à 22:02:14 | aidé moi svp

iliassh


je veux de l'aide pour que j'ajoute a ce jeux une fonction qui permeté d'affiché des brique qui ce seron bliti quand la balle les touche je veux svp qqc m'aiode parceque mon projet il faut que je le rend avnt le 11 juin svp envoyé a moi la correction a ce mail la iliass_ammouti@hotmail.fr 
et si vous trouvé des fautes n'esité pas monsieurs et madames de me le corrigé svp svp svp svp svp voila le codes source de mon projet:

#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h> /* Inclusion du header de SDL_image */

const int MIN_WIDTH = 0;
const int MAX_WIDTH = 800;

int quit =0;

/*raquette*/
const  Sint16 base_velocity = 2;
Sint16 velocity_left = 0;
Sint16 velocity_right = 0;

//Les surfaces
SDL_Surface *screen = NULL;
SDL_Surface *raquette_image=NULL;
SDL_Surface *balle_image=NULL;
SDL_Surface *fond_image=NULL;
//localisation de:
SDL_Rect balle_location;
SDL_Rect raquette_location;
SDL_Rect fond_location;

//evenemen pour jére la raquette et la balle

void process_events(void)
{
     SDL_Event event;
     Uint8* keystate;

    if(SDL_PollEvent(&event));
      {
        if(event.type == SDL_KEYDOWN)
        {
         if(event.key.keysym.sym == SDLK_ESCAPE)
          {
            quit = 1;
          }
          else if (event.key.keysym.sym == SDLK_SPACE)
          {
            int ballOnPaddle = 0;
          }
        }

      }
      keystate = SDL_GetKeyState(0) ;
      velocity_left = (keystate[SDLK_LEFT] ? base_velocity : 0);
      velocity_right = (keystate[SDLK_RIGHT] ? base_velocity : 0);

}

int init()
{
    //initialisation de tout les sous-systemes de sdl
    if( SDL_Init( SDL_INIT_EVERYTHING ) == -1 )
    {
        return 1;
    }

    //on met en place l'ecran
    screen = SDL_SetVideoMode( 800, 600, 32, SDL_SWSURFACE );

    //Si il y a une erreur lors de la mise en place de l'ecran
    if( screen == NULL )
    {
        return 1;
    }

    //on met en place la barre caption de la fenetre
    SDL_WM_SetCaption( "Casse Brique", NULL );

    //si tout s'est bien passé
    return 1;
}

 

void EnsureIsInPlayground(SDL_Rect *location)
{

  if(location->x < MIN_WIDTH)
  {
    (location)->x = MIN_WIDTH;
  }
  if((location)->x + (location)->w > (MAX_WIDTH))
  {
    (location)->x = MAX_WIDTH - (location)->w;
  }
}

SDL_Surface *load_image(char *filename )
{
    //L'image qui est chargée
    SDL_Surface *loadedImage = NULL;
    //L'image optimisée que nous utiliserons par la suite
    SDL_Surface *optimizedImage = NULL;
    //Chargement de l'image
    loadedImage = IMG_Load (filename) ;

    //Si l'image est chargée
    if( loadedImage != NULL )
    {
        //creation de l'image optimisée
        optimizedImage = SDL_DisplayFormat(loadedImage );

        //liberation de l'ancienne image
        SDL_FreeSurface( loadedImage );

        //si l'image optimisée créé est bonne
        if( optimizedImage != NULL )
        {
            Uint32 colorkey = SDL_MapRGB( optimizedImage->format, 255, 255, 255);
            //on met tout les pixel de couleur R 0, G 0xFF, B 0xFF transparent
            SDL_SetColorKey( optimizedImage, SDL_RLEACCEL | SDL_SRCCOLORKEY, colorkey );
        }
    }
    //on retourne l'image optimisé
    return optimizedImage;
}

SDL_Rect apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination )
{
    //rectangle temporaire
    SDL_Rect offset;

    offset.x = x;
    offset.y = y;

    return offset;

}

int load_files()
{
    //on charge l'image qu'on va appliquer sur le fond
    raquette_image = load_image( "AquaRaquette.png" );

    //si l'image se charge mal
    if( raquette_image == NULL )
    {
        return 0;
    }
    //chargement du background
    balle_image = load_image( "AquaBall.png" );

    //si le fond ne se charge pas
    if( balle_image == NULL )
    {
        return 0;
    }

    //chargement du background
    fond_image = load_image( "fond.png" );

    //si le fond ne se charge pas
    if( fond_image == NULL )
    {
        return 0;
    }
    return 1;
}

void clean_up()
{
    //Liberation des surfaces
  SDL_FreeSurface( balle_image );
    SDL_FreeSurface( raquette_image );
    SDL_FreeSurface( fond_image );

    //On quitte SDL
    SDL_Quit();
}


int main(int argc, char *argv[])
{
    //Initialisation
    if( init() == 0 )
    {
        return 1;
    }

       //chargement des fichiers
    if( load_files() == 0 )
    {
        return 1;
    }

    //Application des surfaces sur l'ecran
    fond_location=apply_surface( 0, 0, fond_image, screen );
    raquette_location=apply_surface( 400, 580, raquette_image, screen );

    while(quit==0)
    {
     process_events();
     raquette_location.x += (-velocity_left + velocity_right);
     EnsureIsInPlayground(&raquette_location);
     SDL_BlitSurface(fond_image, 0, screen, &fond_location);
     SDL_BlitSurface(balle_image, 0, screen, &balle_location);
     SDL_BlitSurface(raquette_image, 0, screen, &raquette_location);
     SDL_Flip(screen);
    }
    clean_up();
 }


dimanche 3 juin 2007 à 22:48:44 | Re : aidé moi svp

The_Guardian

Réponse acceptée !
Salut,


Deja, commence par gerer une balle qui va rebondir sur tous les murs et sur la raquette, puis ensuite, ajoute des briques, comme un tableau a deux dimensions par exemple, tu auras pas de mal a les dessiner avec les fonctions SDL.
Puis finalement, gere le rebond de la balle sur les briques et la destruction des briques.
La j'ai comme l'impression que tu as juste la base que tu as eu pour ton projet et que tu y as pas du tout touche..
Juste l'affichage donc...

===


Une autruche ne se cuit pas aux petits lardons

mercredi 6 juin 2007 à 12:28:17 | Re : aidé moi svp

max12

Administrateur CodeS-SourceS
Faudrais arrêter de nous soumettre des choses pas faite et dire je dois remettre a tel date

mercredi 6 juin 2007 à 19:30:59 | Re : aidé moi svp

iliassh


je pense que j'ai gere la balle dans mes evenmen et ce que je souhaite de vous monsieur de m'aidé a cree la fonction qui va ajouté les brique qui seront  blité lors que la balle va les touché et si vous pouvez me donner la fonction je vais le gardé come souvenir jamai je l'oubli et bien merci

mercredi 6 juin 2007 à 19:39:45 | Re : aidé moi svp

iliassh


le mieux de prend soin de toi et de dir quelque chose de bien ou de ferme ta bouche monsieur et je t'ajoute le code je le copié ou je le fai ca ce n'est pas ton a fair



Cette discussion est classé dans : image, fond, sdl, location, raquette


Répondre à ce message

Sujets en rapport avec ce message

Lib SDL -> probleme d'images [ par zmc ] bonjour, je debute plus ou moins en SDL, et je n'ai pas réussi a afficher un sprites (animé ou non) sur une image de fond. Selon la méthode que j'empl Problème SDL [ par MATHIS49 ] Bonjour ! Je débute en C++ et en SDL , j'ai donc décortiqué un petit programme fait en SDL qui avait pour l'avantage d'être accessible au débutant : SDL: afficher un BMP [ par yugiohjcj ] Bonjour,c'est mon deuxième message sur ce forum pour un problème avec SDL.Cette fois, je n'arrive pas à afficher une image BMP.Voici la source:void Sh Image 2D sur fond 3D [ par CyberP ] J'ai une question peut être stupide mais comment faire pour dessiner une image par dessus un rendu OpenGL ? Je pensais utiliser les trucs avec bitblt Mettre une image en fond [ par igratuit ] Bonjour, J'aimerais mettre une image en FOND d'écran, car une image normal, cache la souris. J'utilise C++ et la librairie ALLEGRO. Visiter www.Igrat Affichage d'une image de fond dans une boite de dialogue [ par Calimero150 ] Coucou tout le monde!Je cherche un moyen d'afficher une image de fond dans une boite de dialogue donc si quelqu'un peut m'aider, qu'il n'hésite pas! M integrer une image en fond de mon appli (avec MFC) [ par hobbes ] Bonjour,J ai cree un petit editeur de text en MFC. Je souhaiterait remplacer le fond gris de mon appli MDI par une image.si qq pouvait m aider,Merci,H TGALoader +SDL [ par Arnaud16022 ] HI!je voudrais juste savoir si il y a moyen de charger unne image avec le TGA Loader de funto, pour l'afficher a l'écran a l'aide de SDL_CreateRGBSurf probleme SDL et POO [ par darmoor ] voila je suis encore qu'un débutant dans la matière avec la POO et j'apprend a utiliser SDL j'ai fait un essai en affichant un image et avec unn SDL_ [SDL] Alternation d'une image [ par hoxid ] Salut !Bon voila j'ai un probleme avec SDL :je veux par exemple faire un gars qui marche (image "bonome.bmp") et que cette image se change en "bonomeq


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.