Program przestał działać

0

Po skompilowaniu i uruchomieniu wyświetla mi się okno, że program przestał działać... pomoże ktoś?

#include <allegro5/allegro.h>
#include <allegro5/allegro_native_dialog.h>
//#include <allegro5/allegro_tff.h>//!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_primitives.h>

#include<iostream>

#define ScreenHeight 800
#define ScreenWidth 600
int main()
{



		al_set_new_display_flags(ALLEGRO_WINDOWED | ALLEGRO_RESIZABLE); //mozliwosc zmiany recznej rozmiaru ekranu
		ALLEGRO_DISPLAY *display = al_create_display(ScreenWidth,ScreenHeight);//rozmiar
		al_set_window_position(display, 200,100); //pozycja ekranu
		al_set_window_title(display, "ICE CLIMBER"); //tytul gry



		al_init_primitives_addon();
		al_install_keyboard;

		ALLEGRO_COLOR electricBlue = al_map_rgb(44,117,255);

		ALLEGRO_EVENT_QUEUE *event_queue = al_create_event_queue();

		al_register_event_source(event_queue, al_get_keyboard_event_source());

		//poruszanie

		bool done = false;
		int x = 10, y = 10;
		int moveSpeed = 5;

		//int state=NULL;

		while (!done)
		{
			ALLEGRO_EVENT events;
			al_wait_for_event(event_queue, &events); //czeka az zostanie nacisniety przycisk

			if (events.type == ALLEGRO_EVENT_KEY_DOWN)
			{
				switch(events.keyboard.keycode)
				{
					case ALLEGRO_KEY_DOWN:      //PANEL STEROWANIA
						y += moveSpeed;
							break;
					case ALLEGRO_KEY_UP:
						y -= moveSpeed;
							break;
					case ALLEGRO_KEY_LEFT:
						x += moveSpeed;
							break;
					case ALLEGRO_KEY_RIGHT:
						x -= moveSpeed;
							break;
					case ALLEGRO_KEY_ESCAPE:
						done = true;
							break;
				}
			}
		al_draw_rectangle(x,y, x + 20, y + 20, electricBlue, 2.0);
		al_flip_display();
		al_clear_to_color(al_map_rgb(0,0,0));

		}



		al_destroy_display(display);
		al_destroy_event_queue(event_queue);










return 0;
}

0

Jakbym znał allegro to może bym i wiedział. Użyj debbugera.

Może jakieś funkcje w złej kolejności wywołujesz, np. al_set_window_position powinno być przed al_create_display?

0

Brakuje tego przed użyciem allegro:

al_init();

dodatkowo

al_install_keyboard();
0

Dzięki, już wszystko działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1