加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

嵌入式操作系統(tǒng)-籃球記分計(jì)時(shí)系統(tǒng)

09/11 16:45
1104
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買(mǎi)成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買(mǎi)后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

題目:籃球記分計(jì)時(shí)系統(tǒng)

? 實(shí)訓(xùn)任務(wù)

利用Qt-Creator編程設(shè)計(jì)一個(gè)籃球記分計(jì)時(shí)界面開(kāi)發(fā)系統(tǒng),實(shí)現(xiàn)24秒一節(jié)次的倒計(jì)時(shí)籃球記分牌。

? 實(shí)訓(xùn)要求

1、基本要求

(1)按照題目要求使用Qt編程,獨(dú)立設(shè)計(jì)系統(tǒng)所需界面,實(shí)現(xiàn)24秒倒計(jì)時(shí)的籃球記分計(jì)時(shí)界面開(kāi)發(fā)系統(tǒng)。

(2)通過(guò)按鈕控件實(shí)現(xiàn)“運(yùn)行/暫停”功能,同時(shí)還可通過(guò)按鈕或其它控件實(shí)現(xiàn)A,B兩隊(duì)加分操作,犯規(guī)減分操作。

(3)停表計(jì)時(shí)就是:比賽開(kāi)始后,犯規(guī),罰球,暫停,都要停表。累計(jì)時(shí)間到24秒后,該節(jié)次結(jié)束,共4節(jié)次。

2、擴(kuò)展部分

(1)擴(kuò)展多位數(shù)據(jù)顯示,能實(shí)現(xiàn).99的顯示。

(2)加時(shí)操作功能。

(3)真實(shí)場(chǎng)景仿真展示等。

? 實(shí)訓(xùn)題目原理

?????? 倒計(jì)時(shí)設(shè)計(jì)的原理框圖如圖3所示。

圖3 倒計(jì)時(shí)系統(tǒng)框圖

部分程序:

#include "countboard.h"
#include "ui_countboard.h"
#include<QTimer>
#include<QtGui>
CountBoard::CountBoard(QWidget *parent) :
QWidget(parent),
ui(new Ui::CountBoard)
{
ui->setupUi(this);
time=24; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//設(shè)置倒計(jì)時(shí)初始值
jieshu=1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //總共四節(jié),初始值為1
state=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//設(shè)置比賽狀態(tài)初始值,為0表示暫停
range=24; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //倒計(jì)時(shí)范圍初始值為24秒

jieshuzhuangtai=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//比賽初始結(jié)束狀態(tài)為0
haomiaojishi=1000; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//毫秒計(jì)時(shí)器的初始值
break1=break2=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//犯規(guī)次數(shù)初始值
timer=new QTimer(this); ? ? ? ? ? ? ? ? ? ? ? ? ? ? //初始定時(shí)器
timer2=new QTimer(this);

connect(timer,SIGNAL(timeout()),this,SLOT(jishiqi()));
connect(timer2,SIGNAL(timeout()),this,SLOT(haomiao()));
ui->haomiaojishiqi->setDigitCount(4); ? ? ? ? ? ? ? ? ? //設(shè)置毫秒計(jì)時(shí)器設(shè)備顯示位數(shù)
ui->label_6->setText("Section"+QString::number(jieshu));//顯示這是第幾節(jié)比賽,總共四節(jié)
teamonescore=teamtwoscore=0; ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化兩個(gè)隊(duì)伍的初始比分為0;
timer2->start(1); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //定時(shí)器2開(kāi)始工作,間隔為1毫秒
}

CountBoard::~CountBoard() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //析構(gòu)函數(shù),釋放資源,防止資源內(nèi)耗泄露
{
delete ui;
}

void CountBoard::haomiao()
{
if(state==1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//比賽狀態(tài)為1,(正在比賽)
{
haomiaojishi--; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //毫秒計(jì)時(shí)的數(shù)值-1
if(haomiaojishi==0) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //如果毫秒計(jì)時(shí)參數(shù)為0,執(zhí)行
{
haomiaojishi=1000; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//讓毫秒計(jì)時(shí)參數(shù)重新變?yōu)?000
ui->haomiaojishiqi->display(haomiaojishi); ? ? ?//顯示在計(jì)時(shí)器控件上
}
ui->haomiaojishiqi->display(haomiaojishi); ? ? ? ? ?//顯示
}
}
void CountBoard::jishiqi()
{
time--;//倒計(jì)時(shí)-1
ui->daojishi->display(time);
if(time==0)//如果倒計(jì)時(shí)到了0,執(zhí)行
{
timer->stop();//計(jì)時(shí)器停止工作,每一節(jié)比賽完等待重新開(kāi)始比賽
timer2->stop();
//timer3->stop();
ui->textEdit->setText("STOP");//在空間上顯示比賽暫停的標(biāo)志stop
state=0;//把比賽狀態(tài)參數(shù)改為0,以便通知其他函數(shù)執(zhí)行該參數(shù)為0狀態(tài)下的情況
time=range;//重置倒計(jì)時(shí)
haomiaojishi=1000;
ui->haomiaojishiqi->display(haomiaojishi);
jieshu++;//每一節(jié)結(jié)束就加一節(jié)
if(jieshu>=5&&teamonescore==teamtwoscore) ? ? ? //如果第4節(jié)以后結(jié)束的時(shí)隊(duì)伍一和隊(duì)伍二比分相同,進(jìn)入加時(shí)賽
{
ui->label_6->setText("Addgame!"); ? ? ? ? ? //在空間上顯示正在加時(shí)賽

}
else if(jieshu>=5&&teamonescore!=teamtwoscore)//如果第4節(jié)以后結(jié)束的時(shí)隊(duì)伍一和隊(duì)伍二比分不相同,結(jié)束比賽
{
ui->textEdit->setText("Over!!!"); ? ? ? ? ? //顯示比賽結(jié)束
jieshuzhuangtai=1; ? ? ? ? ? ? ? ? ? ? ? ? ?//結(jié)束狀態(tài)設(shè)置為1,以便節(jié)數(shù)+1函數(shù)識(shí)別是否可執(zhí)行
haomiaojishi=1000;
ui->haomiaojishiqi->display(haomiaojishi);

}else{
ui->label_6->setText("Section"+QString::number(jieshu));
}

}
}

void CountBoard::on_lone_clicked()
{
if(state==1) ? ?//比賽狀態(tài)為1,(正在比賽時(shí)),執(zhí)行
{
teamonescore=teamonescore+1; //隊(duì)伍1比分加1

ui->teamoneboard->display(teamonescore);//顯示
}
}

void CountBoard::on_ltwo_clicked()
{
if(state==1)
{
teamonescore=teamonescore+2;//隊(duì)伍1比分加2

ui->teamoneboard->display(teamonescore);
}
}

void CountBoard::on_lthree_clicked()
{
if(state==1)
{
teamonescore=teamonescore+3;//隊(duì)伍1比分加3
ui->teamoneboard->display(teamonescore);
}
}
資料包括:

需要完整的資料可在我的資源里下載,也可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤(pán)下載地址及提取碼。

紛傳點(diǎn)擊用微信打開(kāi)即可,過(guò)程有點(diǎn)繁瑣請(qǐng)見(jiàn)諒。

  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜