howzyao 发表于 2022-10-4 22:41:04

一个打砖块,完成了一些进度


如图的程序,附件下载解压直接运行.欢迎有此爱好的同道中人来一起做.







howzyao 发表于 2022-10-4 22:47:12

只做了x轴,y轴还没有做.所以是一个高度上去的效果.

howzyao 发表于 2022-10-4 22:48:41

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轴的做法.

howzyao 发表于 2022-10-4 22:52:57

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中调用时的情况.

小伤口 发表于 2022-10-6 17:13:54

可以,可以厉害!加油
页: [1]
查看完整版本: 一个打砖块,完成了一些进度