• 大小: 852KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-04-19
  • 语言: 其他
  • 标签: 贪吃蛇QT  

资源简介

贪吃蛇

资源截图

代码片段和文件信息

#include “gamewidget.h“
#include “ui_gamewidget.h“
#include 
#include 
#include 
#include 
#include 
#include 
#include 

gamewidget::gamewidget(QWidget *parent) :
    QDialog(parent)
    ui(new Ui::gamewidget)
{
    ui->setupUi(this);

    ui->setupUi(this);
    this->setAutoFillBackground(true);
    this->setWindowIcon(QIcon(“:/new/prefix1/img/1.png“));
    QPalette palette;
    palette.setBrush(QPalette::BackgroundQBrush(QPixmap(“:/new/prefix1/img/green.jpg“).scaled(this->size())));
    this->setPalette(palette);

    //声音区
    sound=new QSound(“:/listen/img/5611.wav“);
    sound1=new QSound(“:/listen/img/die.wav“);


    //设置分数等级为0
    score = 0;
    level = 0;

    str1=QString::number(score);
    str2=QString::number(level);
    ui->scoreshow->setText(str1);
    ui->levelshow->setText(str2);

    foodcount=0;  //食物初始化
    foodx=qrand()%COL;  //初始化X
    foody=qrand()%ROW; //初始化 y
    direction=qrand()%4; //方向初始化
    snake[0][0]=qrand()%COL;
    snake[0][1]=qrand()%ROW;
    int  i = 1;
    while(i) //食物出现的位置 不能跟snake 头 位置一样
    {
        if(snake[0][0]==foodx&&snake[0][1]==foody)
        {
            foodx=qrand()%COL;
            foody=qrand()%ROW;
            i=1;
        }
        else
        {
            i=0;
        }
    }

    timer=new QTimer(this);
    timer->setInterval(500);  //设置snake 跑 快慢速度
    connect(timerSIGNAL(timeout())thisSLOT(timeoutSlot()));


    //设置按钮操作
    connect(ui->leftbtnSIGNAL(clicked())thisSLOT(leftbtnSlot()));
    connect(ui->rightbtnSIGNAL(clicked())thisSLOT(rightbtnSlot()));
    connect(ui->upbtnSIGNAL(clicked())thisSLOT(upbtnSlot()));
    connect(ui->downbtnSIGNAL(clicked())thisSLOT(downbtnSlot()));
    connect(ui->startbtnSIGNAL(clicked())thisSLOT(startbtnSlot()));
    connect(ui->stopbtnSIGNAL(clicked())thisSLOT(stopbtnSlot()));
    connect(ui->returnbtnSIGNAL(clicked())thisSLOT(returnbtnSlot()));
    //设置键盘操作
    connect(thisSIGNAL(UpSignal()) ui->upbtnSLOT(click()));
    connect(thisSIGNAL(DownSignal()) ui->downbtnSLOT(click()));
    connect(thisSIGNAL(LeftSignal()) ui->leftbtnSLOT(click()));
    connect(thisSIGNAL(RightSignal()) ui->rightbtnSLOT(click()));
}

void gamewidget::timeoutSlot()
{
    //判断是否吃到食物
    if(snake[0][0]==foodx && snake[0][1]==foody)  //当蛇头跟食物位置重合后
    {
        //吃到食物发出声音
        sound->play();
        //如果吃到食物,食物坐标更新

        foodcount++;
        score++;
        str1=QString::number(score);
        ui->scoreshow->setText(str1);

        foodx=qrand()%COL;   //随机产生新的食物
        foody=qrand()%ROW;

        int i=0;
        while(i<=foodcount)
        {
            i++;
            //判断食物是否出现在蛇身上,如果出现在蛇身上重新产生食物
            if(snake[i][0]==foodx && snake[i][1]==foody)
            {
                foodx=qrand()%COL;
                foody=qrand()%ROW;
                i=0;
            }
        }

        switch(score)
        {
        case 10:
            timer->setInterval(350

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-08 01:52  snakegame\
     目录           0  2015-12-02 11:18  snakegame\img\
     文件        1204  2017-07-07 09:13  snakegame\snakegame.ui
     文件        1898  2017-07-07 10:29  snakegame\snakegame.cpp
     文件        3475  2017-07-07 12:06  snakegame\gamewidget.ui
     文件         416  2017-07-07 09:22  snakegame\snakegame.h
     文件        1128  2017-07-07 11:05  snakegame\gamewidget.h
     文件         482  2017-07-07 09:24  snakegame\snakegame.pro
     文件       13598  2017-07-08 01:52  snakegame\gamewidget.cpp
     文件        1210  2017-07-07 09:10  snakegame\snakeresource.qrc
     文件       13121  2017-07-07 09:09  snakegame\snakegame.pro.user
     文件         130  2017-07-07 09:10  snakegame\listenresource.qrc
     文件         399  2017-07-07 09:14  snakegame\main.cpp
     文件        1568  2013-07-31 04:32  snakegame\img\v_body.png
     文件        1553  2013-07-31 04:30  snakegame\img\tr_corner.png
     文件        1565  2013-07-31 04:29  snakegame\img\tl_corner.png
     文件        1586  2013-07-31 09:11  snakegame\img\tailup.png
     文件        1440  2013-07-31 09:10  snakegame\img\tailright.png
     文件        1442  2013-07-31 09:10  snakegame\img\tailleft.png
     文件        1573  2013-07-31 09:10  snakegame\img\taildown.png
     文件        1599  2013-07-31 05:01  snakegame\img\tail.png
     文件       25874  2015-04-21 02:38  snakegame\img\start.png
     文件        3516  2013-08-21 18:33  snakegame\img\rats.png
     文件        2944  2013-08-19 11:40  snakegame\img\rat.png
     文件      108809  2015-01-27 07:43  snakegame\img\quit.png
     文件       42745  2013-07-30 16:47  snakegame\img\logo.png
     文件       15116  2015-01-27 01:50  snakegame\img\icon.png
     文件        1713  2013-07-31 06:11  snakegame\img\headup.png
     文件        1734  2013-07-31 06:11  snakegame\img\headright.png
     文件        1714  2013-07-31 06:11  snakegame\img\headleft.png
     文件        1734  2013-07-31 06:11  snakegame\img\headdown.png
............此处省略16个文件信息

评论

共有 条评论