Witam, oto kod mojego programu:
main.cpp:
#include "lib.h"
void moveCircle(){
tempX = x;
tempY = y;
if (dir == 1 && x != 20 && y != 20){
--x;
--y;
}
else if (dir == 2 && x != 20 && y != 460){
--x;
++y;
}
else if (dir == 3 && x != 620 && y != 20){
++x;
--y;
}
else if (dir == 4 && x != 620 && y != 460){
++x;
++y;
}
else{
dir = rand() % 1 + 4;
}
acquire_screen();
circlefill (screen, tempX, tempY, 20, makecol(0, 0, 0));
circlefill (screen, x, y, 20, makecol(0, 255, 0));
release_screen();
rest(10);
}
int main()
{
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0 ,0);
while(!key[KEY_ESC]){
moveCircle();
}
return 0;
}
END_OF_MAIN();
lib.h
#ifndef LIB_H_INCLUDED
#define LIB_H_INCLUDED
#include <allegro.h>
#include <cstdlib>
int x = 100;
int y = 100;
int tempX = 100;
int tempY = 100;
int dir = 1;
#endif // LIB_H_INCLUDED
Pytanie dlaczego piłka nie odbija się po dotarciu do drugiej ściany? Wie ktoś może jak temu zaradzić?