美文网首页程序员
这款用C++制作的打砖块小游戏火了,一开局就中毒!

这款用C++制作的打砖块小游戏火了,一开局就中毒!

作者: Python编程导师 | 来源:发表于2019-03-25 19:22 被阅读10次
    image

    没救的教材,今日居然有人问我 EasyX 怎么写游戏,这一看就知道是上个世纪的教材,我就想问,就不能更新一下么?好了不多说开始写代码:

    这是小编整理的C/C++学习资料,关注,转发,加小编C/C++编程学习群:825414254即可获取拉!

    image

    首先实现的是砖块类

    image

    唔,没什么要说,无非就是保存坐标、大小和颜色,其他的可以无视,毕竟我要做的只是一个简单的demo

    image image

    创建后砖块后马上绘制砖块

    image

    来看看弹力球,它有一个碰撞检测的函数,以及是否在 Y 轴 碰撞的函数

    image

    如果移动就先擦除当前位置的球,然后再画上去

    image

    移动的时候对 左、上 、右边框进行判断,如果碰撞就反射

    image

    把矩形碰撞向外扩大半径的距离,这样就只需要判断坐标是否在扩大后的矩形内就可以了

    image

    当前球是否在垂直范围内

    image

    来看看输入类,这两个都是静态函数,keycode记录了当前按下的键

    image

    对游戏初始化

    image

    移动后判断位置是否大于屏幕Y轴,如果是游戏失败

    image

    碰撞检测(唔碰撞如果想优化可以使用四叉树存储)如果是在垂直坐标碰撞就反转Y轴

    image

    迭代检测碰撞,如果碰撞砖块就把砖块删除,如果没有砖块了,直接胜利

    因为用的迭代,当删除后 it 后面的就是未知,所以直接跳出

    最后一行检测的是底下的滑条

    image

    更新输入后检测

    如果输入的是 ← 就向左移动,否则如果是→就向右移动

    image

    60帧速

    关闭画图

    结束

    效果

    image

    相关文章

      网友评论

        本文标题:这款用C++制作的打砖块小游戏火了,一开局就中毒!

        本文链接:https://www.haomeiwen.com/subject/azgbvqtx.html