scanf("%d",&n)
for (int j=0j<nj++)
{
for(i=0i<185i++)
{
putimage(70+i, 170, buf, COPY_PUT)/*左边球向右运动*/
putimage(500-i, 170, buf, COPY_PUT)/*右边球向左运动*/
}
for(i=0i<185i++)
{
putimage(255-i, 170, buf, COPY_PUT)
putimage(315+i, 170, buf, COPY_PUT)
}
}
#include <graphics.h>#include <bios.h>
#include <malloc.h>
void moveball(int *x,
int *y,
int *dx,
int *dy,
int height,
int width,
void *buff)
{
static int k=1,h=1
if(k==1&&(*dx)>=(*x-width-1))
{ k=0}
else if(k==0&&(*dx)<1)
{ k=1}
else if(h==1&&(*dy)>=(*y-height-1))
{ h=0}
else if(h==0&&(*dy)<1)
{ h=1}
if(k)
{ putimage(*dx+1,*dy,buff,0)
(*dx)++
if(h) { putimage(*dx,*dy+1,buff,0) (*dy)++ }
else { putimage(*dx,*dy-1,buff,0) (*dy)-- } }
else { putimage(*dx-1,*dy,buff,0)
小球动态碰撞的c程序,使用彩色小球(运行环境win-tc/tc2.0)# include <stdio.h>
# include<graphics.h>
int main()
{
int i, gdriver, gmode, size
void *buf
gdriver=DETECT/*由于使用的是DETECT,故无需再设置gmode的数值*/
initgraph(&gdriver, &gmode, "")
setbkcolor(BLUE)
cleardevice()
setcolor(LIGHTRED)
setlinestyle(0,0,1)
setfillstyle(1, 10)
circle(100, 200, 30)
floodfill(100, 200, 12)
size=imagesize(69, 169, 131, 231)
buf=malloc(size)
getimage(69, 169, 131, 231,buf)
putimage(500, 269, buf, COPY_PUT)
do
{
for(i=0i<185i++)
{
putimage(70+i, 170, buf, COPY_PUT)
putimage(500-i, 170, buf, COPY_PUT)
}
for(i=0i<185i++)
{
putimage(255-i, 170, buf, COPY_PUT)
putimage(315+i, 170, buf, COPY_PUT)
}
}while(!kbhit())
getch()
closegraph()
}