begin process at 2012 05 27 17:50:14
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > PONG 1.0 EN C AVEC LA BIBLIOTHÈQUE SDL

PONG 1.0 EN C AVEC LA BIBLIOTHÈQUE SDL


 Information sur la source

Note :
Aucune note
Catégorie :Jeux Classé sous :Pong, SDL, C Programming Niveau :Initié Date de création :12/09/2010 Date de mise à jour :03/05/2011 03:58:33 Vu :2 836

Auteur : qaz1289

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Pong 1.0 en C avec la bibliothèque SDL

Un jeu Pong avec la SDL.

Les contrôles sont:
Flèches (Haut, Bas) pour joueur 1
w et s              pour joueur 2
espace              pour relancer jeu

Si vous pensez à une idée pour intégrer une IA...



Source

  • /* main.c - projet PONG
  • ----------
  • Alexandre Rose, août 2010
  • Boucle principale du jeu Pong (comprend déplacement balle et joueurs)
  • ------------------------------------------------------------------------
  • */
  • #include <stdlib.h>
  • #include "constantes.h"
  • #include <windows.h>
  • #include <SDL.h>
  • #include "point.c"
  • #include "SDL_thread.h"
  • #include <SDL_ttf.h>
  • int pointage(SDL_Rect* positionBalle, int* score1, int* score2, int* up, int* down, int* w, int* s, vitesse* ball, char score[]);
  • int main ( int argc, char** argv )
  • {
  • SDL_Surface *ecran = NULL, *ligne = NULL, *balle = NULL, *joueur, *texte;
  • SDL_Event event;
  • SDL_Rect positionLigne;
  • SDL_Rect positionBalle;
  • SDL_Rect joueurUn;
  • SDL_Rect joueurDeux;
  • SDL_Rect positionTexte;
  • SDL_Color couleurBlanc = {255, 255, 255};
  • // SDL_Thread *fx = SDL_CreateThread(*pointage, NULL);
  • int vitesseBalle = 3;
  • int continuer = 1;
  • int up = 1;
  • int down = 1;
  • int w = 1;
  • int s = 1;
  • int score1 = 0, score2 = 0;
  • char score[10] = "";
  • int jkl = 0;
  • positionTexte.x = 239;
  • positionTexte.y = 14;
  • vitesse ball;
  • ball.x = 1;
  • ball.y = 1;
  • TTF_Init();
  • TTF_Font *police = NULL;
  • police = TTF_OpenFont("DS-DIGI.TTF", 65);
  • //positions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • positionLigne.x = LARGEUR_FENETRE/2 -5;
  • positionLigne.y = 0;
  • positionBalle.x = 0;
  • positionBalle.y = 0;
  • joueurUn.x = 10;
  • joueurUn.y = HAUTEUR_FENETRE/2 - TAILLE_PAD/2;
  • joueurDeux.x = LARGEUR_FENETRE - 18;
  • joueurDeux.y = HAUTEUR_FENETRE/2 - TAILLE_PAD/2;
  • //creation surfaces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • SDL_Init(SDL_INIT_VIDEO);
  • ecran = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
  • SDL_WM_SetCaption("Pong", NULL);
  • SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 20, 0));
  • ligne = SDL_CreateRGBSurface(SDL_HWSURFACE, 10, HAUTEUR_FENETRE, 32, 0, 0, 0, 0);
  • SDL_FillRect(ligne, NULL, SDL_MapRGB(ecran->format, 232, 238, 189));
  • SDL_BlitSurface(ligne, NULL, ecran, &positionLigne);
  • balle = SDL_CreateRGBSurface(SDL_HWSURFACE, 8, 8, 32, 0, 0, 0, 0);
  • SDL_FillRect(balle, NULL, SDL_MapRGB(ecran->format, 238, 228, 126));
  • SDL_BlitSurface(balle, NULL, ecran, &positionBalle);
  • joueur = SDL_CreateRGBSurface(SDL_HWSURFACE, 8, TAILLE_PAD, 32, 0, 0, 0, 0);
  • SDL_FillRect(joueur, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
  • SDL_BlitSurface(joueur, NULL, ecran, &joueurUn);
  • SDL_BlitSurface(joueur, NULL, ecran, &joueurDeux);
  • //SDL_EnableKeyRepeat(100, 100);
  • sprintf(score, "%d - %d", score1, score2);
  • texte = TTF_RenderText_Blended(police, score, couleurBlanc);
  • SDL_BlitSurface(texte, NULL, ecran, &positionTexte);
  • SDL_Flip(ecran);
  • //boucle jeu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • while (continuer)
  • {
  • //conditions pour la balle - -
  • if (positionBalle.y == HAUTEUR_FENETRE - 8)
  • {
  • ball.y = -1;
  • }
  • else if (positionBalle.x == LARGEUR_FENETRE - 8)
  • {
  • ball.x = -1;
  • }
  • else if (positionBalle.y == 0)
  • {
  • ball.y = 1;
  • }
  • else if (positionBalle.x == 0)
  • {
  • ball.x = 1;
  • }
  • else if (positionBalle.x == joueurUn.x + 8 && positionBalle.y > joueurUn.y && positionBalle.y < joueurUn.y + TAILLE_PAD)
  • {
  • ball.x = 1;
  • }
  • else if (positionBalle.x == joueurDeux.x - 8 && positionBalle.y > joueurDeux.y && positionBalle.y < joueurDeux.y + TAILLE_PAD)
  • {
  • ball.x = -1;
  • }
  • positionBalle.x += ball.x;
  • positionBalle.y += ball.y;
  • //blit surfaces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • texte = TTF_RenderText_Blended(police, score, couleurBlanc);
  • SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 20, 0));
  • SDL_BlitSurface(ligne, NULL, ecran, &positionLigne);
  • SDL_BlitSurface(balle, NULL, ecran, &positionBalle);
  • SDL_BlitSurface(joueur, NULL, ecran, &joueurUn);
  • SDL_BlitSurface(joueur, NULL, ecran, &joueurDeux);
  • SDL_BlitSurface(texte, NULL, ecran, &positionTexte);
  • SDL_Flip(ecran);
  • SDL_PollEvent(&event);
  • //conditions clavier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • switch (event.type)
  • {
  • case SDL_QUIT:
  • continuer = 0;
  • break;
  • case SDL_KEYDOWN: //case KEYBOARD event
  • switch (event.key.keysym.sym)
  • {
  • case SDLK_ESCAPE:
  • continuer = 0;
  • break;
  • case SDLK_UP:
  • up = 0;
  • break;
  • case SDLK_DOWN:
  • down = 0;
  • break;
  • case SDLK_w:
  • w = 0;
  • break;
  • case SDLK_s:
  • s = 0;
  • break;
  • }
  • break;
  • case SDL_KEYUP:
  • switch (event.key.keysym.sym)
  • {
  • case SDLK_UP:
  • up = 1;
  • break;
  • case SDLK_DOWN:
  • down = 1;
  • break;
  • case SDLK_w:
  • w = 1;
  • break;
  • case SDLK_s:
  • s = 1;
  • break;
  • }
  • }
  • if (positionBalle.x == LARGEUR_FENETRE - 8)
  • {
  • s = 1;
  • }
  • pointage(&positionBalle, &score1, &score2, &up, &down, &continuer, &jkl, &ball, score);
  • if (jkl == 1)
  • {
  • Sleep(500);// pause empêche bug des palettes qui continuent
  • }
  • if (up == 0)
  • {
  • joueurUn.y += -2;
  • }
  • if (down == 0 && joueurUn.y < HAUTEUR_FENETRE - TAILLE_PAD)
  • {
  • joueurUn.y += 2;
  • }
  • if (w == 0)
  • {
  • joueurDeux.y += -2;
  • }
  • if (s == 0 && joueurDeux.y < HAUTEUR_FENETRE - TAILLE_PAD)
  • {
  • joueurDeux.y += 2;
  • }
  • Sleep(vitesseBalle); //delais pour vitesse balle
  • if (jkl == 1)
  • {
  • up = 1;
  • down = 1;
  • w = 1;
  • s = 1;
  • jkl = 0;
  • }
  • }
  • SDL_Quit();
  • }
  • /* point.c - projet PONG
  • ----------
  • Alexandre Rose, août 2010
  • Gestion des évènements si la balle sort du terrain
  • ------------------------------------------------------
  • */
  • #include <stdlib.h>
  • #include <stdio.h>
  • #include <SDL.h>
  • #include "constantes.h"
  • //#include <SDL/SDL_ttf.h>
  • int pointage(SDL_Rect* positionBalle, int* score1, int* score2, int* up, int* down, int* w, int* s, vitesse* ball, char score[])
  • {
  • SDL_Event event;
  • int continuer = 1;
  • if (positionBalle->x == LARGEUR_FENETRE - 8)
  • {
  • *score1 = *score1 + 1;
  • while (continuer)
  • {
  • SDL_WaitEvent(&event);
  • switch(event.type)
  • {
  • case SDL_QUIT:
  • continuer = 0;
  • return 1;
  • break;
  • case SDL_KEYDOWN:
  • switch(event.key.keysym.sym)
  • {
  • case SDLK_SPACE:
  • *s = 1;
  • continuer = 0;
  • break;
  • case SDLK_ESCAPE:
  • continuer = 0;
  • *w = 0;
  • return 1;
  • break;
  • }
  • }
  • }
  • printf("%d", *score1);
  • positionBalle->x = 1;
  • positionBalle->y = 10;
  • sprintf(score, "%d - %d", *score1, *score2);
  • }
  • else if (positionBalle->x == 0)
  • {
  • *score2 = *score2 + 1;
  • positionBalle->y = HAUTEUR_FENETRE - 8;
  • positionBalle->x = 1 ;
  • ball->x = 1;
  • while (continuer)
  • {
  • SDL_WaitEvent(&event);
  • switch(event.type)
  • {
  • case SDL_QUIT:
  • continuer = 0;
  • return 1;
  • break;
  • case SDL_KEYDOWN:
  • switch(event.key.keysym.sym)
  • {
  • case SDLK_SPACE:
  • *s = 1;
  • continuer = 0;
  • break;
  • case SDLK_ESCAPE:
  • continuer = 0;
  • *w = 0;
  • return 1;
  • break;
  • }
  • }
  • }
  • sprintf(score, "%d - %d", *score1, *score2);
  • }
  • return 0;
  • }
  • /* constantes.h - projet PONG
  • ----------
  • Alexandre Rose, août 2010
  • Constantes et définitions du projet PONG
  • -------------------------------------------
  • */
  • #ifndef CONSTANTES_H_INCLUDED
  • #define CONSTANTES_H_INCLUDED
  • #define LARGEUR_FENETRE 600
  • #define HAUTEUR_FENETRE 300
  • #define TAILLE_PAD 55
  • #define MAX 292
  • #define MIN 0
  • typedef struct vitesse vitesse;
  • struct vitesse
  • {
  • float x;
  • float y;
  • };
  • #endif // CONSTANTES_H_INCLUDED
/*   main.c     - projet PONG
    ----------

 Alexandre Rose, août 2010

 Boucle principale du jeu Pong (comprend déplacement balle et joueurs)

 ------------------------------------------------------------------------
 */

#include <stdlib.h>
#include "constantes.h"
#include <windows.h>

#include <SDL.h>
#include "point.c"
#include "SDL_thread.h"
#include <SDL_ttf.h>



int pointage(SDL_Rect* positionBalle, int* score1, int* score2, int* up, int* down, int* w, int* s, vitesse* ball, char score[]);

int main ( int argc, char** argv )
{
    SDL_Surface *ecran = NULL, *ligne = NULL, *balle = NULL, *joueur, *texte;
    SDL_Event event;
    SDL_Rect positionLigne;
    SDL_Rect positionBalle;
    SDL_Rect joueurUn;
    SDL_Rect joueurDeux;
    SDL_Rect positionTexte;
    SDL_Color couleurBlanc = {255, 255, 255};

  //  SDL_Thread *fx = SDL_CreateThread(*pointage, NULL);

    int vitesseBalle = 3;
    int continuer = 1;
    int up = 1;
    int down = 1;
    int w = 1;
    int s = 1;
    int score1 = 0, score2 = 0;
    char score[10] = "";
    int jkl = 0;


    positionTexte.x = 239;
    positionTexte.y = 14;

    vitesse ball;
    ball.x = 1;
    ball.y = 1;

    TTF_Init();

    TTF_Font *police = NULL;

    police = TTF_OpenFont("DS-DIGI.TTF", 65);
//positions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    positionLigne.x = LARGEUR_FENETRE/2 -5;
    positionLigne.y = 0;

    positionBalle.x = 0;
    positionBalle.y = 0;

    joueurUn.x = 10;
    joueurUn.y = HAUTEUR_FENETRE/2 - TAILLE_PAD/2;

    joueurDeux.x = LARGEUR_FENETRE - 18;
    joueurDeux.y = HAUTEUR_FENETRE/2 - TAILLE_PAD/2;

//creation surfaces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SDL_Init(SDL_INIT_VIDEO);

    ecran = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
    SDL_WM_SetCaption("Pong", NULL);
    SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 20, 0));

    ligne = SDL_CreateRGBSurface(SDL_HWSURFACE, 10, HAUTEUR_FENETRE, 32, 0, 0, 0, 0);
    SDL_FillRect(ligne, NULL, SDL_MapRGB(ecran->format, 232, 238, 189));
    SDL_BlitSurface(ligne, NULL, ecran, &positionLigne);

    balle = SDL_CreateRGBSurface(SDL_HWSURFACE, 8, 8, 32, 0, 0, 0, 0);
    SDL_FillRect(balle, NULL, SDL_MapRGB(ecran->format, 238, 228, 126));
    SDL_BlitSurface(balle, NULL, ecran, &positionBalle);

    joueur = SDL_CreateRGBSurface(SDL_HWSURFACE, 8, TAILLE_PAD, 32, 0, 0, 0, 0);
    SDL_FillRect(joueur, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
    SDL_BlitSurface(joueur, NULL, ecran, &joueurUn);
    SDL_BlitSurface(joueur, NULL, ecran, &joueurDeux);

    //SDL_EnableKeyRepeat(100, 100);

    sprintf(score, "%d - %d", score1, score2);
    texte = TTF_RenderText_Blended(police, score, couleurBlanc);

    SDL_BlitSurface(texte, NULL, ecran, &positionTexte);

    SDL_Flip(ecran);






//boucle jeu  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    while (continuer)
    {


//conditions pour la balle  - -
        if (positionBalle.y == HAUTEUR_FENETRE - 8)
        {
            ball.y = -1;
        }
        else if (positionBalle.x == LARGEUR_FENETRE - 8)
        {
            ball.x = -1;
        }
        else if (positionBalle.y == 0)
        {
            ball.y = 1;
        }
        else if (positionBalle.x == 0)
        {
            ball.x = 1;
        }
        else if (positionBalle.x == joueurUn.x + 8 && positionBalle.y > joueurUn.y && positionBalle.y < joueurUn.y + TAILLE_PAD)
        {
            ball.x = 1;
        }
         else if (positionBalle.x == joueurDeux.x - 8 && positionBalle.y > joueurDeux.y && positionBalle.y < joueurDeux.y + TAILLE_PAD)
        {
            ball.x = -1;
        }
        positionBalle.x += ball.x;
        positionBalle.y += ball.y;

//blit surfaces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        texte = TTF_RenderText_Blended(police, score, couleurBlanc);

        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 20, 0));
        SDL_BlitSurface(ligne, NULL, ecran, &positionLigne);
        SDL_BlitSurface(balle, NULL, ecran, &positionBalle);
        SDL_BlitSurface(joueur, NULL, ecran, &joueurUn);
        SDL_BlitSurface(joueur, NULL, ecran, &joueurDeux);
        SDL_BlitSurface(texte, NULL, ecran, &positionTexte);

        SDL_Flip(ecran);

        SDL_PollEvent(&event);


//conditions clavier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        switch (event.type)
       {
            case SDL_QUIT:
            continuer = 0;
            break;

            case SDL_KEYDOWN:                       //case KEYBOARD event
                switch (event.key.keysym.sym)
                {
                    case SDLK_ESCAPE:
                        continuer = 0;
                        break;
                    case SDLK_UP:
                        up = 0;
                    break;

                    case SDLK_DOWN:
                        down = 0;
                    break;
                    case SDLK_w:
                        w = 0;
                    break;

                    case SDLK_s:
                        s = 0;
                    break;
                }
                break;
            case SDL_KEYUP:
                switch (event.key.keysym.sym)
                {
                    case SDLK_UP:
                        up = 1;
                        break;

                    case SDLK_DOWN:
                        down = 1;
                        break;
                    case SDLK_w:
                        w = 1;
                        break;

                    case SDLK_s:
                        s = 1;
                        break;
                }


       }
       if (positionBalle.x == LARGEUR_FENETRE - 8)
       {
           s = 1;
       }

        pointage(&positionBalle, &score1, &score2, &up, &down, &continuer, &jkl, &ball, score);
        if (jkl == 1)
        {

         Sleep(500);// pause empêche bug des palettes qui continuent
        }



    if (up == 0)
    {
         joueurUn.y += -2;
    }

    if (down == 0 && joueurUn.y < HAUTEUR_FENETRE - TAILLE_PAD)
    {
         joueurUn.y += 2;
    }

    if (w == 0)
    {
         joueurDeux.y += -2;
    }

     if (s == 0 && joueurDeux.y < HAUTEUR_FENETRE - TAILLE_PAD)
    {
         joueurDeux.y += 2;
    }




    Sleep(vitesseBalle); //delais pour vitesse balle

if (jkl == 1)
       {
         up = 1;
         down = 1;
         w = 1;
         s = 1;
         jkl = 0;

       }

    }


    SDL_Quit();

}




/*   point.c   - projet PONG
    ----------

 Alexandre Rose, août 2010

 Gestion des évènements si la balle sort du terrain

 ------------------------------------------------------
 */

#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
#include "constantes.h"
//#include <SDL/SDL_ttf.h>

int pointage(SDL_Rect* positionBalle, int* score1, int* score2, int* up, int* down, int* w, int* s, vitesse* ball, char score[])
{
    SDL_Event event;
    int continuer = 1;
    if (positionBalle->x == LARGEUR_FENETRE - 8)
    {

        *score1 = *score1 + 1;

        while (continuer)
        {
        SDL_WaitEvent(&event);
        switch(event.type)
        {
            case SDL_QUIT:
                continuer = 0;
                return 1;
                break;

            case SDL_KEYDOWN:

                switch(event.key.keysym.sym)
                {
                    case SDLK_SPACE:

                        *s = 1;
                        continuer = 0;

                        break;

                    case SDLK_ESCAPE:
                        continuer = 0;
                        *w = 0;
                        return 1;
                        break;
                }
            }
        }


        printf("%d", *score1);
        positionBalle->x = 1;
        positionBalle->y = 10;
        sprintf(score, "%d - %d", *score1, *score2);

    }
    else if (positionBalle->x == 0)
    {
        *score2 = *score2 + 1;
        positionBalle->y = HAUTEUR_FENETRE - 8;
        positionBalle->x = 1 ;
        ball->x = 1;

        while (continuer)
        {
        SDL_WaitEvent(&event);
        switch(event.type)
        {
            case SDL_QUIT:
                continuer = 0;
                return 1;
                break;

            case SDL_KEYDOWN:

                switch(event.key.keysym.sym)
                {
                    case SDLK_SPACE:

                        *s = 1;
                        continuer = 0;

                        break;

                    case SDLK_ESCAPE:
                        continuer = 0;
                        *w = 0;
                        return 1;
                        break;
                }
            }
        }

        sprintf(score, "%d - %d", *score1, *score2);
    }
return 0;
}

/*  constantes.h   - projet PONG
    ----------

 Alexandre Rose, août 2010

 Constantes et définitions du projet PONG

 -------------------------------------------
 */


#ifndef CONSTANTES_H_INCLUDED
#define CONSTANTES_H_INCLUDED

#define LARGEUR_FENETRE     600
#define HAUTEUR_FENETRE     300
#define TAILLE_PAD          55

#define MAX                 292
#define MIN                 0



typedef struct vitesse vitesse;
struct vitesse
{
    float x;
    float y;
};

#endif // CONSTANTES_H_INCLUDED

 Conclusion

Vous pouvez télécharger le programme compilé ici: http://solved-pc-issues.blogspot.com/2010/09/pong. html

N'hésitez pas à suggérer des améliorations


 Historique

03 mai 2011 03:58:33 :
Ajout du fichier manquant: Constantes.h

 Sources de la même categorie

Source avec Zip [VBA] TOWER BATTLE 4 par Softmama
Source avec Zip Source avec une capture [VBA] TOWER BATTLE 3 par Softmama
Source avec Zip Source avec une capture Source .NET (Dotnet) XBOXLIVE AVATAR DOWNLOAD par quentinix
Source avec Zip Source avec une capture Source .NET (Dotnet) GÉNÉRATEUR DE GRILLES DE MOTS MÉLÉS par ardeliner
Source avec Zip HUTOWERS JEU DE CARTES SIMILAIRE AU VIEIL ADATOWERS QUI NE M... par roudoudou2708

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture JEUX SERPENT par antho974
Source avec Zip Source avec une capture PENDU EN SDL par Damsou91
CASSE BRIQUE SDL MODIFICATION par Vardosh
Source avec Zip Source avec une capture PONG EN SDL par cynix
Source avec Zip Source avec une capture PONG SDL-FMOD par Rouliann

Commentaires et avis

Commentaire de Sportposition le 21/09/2010 09:24:50

Salut, j'ai une idée pour créer une intelligence artificielle.
Elle serait très basique et permettrait juste à l'adversaire de renvoyer les balles, sans chercher à bien la placer.
Voici comment procéder : à chaque boucle, tu vérifie la position y de la raquette de l'ordi par rapport à celle de la balle.
Si la balle est au-dessus, tu fais monter la raquette d'une unité, et inversement :P

J'espère t'avoir aidé.

Commentaire de qaz1289 le 27/09/2010 21:11:29

Oui c'est une bonne idée et je vais l'essayer. Toutefois, il ne sera jamais possible de marquer contre l'IA... je crois que je devrais repenser à une manière de faire bouger la balle.Le principal problème est que la balle et la raquette changent de position à chaque calcul de la boucle. S'il y avait un moyen de déplacer la balle et la raquette par unité de temps, je pourais imposer une "limite de vitesse" à l'ordinateur pour qu'il puisse "manquer de temps" pour atteindre la balle et ainsi pouvoir marquer.
Ça me permetterais aussi de modifier l'angle avec lequel la balle quitte la raquette si on touche près du bord.
Je pense que l'utilisation d'un thread ou d'un processus pourrait régler le problème, mais je n'en suis pas sur et je ne sais pas comment les utiliser...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Réseau PONG SDL [ par bentheouf ] Salut je développe en se moment un pong Réseau en sdl mais depuis ke j'ai implémenté les fonctions réseau mon pong ki étai tré flmuide avant est deven SDL : comment rafraichir l'ecran? [ par smilandfly ] Bonsoir'je viens de mettre sous sdl (que je viens de decouvrir) mon awale programmé en C++ en mode texte.J'ai 2 problemes qui ne sont sans doute pas t Lire un fichier avi (ou autre) avec SDL [ par koyott_sup ] Bonjour,J'aimerai savoir comment lire un fichier avi (divx) , ou un autre format video, avec la SDL pour afficher la séquence dans une SDL_SurfaceBut Aide SDL [ par CodeMercury ] Salut,J'aimerai savoir comment installer SDL avec Visual C++.Merci d'avance.Alex Probleme avec sdl [ par psycho ] Salut a tous!Est-ce que quelqu'un connait la fonction SDL_CreateRGBSurface de la libairie SDL? J ai cherché sur google, dans ce forum, et dans les sou problème de processeur avec SDL [ par Goliath49 ] Bonjour,je suis entrain de développer un casse brique en C avec SDL.J'utilise DevCpp et suis sous XP.J'aimerais savoir qu'elles sont les possibiltés p encore un prob sur sdl et decpp [ par anek971 ] Je pense bien ke ce ke je vais demandé est un peu gonflant a la longue mais j'ai essayé tout ce ke j'ai pu voir sur sdl pour sa configuration sur devc SDL:fenetre transparente [ par o43 ] Comme la fenetre est une SDL_Surface, je me suis dit que je pouvais la rendre transparente. mais j'ai essaye de nombreuses manierers et je n'y arrive probleme d'affichage pour la creation d'un casse brike [ par anek971 ] Bonjour a tous,enfaite j'essaye de faire un casse-brique avec SDL en C, pour l'instant il est loin d'etre fini et n'est pas optimiser c juste un test. Sprites & SDL [ par zmc ] Bonjour,J'ai commencé recemment à utiliser la SDL (qui n'est pas trop mal) et j'ai rencontré un petit problème :J'ai écrit une fonction qui découpe un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales