目录
游戏房间
房间渲染
房间背景设置
设置房间标题和尺寸
运动逻辑
定义可能会用到的对象
向上移动逻辑
向下移动
向右移动
判断失败
绘制蛇
初始化贪吃蛇
创建食物
蛇的吃吃吃
绘制食物
连接上文
游戏房间
房间渲染
房间背景设置
背景图比例
绘制背景
设置房间标题和尺寸
运动逻辑
定义可能会用到的对象
蛇也是有宽度和高度的
向上移动逻辑
需要考虑 “出界” 的情况,两点(左上角和右下角)可以确定一个矩形
QPointF 是 Qt 框架中的一个类,它表示一个二维点,其坐标可以是浮点数,我们使用这一个类,即可表示矩形,逻辑如下
向下移动
向右移动
判断失败
在 Qt 中,QList 是一个模板类,它提供了一个列表容器,用于存储和管理一系列元素。QList::at() 方法是一个常量成员函数,它返回列表中指定位置 i 的元素的常量引用。
绘制蛇
绘制蛇包括:蛇头 + 蛇身体 + 蛇尾
初始化贪吃蛇
创建食物
注意:还可以优化
蛇的吃吃吃
这一句可以用来判断蛇是否和食物相交,即蛇是否吃掉食物,其中 intersects 是 QRectF提供的判断两个矩形是否相交的方法,在 Qt 中,QRectF
类的 intersects()
方法用于检查两个矩形是否相交。当你调用 intersects()
方法时,你需要传入另一个 QRectF
对象作为参数。该方法会返回一个布尔值,如果两个矩形有重叠,则返回 true
;如果没有重叠,则返回 false
。
snakeList.front().intersects(foodRect)