贪吃蛇源码

这是一个使用Qt框架实现的贪吃蛇游戏。游戏包含了初始化蛇、创建食物、判断是否吃到食物、是否撞到自己、是否赢得游戏等功能。玩家可以通过键盘控制蛇的移动,游戏设有暂停、重开按钮。当得分达到500分时,游戏胜利。
摘要由CSDN通过智能技术生成

 snake.h

#ifndef SNAKE_H
#define SNAKE_H

#include <QMainWindow>
#include<qpainter.h>

QT_BEGIN_NAMESPACE
namespace Ui { class Snake; }
QT_END_NAMESPACE

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个小方块组成的vector,代表蛇
    QRect SnakeHead;//蛇头
    QString Display;//显示的内容
    QRect Food;//用来表示食物的变量
    int Score;//得分
    int Speed;//蛇的移动速度
};
#endif // SNAKE_H

main.h

#include "snake.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Snake w;
    w.show();

    return a.exec();
}

snake.h

#include "snake.h"
#include "ui_snake.h"
#include<QPainter>
#include<QTimer>
#include<QKeyEvent>
#include<QPushButton>
#include<QVector>
#include<QtMultimedia/QSound>
#include &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值