C语言实现弹跳小球
这是一个简单的c语言源代码,C语言实现弹跳小球,设置了小球的分数及过关的难度。
#include"graphics.h"
#include"math.h"
#defineLEFT0x4b00
#defineRIGHT0x4d00
#defineESC0x011b
intx,y,x1,y1,key,t1,t2,keyx,keylong,keymove,over=0,i,tt=0,fast;
intballx[9]={53,103,263,120,236,390,410,450,600};
intbally[9]={158,239,120,113,30,313,120,263,231},ballz[9]={0};
floatls;
win()
{floatlx,ly,ll;
for(i=0;i<9;i++)
{
if(ballz[i]==1)/*假如球体已经消失就不判定*/
continue;
lx=(float)(ballx[i]-x);
ly=(float)bally[i]-y;
ll=lx*lx+ly*ly;
ls=sqrt(ll);
if((int)ls<17)/*判定两球是否碰到*/
{tt++;/*记录消失几个球*/
fast-=50;/*速度加快*/
if(i%2==0)/*移动加快*/
keymove+=5;
else
{
setcolor(0);
rectangle(keyx,460,keyx+keylong,470);
keylong-=10;/*长条变短*/
setcolor(YELLOW);
rectangle(keyx,460,keyx+keylong,470);
}
ballz[i]=1;
setcolor(0);
circle(ballx[i],bally[i],10);
if(y480)/*失败*/
{
cleardevice();
over=1;
setcolor(RED);
settextstyle(0,0,4);
setusercharsize(3,1,3,1);
outtextxy(200,200,"GAMEOVER");
break;
}
elseif(x==11&&y==11)/*判定碰到东西*/
{t1=1;t2=1;}
elseif(x==629&&y==11)
{t1=-1;t2=1;}
elseif(x==11)
{
if(yy)
{t1=-1;t2=-1;}
else
{t1=-1;t2=1;}
}
elseif(y==449)
{
if(x>=keyx&&x<=keyx+keylong)
{
if(x<(keyx+keylong/4))
{t1=-1;t2=-1;}
elseif(x>=(keyx+keylong/4)&&x<(keyx+keylong/2))
{t1=-1;t2=-2;}
elseif(x>=(keyx+keylong/2)&&x<(keyx+keylong/4*3))
{t1=1;t2=-2;}
else
{t1=1;t2=-1;}
}
}
}
if(over)
break;
key=bioskey(0);
setcolor(0);
rectangle(keyx,460,keyx+keylong,470);
if(key==ESC)
{cleardevice();break;}
elseif(key==LEFT)
keyx-=keymove;
elseif(key==RIGHT)
keyx+=keymove;
}
}
main()
{intgd=DETECT,gr;
initgraph(&gd,&gr,"c:\\tc");
fungo();
getch();
sleep(1);
closegraph();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。