求打砖块吃砖块的算法

a603473186 2010-12-31 10:19:52
主要是打砖块吃砖块的问题
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a603473186 2010-12-31
  • 打赏
  • 举报
回复
就是吃砖块的时候,你该如何进行判断来进行方向的改变?
砖块区域我画的时候,是通过数组相当于把屏幕分成网格进行处理(砖块的中心初始坐标:Brick[i].x,Brick[i].y);
小球的圆心初始坐标是ball.x,ball.y,小球的增量是Speed*Sin(angle),Speed*Cos(angle),小球每次运动ball.x+=Speed*Sin(angle),ball.y+=Speed*Cos(angle);
当触碰砖块的时候,该如何进行操作?
我现在的方法是:
先判断下一步小球是否和砖块碰撞
CrashArea.Xmin = Ball.CenterPoint.x - Ball.BallR - Brick[0].Length/2.0 ;
CrashArea.Xmax = Ball.CenterPoint.x + Ball.BallR + Brick[0].Length/2.0 ;
CrashArea.Ymin = Ball.CenterPoint.y - Ball.BallR - Brick[0].Higth/2.0 ;
CrashArea.Ymax = Ball.CenterPoint.y + Ball.BallR + Brick[0].Higth/2.0 ;

if(Brick[i].CenterPoint.x >= CrashArea.Xmin
&& Brick[i].CenterPoint.x <= CrashArea.Xmax
&& Brick[i].CenterPoint.y >= CrashArea.Ymin
&& Brick[i].CenterPoint.y <= CrashArea.Ymax)
把所碰撞到的砖块的号码存放到一个临时数组里面
然后返回到上一步,根据离散数学问题,分成8块来处理
方向的改变直接通过angle来进行
想问下是否有问题,有没有更好的方法?
luxihua 2010-12-31
  • 打赏
  • 举报
回复
啥意思
a603473186 2010-12-31
  • 打赏
  • 举报
回复
吃砖块的问题,就是如何判断吃砖块,现在算法有点问题。寻求高手指教
超级大笨狼 2010-12-31
  • 打赏
  • 举报
回复
都是内存里的数据和对象的问题,说具体点吧。
a603473186 2010-12-31
  • 打赏
  • 举报
回复
打砖块游戏里面的吃砖块问题,不是贪吃蛇
luxihua 2010-12-31
  • 打赏
  • 举报
回复
贪食蛇?

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧