目录
一.实验内容:
1)实现贪吃蛇游戏基本功能,屏幕上随机出现一个“食物”,称为豆子。玩家能利用上下左右键控制“蛇”的移动,“蛇”吃到“豆子”后“蛇”身体加长一节,得分增加,“蛇”碰到边界或蛇头与蛇身相撞,“蛇”死亡,游戏结束。
2)进行交互界面的设计,要有开始键、暂停键和停止退出的选项,能够控制游戏进程。对蛇吃到豆子进行分值计算,可以设置游戏速度,游戏音乐等拓展元素。
3)实验设备QT5.9
二.贪吃蛇的代码实现
(1)类的声明
class Snake : public QMainWindow
{
Q_OBJECT
public:
Snake(QWidget *parent = nullptr);
~Snake();
//游戏界面
void paintEvent(QPaintEvent *event);
//初始化蛇
void InitSnake();
QRect CreateFood();//产生食物
void IsEat();//判断是否吃到了食物
void IsHit();//判断是否撞到了自己
void IsWin();//判断是否赢得了游戏
private slots://定义槽函数的方式
//蛇的移动
void Snake_update();
void on_pushButton_3_clicked();
void on_pushButton_5_clicked();
void on_pushButton_2_clicked();
void on_pushButton_4_clicked();
private:
Ui::Snake *ui;
QTimer *timer;//计时器事件,只要设置了这个,每隔一段时间会去执行指定的东西
int nDirection;//蛇的移动方向
bool blsRun;//用于控制是否开始的变量
bool blsOver;//用于控制是否结束的变量
void keyPressEvent(QKeyEvent *key);//键盘事件
QVector<QRect> vSnakeRect; //n个小方块组成的ve

本文档详细介绍了使用QT5.9实现贪吃蛇游戏的全过程,包括实验内容、代码实现、游戏测试和打包发布。游戏核心功能是蛇吃到食物后增长,碰撞到边界或自身则游戏结束。游戏具有开始、暂停、退出等交互功能,并设置了游戏速度和音乐。
935

被折叠的 条评论
为什么被折叠?



