Slt j´ai un petit problem avec le code si dessous.
Il y a un problem tout se compile, puis quand je lance l´exe windows renvoie une erreur qui dit " PONG.exe a rencontré une erreur est doit fermer."
Je me demandais d´où prevenez l´erreur et si possible pouvait vour m´aider a le resoudre.
- include < iostream>
- include < SDL/SDL.h>
- include < stdlib.h>
- include < time.h>
/ /La fonction pour faire bouger la balle.
void ballmove(int& balleX, int& balleY, int& HD, int& DB, int& BG, int& GH)
{
/*Movement*/
//Si la balle va en haut et à droite, alors il continue.
if(HD == 1)
{
balleX++;
balleY--;
}
//Si la balle va en bas et à droite, alors il continue.
if(DB == 1)
{
balleX++;
balleY++;
}
//Si la balle va en bas et à gauche, alors il continue.
if(BG == 1)
{
balleX--;
balleY++;
}
//Si la balle va en haut et à gauche, alors il continue.
if(GH == 1)
{
balleX--;
balleY--;
}
//Collisions
}
int main(int argc, char *argv[])
{
SDL_Surface *screen, *balle, *Computer[2];
SDL_Rect Balle, computer[2];
SDL_Event event;
//Uint8 *keys;
int balleX = 309, balleY = 229;//La balle se positionnera au milieux de l´écran
int ComputerX[2], ComputerY[2];
bool done;
int HD = 0, DB = 0, BG = 0, GH = 1;//Il commencera à aller en haut à gauche
/*
H=haut, D=droite, B=bas, G=gauche
//0=NON, 1=OUI
*/
atexit(SDL_Quit);
SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE|SDL_DOUBLEBUF);
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));//On va mettre un fond d´écran noir.
balle = SDL_LoadBMP("balle.bmp");
Computer[0] = SDL_LoadBMP("Computer1");
Computer[1] = SDL_LoadBMP("Computer1");
Balle.w = balle->w;
Balle.h = balle->h;
SDL_SetColorKey(balle, SDL_SRCCOLORKEY, SDL_MapRGB(balle->format, 255, 0,255));//On met une couleur de tranparence pour la balle qui sera violet.
while(!done)
{
while(SDL_PollEvent(&))
{
switch(event.type)
{
case SDL_QUIT:
done = true;
break;
}
}
ballmove(balleX, balleY, HD, DB, BG, GH);
Balle.x = balleX;
Balle.y = balleY;
SDL_BlitSurface(balle, NULL, screen, &);//On transfère les données de ´Balle´ à ´balle´
SDL_Flip(screen);//On met tous sa sur l´ecran.
}
return 0;
}