Chessmaster3000
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ПАМАГИТЕ!!! (Программирование ДОС-графики через graphics.h) Сделал небольшую программу с помощью графикс.х. Открываеься графическое окно Виндоуз 700*700 и мячик прыгает по экрану. (Компилятор- Дев-С++). Теперь хочется добавить туда простые функции взаимодействия с пользователем- например,что бы программа обрабатовала мышиные щелчки и нажатия клавы- к примеру- выходила бы из программы по нажатию Х.Как это сделать? Спасибо! //компилируется со всеми установками со страницы ..http://www.uniqueness-template.com/devcpp/ -см конец страницы ========================== #include <graphics.h> #define RADIUS 32 //#include <math.h> #include<stdlib.h> void erase_ball (int,int); void draw_ball (int,int); main() { initwindow(700,700); //lets's get all white int i; setcolor(WHITE); moveto(0,0); for(i=0;i<700;i++) { moveto(0,i); lineto(700,i); } int x_left_wall,x_right_wall,y_top_wall,y_down_wall; struct point { int x; int y; }; point current_position,kivun; //initialize all variable int z; (rand()%2)? z=-1:z=1; kivun.x=z*rand()%5; kivun.y=z*rand()%5; current_position.x=350; current_position.y=350; y_top_wall=0; y_down_wall=700; x_left_wall=0; x_right_wall=700; /* setcolor(BLACK); moveto(0,0); lineto(600,100); lineto(600,600); lineto(100,600); lineto(100,100); */ while(true) { //delay for(i=0;i<800000;i++) ; erase_ball(current_position.x,current_position.y); current_position.x+=kivun.x; current_position.y+=kivun.y; if(current_position.x<=x_left_wall+RADIUS+1||current_position.x>=x_right_wall-RADIUS-1) { kivun.x*=-1; current_position.x+=kivun.x; } if(current_position.y<=y_top_wall+RADIUS+1||current_position.y>=y_down_wall-RADIUS-1) { kivun.y*=-1; current_position.y+=kivun.y; } draw_ball(current_position.x,current_position.y); } return 0; } void erase_ball (int x,int y) { setcolor(WHITE); //BLACK int i; //for(i=0;i<RADIUS;i++) circle(x,y,RADIUS); return; } void draw_ball (int x,int y) { setcolor(RED); //RED int i; //for(i=0;i<RADIUS;i++) circle(x,y,RADIUS); return; } ================================ |