
Запустите программу нажмите в меню 2, тело должно вдигаться при нажатии f1 f2 f3 f4, но выходит что надо нажать сначало f а потом любую клавишу что бы оно сдивинулось, что не так не могу разобраться, может кто нийдет ошибку?
Вот код программы:
include <graphics.h> // подключение библиотек
void far setcolor(int x, int y, int c)//рисуем фигуру
{
setcolor(c);
line(x + 40, y + 30, x + 10, y + 50);
line(x + 40, y + 30, x + 70, y + 50);
line(x + 10, y + 50, x + 70, y + 50);
line(x + 10, y + 50, x + 10, y + 100);
line(x + 70, y + 50, x + 70, y + 100);
line(x + 10, y + 100, x + 70, y + 100);
line(x + 25, y + 60, x + 55, y + 60);
line(x + 25, y + 90, x + 55, y + 90);
line(x + 25, y + 60, x + 25, y + 90);
line(x + 55, y + 60, x + 55, y + 90);
line(x + 40, y + 60, x + 40, y + 90);
line(x + 40, y + 75, x + 55, y + 75);
}
int main() {//вывод меню
char ch=0;
int x, y, h, d = 0;
int a;
int px = 0, py = 0, ;
x = 0;
y = 0;
initwindow(400, 700);
rectangle(30,30,250,105);
outtextxy(35,35, "1.Svabodnae dvijenie");
line(30,55,250,55);
outtextxy(35,60, "2.Klaviatyra dvijenie");
line(30,80,250,80);
outtextxy(35,85, "3.vixad");
ch=getch();
switch (ch) {
case ('1'):
{cleardevice();
while (1) {
// самостоятельное движение рисунка
while (px + 100 < 400) {
if (GetAsyncKeyState(VK_ESCAPE))
{closegraph();
main();}
setcolor(px, py, 15);
delay(10);
setcolor(px, py, 0);
px++;
py++;
}
while (py > 0) {
if (GetAsyncKeyState(VK_ESCAPE))
{ closegraph();
main();}
setcolor(px, py, 15);
delay(10);
setcolor(px, py, 0);
py--;
}
while (px > 0) {
if (GetAsyncKeyState(VK_ESCAPE))
{closegraph();
main();}
setcolor(px, py, 15);
delay(10);
setcolor(px, py, 0);
px--;
py++;
}
while (py > 0) {
if (GetAsyncKeyState(VK_ESCAPE))
{ closegraph();
main();}
setcolor(px, py, 15);
delay(10);
setcolor(px, py, 0);
py--;
}
}
break;}
case ('2'):{
cleardevice();
while(1){
if (GetAsyncKeyState(VK_ESCAPE))
{closegraph();
main();
}
setcolor(px, py, 15);
delay(10);
setcolor(px, py, 15);
h = getch();
setcolor(px, py, 0);
switch (h) {
case 59:
if (px + 85<400)
px=px+5;
break;
case 60:
if (px>0)
px=px-5;
break;
case 61:
if (py + 85<400)
py=py+5;
break;
case 62:
if (py>0)
py=py-5;
break;
}}
}
case ('3')://выход из прораммы
{ cleardevice();
exit(1);
return 0;
break;}
}
}




