Bonjour;

je me suis chargée de faire un jeu de casse brique sous C++ en utilisant des classes que je dois les créer(orienté objet) ainsi que la bibliothèque de classe SDL,voici mes classes :Raquette,classe Brique,Classe Balle,...
j'ai commencé par la création de la fenêtre et ça marchait très bien ensuite j'ai créer une raquette qui se déplace quand j'appuie sur les touches Left & right du clavier enfin j'ai créer les briques;mais quand j'exécute; la première fenêtre que j'ai crée s'affiche et il contient l'image du fond et la brique et quand j'appuie sur la touche left ou right du clavier une autre fenêtre qui contient la raquette et la brique s'affiche mais il ne contient pas l'image du fond , je sais bien que le problème provient du SDL_Flip qui met à jour la fenêtre mais je ne sait pas comment la manipuler :voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
 
//l'implémentation:  Raquette.cpp
Raquette::Raquette ( int initialX, int initialY, int nbrFramesW, int nbrFramesH, char* file,SDL_Surface* screen){
                 loadSpriteSheet ( file );
 
    _x = initialX;
    _y = initialY;
    _w =nbrFramesW;
    _screen=screen;
    _h =nbrFramesH;
 
                   }
 
 
void Raquette::loadSpriteSheet(char* file){
      _spriteSheet = SDL_LoadBMP ( file );
        }
 
void Raquette::move(){
     bool running=true;
       //  Uint8 *keys = SDL_GetKeyState(NULL);
                 SDL_WaitEvent ( &event );
 
           while (running){
 
     if (SDL_PollEvent(&event)){
       switch ( event.type ) {
               case SDL_QUIT:
                     running = false;
                      break;
 
                 case SDL_KEYDOWN:
 
                       switch ( event.key.keysym.sym ) {
 
                          case SDLK_LEFT:
                   if (_x<0)_x=10;
 
                             _x=_x-15; break;
 
 
                          case SDLK_RIGHT:
                               if (_x>480)_x=500;
                               _x=_x+15;break;
 
                 }
 
                 }
 
                  show(_screen);
 
 
 
                }
 
                 }
 
 
                 }
 
                 void Raquette::show(SDL_Surface* sscreen){
                      SDL_Rect frameRect;
 
     Brique b(12,12,12,12,"Brique/brique1.bmp",sscreen);
     b.show();
     SDL_Rect pos;
 
     pos.x = _x;
     pos.y = _y;
 
        SDL_FillRect ( _screen, NULL, SDL_MapRGB ( _screen->format, 20, 200, 20 ) );
     SDL_BlitSurface ( _spriteSheet, NULL, sscreen, &pos );
                  //  SDL_Flip ( _screen );
                  //  SDL_Delay ( 60 );  
 
                      }
 
 
 
 
     }
//l'implémentation : brique.cpp
 
Brique::Brique(int x,int y,int w,int h,char *file,SDL_Surface * Screen)
{
                   loadFile(file);
                   _x=x;
                   _y=y;
                   _w=w;
                   _h=h;
                   _screen=Screen;
                   }
                   void Brique::loadFile(char* file)
                   {
 
                        _sbrique=SDL_LoadBMP(file);
                                                }
                                                void Brique::placerBrique(){
                                                        show();
 
                             }
                             void Brique::show(){
                                  SDL_Rect pos;
 
     pos.x = _x;
     pos.y = _y;
 
 
     SDL_BlitSurface ( _sbrique, NULL, _screen, &pos );
                          SDL_Flip(_screen);
                           //SDL_Delay(60)       ;
                                  }
 
//  main.cpp
    SDL_Init(SDL_INIT_VIDEO);
  Screen=SDL_SetVideoMode(_SCREEN_WIDTH,_SCREEN_HEIGHT,32,SDL_HWSURFACE | SDL_DOUBLEBUF);
  SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY,SDL_DEFAULT_REPEAT_INTERVAL+(1/100));
 
  fond=SDL_LoadBMP("fond.bmp");
   Raquette r(_SCREEN_WIDTH/3,_SCREEN_HEIGHT-20,15,5,"raquet.bmp",Screen);
 
 
   SDL_BlitSurface(fond,NULL,Screen,&rfond);
 
 
 
        r.move(); 
        SDL_Flip(Screen);
  SDL_Delay(60);
merci de m'avoir aider(ce que je dois enlever et ce que je dois ajouter dans mon code) sachant que je suis débutante en C++