一个打砖块,完成了一些进度
如图的程序,附件下载解压直接运行.欢迎有此爱好的同道中人来一起做.
只做了x轴,y轴还没有做.所以是一个高度上去的效果. int e:: anglex(e &o,int I)
{
// int middle= o.p_width(o.acting)/2;
// int absolutxp= o.px+middle;
// int absolutxb= o.px+site;
// printf("%d axp %daxb %d\n",I,absolutxp,absolutxb);
//system("pause");
// if(absolutxb<absolutxp)
// return -2;
// else
// return 2;
int cen = 3;
int x = o.px;
int centro = cen + x + site;
int abit=0;
if(o.p.getwidth() == 240)
abit=20;
else if(o.p.getwidth() == 120)
abit=10;
else
abit=5;
//乱跑的原因:x+30 应是x+60
if( centro >= x && centro < x+abit ) return -3; //0-5
else if( centro >= x+abit && centro < x+abit*2 ) return -3; //5-10
else if( centro >= x+abit*2 && centro < x+abit*3 ) return -2; //10-15
else if( centro >= x+abit*3 && centro < x+abit*4 ) return -2; //15-20
else if( centro >= x+abit*4 && centro < x+abit*5 ) return -1; //20-25
else if( centro >= x+abit*5 && centro < x+abit*6 ) return -1; //25-30
else if( centro >= x+abit*6 && centro < x+abit*7 ) return1;
else if( centro >= x+abit*7 && centro < x+abit*8 ) return1;
else if( centro >= x+abit*8 && centro < x+abit*9 ) return2;
else if( centro >= x+abit*9 && centro < x+abit*10) return2;
else if( centro >= x+abit*10&& centro < x+abit*11) return3;
else if( centro >= x+abit*11&& centro <=x+abit*12) return3;
else return 1;
}
这是X轴的做法. if( touch(i,o.px,o.py,o.p_widthxx(o.acting)) )
{
screen_border_sound();
save_site_on(o,i);
mx = anglex(o,i);
my = angley(o,i);
}
由于球是数组,这是在for中调用时的情况. 可以,可以厉害!加油
页:
[1]