C++, "has stopped working"
Tja, har här en riktigt vacker kod med mycket blommor och rabarber i, MEN!
Den krashar när den körs. Är någon här snäll nog att hjälpa mig?
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include <string>
const int SCREEN_WIDTH = 800;
const int SCREEN_HEIGHT = 600;
const int SCREEN_BPP = 32;
SDL_Surface *co[9] = { NULL };
SDL_Surface *screen = NULL;
SDL_Event event;
SDL_Surface *load_image( std::string filename )
{
SDL_Surface* loadedImage = NULL;
SDL_Surface* optimizedImage = NULL;
loadedImage = IMG_Load( filename.c_str() );
if ( loadedImage != NULL )
{
optimizedImage = SDL_DisplayFormat( loadedImage );
SDL_FreeSurface( loadedImage);
}
return optimizedImage;
}
void apply_surface( int x, int y, SDL_Surface* source, SDL_Surface* destination )
{
SDL_Rect offset;
offset.x = x;
offset.y = y;
SDL_BlitSurface( source, NULL, destination, &offset );
}
bool init()
{
if( SDL_Init(SDL_INIT_EVERYTHING) == -1 )
{
return false;
}
screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE );
if( screen == NULL )
{
return false;
}
SDL_WM_SetCaption( "TTT", NULL );
return true;
}
bool load_files()
{
for( int i = 0; i < 9; i++ )
{
co[i] = load_image("./images/empty.png");
}
}
void clean_up()
{
for( int i = 0; i < 9; i++ )
{
SDL_FreeSurface( co[i] );
}
SDL_Quit();
}
int main( int argc, char* args[] )
{
bool quit = false;
if( init == false )
{
return 1;
}
if( load_files() == false )
{
return 1;
}
apply_surface( 0, 0, co[0], screen );
if( SDL_Flip( screen ) == -1 )
{
return 1;
}
while( quit == false )
{
while( SDL_PollEvent( &event ))
{
if( event.type == SDL_QUIT )
{
quit = true;
}
}
}
clean_up();
return 0;
}
EDIT: Detta ska vara början på "Tic-Tac-Toe", håller på att lära mig C++, är fortfarande inte bekant med alla koncept.
Programmerande får mig att tänka friskt och klart! Mitt nya liv blir underbart!