#include<graphics.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<dos.h> #include<bios.h> #include<math.h> #define ESC 0x11b0 #define R 8
out()
{
int key;
key=bioskey(0);
if(key==ESC)
exit(0);
}
void initgr(void) /*初始化 */ { int gd=DETECT,gm=0; initgraph(&gd,&gm,""); }
void main(void)
{
int minx=40;
int miny=40;
int maxx=400;
int maxy=400;
int x,y;
int cx,cy;
int addx=1,addy=-1;
x=(minx+maxx)/2;
y=(miny+maxy)/2; initgr(); rectangle(40,40,400,400);
while(1)
{
cx=x,cy=y;
x=x+addx,y=addy+y;
if(x<=minx+R+1||x>=maxx-R-1)
addx=-addx;
if(y<=miny+R+1||y>=maxy-R-1)
addy=-addy;
setcolor(WHITE);
circle(cx,cy,R);
delay(6000);
setcolor(RED);
circle(x,y,R);
if(bioskey(1))
out();
}
}
----------------解决方案--------------------------------------------------------
什么功能啊
----------------解决方案--------------------------------------------------------
实现小球碰撞。
----------------解决方案--------------------------------------------------------
好孤独啊,同志们。
请高手们建议一二
----------------解决方案--------------------------------------------------------
什么啊 老大
----------------解决方案--------------------------------------------------------
哦,对不起啊,我应该解释一下,它是个实现两个小球碰撞的小程序。
----------------解决方案--------------------------------------------------------
从程序看只有一个球啊
----------------解决方案--------------------------------------------------------
好象编译有点问题吧,我的也一样.
----------------解决方案--------------------------------------------------------
那应该怎么做呢?
----------------解决方案--------------------------------------------------------
用函数imagesize()和getimage()和putimage()啊!简单 啊
----------------解决方案--------------------------------------------------------