Qt編寫的猜數字小遊戲

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QTime>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    Init();
}

Widget::~Widget()
{
    delete ui;
}

void Widget::Init()
{
    randNumber = 0;
    text.clear();
    flag = 0;
    count = 0;

    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
    randNumber = rand()%100;

    connect(ui->btn0,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn1,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn2,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn3,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn4,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn5,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn6,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn7,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn8,SIGNAL(clicked()),this,SLOT(doProcess()));
    connect(ui->btn9,SIGNAL(clicked()),this,SLOT(doProcess()));

}

void Widget::doProcess()
{
    QString num;

    QPushButton * btn = (QPushButton *)this ->sender();
    num = btn->text();
    text += num;
    ui->lcdNumber->display(text.toInt());
    if(1 == flag)
    {
        ui->textEdit->clear();
        count = 0;
        flag = 0;
    }
    if(text.length() < 2)
    {

    }
    else
    {
        if(text == QString::number(randNumber))
        {
            ++count;
            ui->textEdit->append("輸入正確");
            ui->lineEdit->setText(QString::number(count));
            randNumber = rand()%100;
            flag = 1;
        }
        else if(text < QString::number(randNumber))
        {
            ++count;
            ui->textEdit->append("輸入小了");
            ui->lineEdit->setText(QString::number(count));
        }
        else
        {
            ++count;
            ui->textEdit->append("輸入大了");
            ui->lineEdit->setText(QString::number(count));
        }
        text.clear();
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章