prinzessin4444
Mitglied
Hallo!
Ich programmier das PacMan Spiel , ich hab nun zwei Geister eingefügt nur ich möchte das sie Zeitverzögert laufen ich hab das mit Sleep(1000) versucht jedoch funktioniert das nciht. Was mache ich falsch oder wie muss ich es machen.
danke
Ich programmier das PacMan Spiel , ich hab nun zwei Geister eingefügt nur ich möchte das sie Zeitverzögert laufen ich hab das mit Sleep(1000) versucht jedoch funktioniert das nciht. Was mache ich falsch oder wie muss ich es machen.
danke
Code:
#include <allegro.h>
#include <windows.h>
void fataler_fehler() {
allegro_message(allegro_error);
exit(1);
}
int main() {
allegro_init();
if (install_keyboard() < 0) {
fataler_fehler();
}
set_color_depth(24);
if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0) < 0) {
fataler_fehler();
}
BITMAP *bmp = NULL;
BITMAP *ghost = NULL;
BITMAP *ghost1 = NULL;
bmp = load_bitmap("pac800.bmp", NULL);
if (bmp == NULL) {
allegro_message("Konnte die Bitmap-Datei nicht finden");
exit(1);
}
ghost = create_sub_bitmap(bmp, 0, 0, 36, 36); /*öffnet den Geist*/
Sleep(10000);
ghost1 = create_sub_bitmap(bmp, 0, 72, 36, 36); /*öffnet den Geist*/
int x = 0; /*ObenRand*/
int y = 0; /*LinkerRand*/
int RechterRand = 764; /*der wert 800 minus der höhe des Objektes (z.b. Geist)*/
int UntererRand = 564; /*der wert 600 minus der breite des Objektes (z.b. Geist)*/
int RaufRunter = 0;
int LinksRechts = 1;
while(!keypressed()) { /*wenn keine Taste gedrueckt wurde*/
x = x + LinksRechts;
y = y + RaufRunter;
/*vsync();*/
/*clear_bitmap(screen);*/
draw_sprite(screen, ghost, x, y); /*(x,y)anfangskoordinaten wo der geist beginnt*/
draw_sprite(screen, ghost1, x+200, y+10); /*(x,y)anfangskoordinaten wo der geist beginnt*/
if(x == RechterRand && LinksRechts == 1 && RaufRunter == 0) { /* x muss = RechterRand(764) & LinksRechts =1 & RaufRunter=1 sein dann laeuft er runter*/
LinksRechts = 0;
RaufRunter = 1;
}
if(x == 0 && LinksRechts == -1 && RaufRunter == 0) { /* x muss = 0 & LinksRechts =1 & RaufRunter=1 sein dann laeuft er runter*/
LinksRechts = 0;
RaufRunter = -1;
}
if(y == UntererRand && LinksRechts == 0 && RaufRunter == 1) {
LinksRechts = -1;
RaufRunter = 0;
}
if(y == 0 && LinksRechts == 0 && RaufRunter == -1) {
LinksRechts = 1;
RaufRunter = 0;
}
}
/*destroy_bitmap(ghost);
destroy_bitmap(bmp);*/
return 0;
} END_OF_MAIN()