freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

本科-基于qt的貪吃蛇游戲設(shè)計(jì)與實(shí)現(xiàn)(文件)

 

【正文】 ,40,30,30)。 //scoreNumbersetGeometry(370,30,70,50)。 timeLabelsetText(Time:)。 初始化界面函數(shù) iniWidget() void Snake::iniWidget() { timeNumber=new QLabel(00:00:00)。 } 通過(guò)這個(gè)函數(shù)實(shí)現(xiàn)了 QWidget 的簡(jiǎn)單屬性設(shè)置,包括 QWidget 的聚 焦及大小,初始化了貪吃蛇的運(yùn)動(dòng)范圍,默認(rèn)設(shè)置游戲難度為禁止穿墻。hour=0。 //設(shè)置貪吃蛇活動(dòng)區(qū)域大小 map_col=Width/step。 setFocusPolicy(Qt::StrongFocus)。易操作。 游戲相關(guān)信息顯示函數(shù),實(shí)現(xiàn)彈出對(duì)話(huà)框,提示游戲相關(guān)信息 。 時(shí)間處理函數(shù),用于實(shí)現(xiàn)顯示游戲的時(shí)間 。 實(shí)現(xiàn)蛇在當(dāng)前方向下向前移動(dòng)一步,并調(diào)用判斷是否吃到食物函數(shù)、判斷是否死亡函數(shù) 。 繪圖事件,繪制貪吃蛇、食物 。 更新并顯示等級(jí),每增加 10個(gè)食物,升一級(jí),并提高速度 。 用于初始化游戲,設(shè)置初始速度、等級(jí)、已吃食物數(shù)量及定時(shí)器等,并 隨機(jī)得到 貪吃蛇和食物 的初始坐標(biāo) 。 判斷貪吃蛇是否吃到食物 。 用于添加各類(lèi)控件,并設(shè)置控件的屬性 。 北京郵電大學(xué)畢業(yè)設(shè)計(jì) 19 Class Snake 的 構(gòu)造函數(shù) ,設(shè)置 QWidget 的初始化信息,貪吃蛇運(yùn)動(dòng)區(qū)域的大小,調(diào)用其他初始化函數(shù) 。 信息顯示界面中的按鈕點(diǎn)擊事件,發(fā)出信號(hào),設(shè)置貪吃蛇運(yùn)動(dòng)界面的限制性條件 。當(dāng)你控制的貪吃蛇接觸到蛇的自身身體時(shí)或墻壁時(shí),游戲結(jié)束。 數(shù)據(jù) 字典 設(shè)計(jì)中用到的數(shù)據(jù)的名稱(chēng)、類(lèi)型、含義如表 61 所示。節(jié)是蛇身上最小的單位。 蛇的移動(dòng) 蛇的移動(dòng)主要通過(guò)改變蛇的坐標(biāo)位置,然后通過(guò)重繪蛇的位置,這樣就實(shí)現(xiàn)了蛇的移動(dòng) ,具體的為:從構(gòu)成蛇身的所有節(jié)點(diǎn)的最后一點(diǎn)開(kāi)始,依次將前一個(gè)節(jié)點(diǎn)的坐標(biāo)賦值為后一個(gè)節(jié)點(diǎn),這樣就實(shí)現(xiàn)了蛇身的移動(dòng)。這時(shí) ,由于沒(méi)有清屏的原因 ,原來(lái)蛇的位置和新蛇的位置差一個(gè)單位 ,所以看起來(lái)蛇會(huì)多一節(jié)身體 ,應(yīng)將蛇的最后一節(jié)用背景覆蓋。這個(gè)程序的關(guān)鍵點(diǎn)是表示蛇的圖形以及蛇的移動(dòng)。標(biāo)題畫(huà)面以后,還要為游戲的運(yùn)行部分作初始化,包括繪制游戲運(yùn)行時(shí)的背景,對(duì)游戲某些重要變量的初始化。 食物的出現(xiàn)是先確定一組隨機(jī)數(shù),再填充方格,食物的消失是由于使用了更新函數(shù),當(dāng)吃掉食物后就不再重畫(huà)本次食物,而是生成一組新的隨機(jī)數(shù),畫(huà)新的食物 。玩家可以通過(guò)鍵盤(pán)上下 左右控制游戲區(qū)中貪吃蛇的行動(dòng) ,當(dāng)蛇頭碰到食物(和食物接觸)后增加蛇身的長(zhǎng)度 ,當(dāng)蛇碰到自己的身體或碰到墻壁時(shí)游戲結(jié)束。 ( 3)蛇可以運(yùn)動(dòng),隨著難易程度的不同,蛇的速度也不同;在界 面里可以隨機(jī)產(chǎn)生一個(gè)食物,但應(yīng)該注意不能和蛇身體一致,然后當(dāng)蛇 移 動(dòng)并吃掉這 個(gè)食物(覆蓋),北京郵電大學(xué)畢業(yè)設(shè)計(jì) 13 蛇的身體應(yīng)該相應(yīng)地增加,同時(shí)界面中顯示分?jǐn)?shù)一欄應(yīng)該相應(yīng)地增加分值;當(dāng)蛇在移動(dòng)的過(guò)程中頭部碰到墻壁,游戲結(jié)束。 要解決的問(wèn)題 ( 1) 可以用上、下、左、右鍵游戲控制蛇的運(yùn)動(dòng)方向,使之向著有食物的方向運(yùn)動(dòng),并吞吃食物使身體增長(zhǎng),如果蛇在移動(dòng)過(guò)程中 ,撞到墻壁或身體交叉蛇頭撞到自己的身體游戲結(jié)束。 游戲控制模塊: 主要完成游戲的開(kāi)始、暫停、方向控制等功能。 用戶(hù)特點(diǎn) 由于本程序簡(jiǎn)單易操作,交互性好,對(duì)用戶(hù)沒(méi)有什么特別要求。 北京郵電大學(xué)畢業(yè)設(shè)計(jì) 12 任務(wù)概述 目標(biāo) 在如今社會(huì),人們的 工作學(xué)習(xí)壓力逐漸增大,生活節(jié)奏逐漸加快,大多數(shù)人沒(méi)有足夠的時(shí)間去休閑娛樂(lè),放松自己。 貪吃蛇是家喻戶(hù)曉的益智類(lèi)小游戲,選擇這個(gè)題目一是為了將自己的所學(xué)知識(shí)加以運(yùn)用,二是一直以來(lái)貪吃蛇這個(gè)游戲就深深地吸引著我,它的制作方法對(duì)于以前的我而言都是很神秘的。因?yàn)樗奶厥庠谟谒芪烁钊耄瑦?ài)不釋手。 此需求分析說(shuō)明書(shū)對(duì)貪吃蛇游戲軟件做了全面細(xì)致的用戶(hù)需求分析,明確所要開(kāi)發(fā)的游戲軟件應(yīng)該具有的功能,并在此基礎(chǔ)上進(jìn)一步提出概要設(shè) 計(jì)說(shuō)明書(shū)和完成后續(xù)和開(kāi)發(fā)工作。系統(tǒng)設(shè)計(jì)將來(lái)自于需求分析的抽象規(guī)格說(shuō)明轉(zhuǎn)變?yōu)槊嫦蛘鎸?shí)世界的設(shè)計(jì)。 可行性研究方法 通過(guò)對(duì)周邊的企業(yè)職員和大學(xué)生進(jìn)行問(wèn)卷調(diào)查,發(fā)現(xiàn)大家在閑暇時(shí)間大都會(huì)選擇玩游戲來(lái)打發(fā)時(shí)間,而且偏向簡(jiǎn)單靈活的小游戲。 Qt Creator 可帶來(lái)兩大關(guān)鍵益處:提供首個(gè)專(zhuān)為支持跨平臺(tái)開(kāi)發(fā)而設(shè)計(jì)的集成開(kāi)發(fā)環(huán)境 (IDE),并確保首次接觸 Qt 框架的開(kāi)發(fā)人員能迅速上手和操作。 專(zhuān)業(yè)術(shù)語(yǔ) Qt:是一個(gè)跨平臺(tái)的 C++圖形用戶(hù)界面應(yīng)用程序框架。用戶(hù)使用此游戲也很簡(jiǎn)單,游戲主要使用上下左右控制貪食蛇吞食界面上出現(xiàn)的食物,簡(jiǎn)單容易上手,同時(shí)能鍛煉用戶(hù)的操作及靈敏。我希望通過(guò)自己的所學(xué)知識(shí)把它剖析開(kāi)來(lái),真真正正的了解它的本質(zhì)和精髓。過(guò)去,人們主要是借助電影、電視、音樂(lè)等方式來(lái)娛樂(lè)。 該階段通過(guò)對(duì)系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。 使用 Qt::ActionsContextMenu 比較簡(jiǎn)潔,但是如果需要根據(jù)當(dāng)前菜單彈出的位置來(lái)定義不同菜單,或者像上個(gè)例子,在表格( QTableView 類(lèi)型)表頭顯示右鍵菜單時(shí),我需要知道是哪一列表頭被點(diǎn)擊,從而在后來(lái)調(diào)用 sort_ascend()排序函數(shù)時(shí)能夠根據(jù)不同列進(jìn)行不同排序策略,那么 Qt::ActionsContextMenu 就做不到了。但是對(duì)于 QAbstratScrollArea 及其子類(lèi)例外,是對(duì)應(yīng)著其視口 viewport()的坐標(biāo)系。 它是發(fā)出 QWidget::customContextMenuRequested 信號(hào),注意僅僅只是發(fā)信號(hào),意味著要自己寫(xiě)顯示右鍵菜單的 slot。繪制點(diǎn) drawPoint()、繪制直線 drawLine()、繪制折線drawPolyLine()、繪制多點(diǎn) drawPoints()、繪制多直線 drawLines()、繪制矩形區(qū)域drawRect()、繪制圓角區(qū)域 drawRoundRect()、繪制橢圓 drawEllipse()、繪制背景圖片 drawPixmap()等! 右鍵菜單 QWidget 及其子類(lèi)都可有右鍵菜單,因?yàn)?QWidget 有以下兩個(gè)與右鍵菜單有關(guān)的函數(shù): Qt::ContextMenuPolicy contextMenuPolicy () const void setContextMenuPolicy ( Qt::ContextMenuPolicy policy ) 使用方式如下: 1)默認(rèn)是 Qt::DefaultContextMenu。 字體:用來(lái)繪制文字。三個(gè)主要設(shè)置是畫(huà)筆、畫(huà)刷、字體: 畫(huà)筆:用來(lái)畫(huà)線和邊緣。這意味著通??梢杂孟嗤拇a在屏幕上顯示數(shù)據(jù),也可以生成打印形式的報(bào)告。 二維圖形的繪制方法 Qt 的二維圖形引擎是基于 QPainter 類(lèi)的, QPainter 既可以繪制幾何圖形,也可以繪制像素映射、圖像和文字。 注意當(dāng) QTimer 的父對(duì)象被銷(xiāo)毀時(shí),它也會(huì)被自動(dòng)銷(xiāo)毀。 QTimer 類(lèi) QTimer 類(lèi)提供了定時(shí)器信號(hào)和單觸發(fā)定時(shí)器。時(shí), 就會(huì)顯示出來(lái),當(dāng) dialog 的初始化完成,運(yùn)行到 splash. finish(amp。在 QT 下做界面設(shè)計(jì)的時(shí)候,其實(shí)無(wú)非就是利用上面三種布局管理器來(lái)將部件進(jìn)行分類(lèi)和排列。 QWidgetItem 對(duì)象最終會(huì)將 QLayout 布局管理體系中的布局參數(shù)信息裝換、設(shè)置到它所代理的 QWidget 對(duì)象上 在 QT 下進(jìn)行界面設(shè)計(jì),可以使用水平、垂直和 Grid 布局管理器來(lái)進(jìn)行。而后,通常通過(guò)QLayout::addWidget()等函數(shù),將 widget 添加到 Layout 類(lèi)的布局管理體系中 。而 Widget 本身不負(fù)責(zé)子控件的布局管理。 Qt提供了一些類(lèi)負(fù)責(zé)排列窗體上的控件,主要有 : QHBoxLayout, QVBoxLayout, QGridLayout, QStackLayout。這適用于那些槽,他們是類(lèi)實(shí)現(xiàn)的一部分,不過(guò)其界面接口卻面向外部。同普通的 C++成員函數(shù)相同,槽函數(shù)也分為三種類(lèi)型,即 public slots、 private slots 和 protected slots。當(dāng)和其關(guān)聯(lián)的信號(hào)被發(fā)射時(shí),這個(gè)槽就會(huì)被調(diào)用。信號(hào) 槽機(jī)制完全獨(dú)立于所有 GUI 事件循環(huán)??傊?,信號(hào)和槽構(gòu)造了一個(gè)強(qiáng)大的部件編程機(jī)制。槽用于接收信號(hào),但他們是普通的對(duì)象成員函數(shù)。不過(guò),在 QT中信號(hào)和槽取代了這些凌亂的函數(shù)指針,使得我們編寫(xiě)這些通信程式更為簡(jiǎn)潔明了。 北京郵電大學(xué)畢業(yè)設(shè)計(jì) 5 它具有: ( 1) 優(yōu)良的跨平臺(tái)特性 ( 2)面向?qū)ο? ( 3)豐富的 API ( 4)大量的開(kāi)發(fā)文檔 ( 5) XML 支持 ( 6) Webkit 引擎的集成,可以實(shí)現(xiàn)本地界面與 Web 內(nèi)容的無(wú)縫集成 ( 7)用戶(hù)自定義控件 ( 8)方便性 ( 9)國(guó)際化 ( 10)高性能的工具 ( 11)優(yōu)越的繪畫(huà)功能 ( 12)繪制 2D/3D 圖形功能 信號(hào)和槽機(jī)制 信號(hào)和槽作為 QT 的核心機(jī)制在 QT 編程中有著廣泛的應(yīng)用,要精通 QT編程就必須對(duì)信號(hào)和槽有所了解。 2 開(kāi)發(fā)環(huán)境及 關(guān)鍵技術(shù) Qt Qt 是諾基亞開(kāi)發(fā)的一個(gè)跨平臺(tái)的 C++圖形用戶(hù)界面應(yīng)用程序框架。 強(qiáng)穩(wěn)定性,弱 交互性 嵌入式系統(tǒng)一旦開(kāi)始運(yùn)行就不需要用戶(hù)過(guò)多的干預(yù)、這就要負(fù)責(zé)系統(tǒng)管理的 EOS 具有較強(qiáng)的穩(wěn)定性。 強(qiáng)實(shí)時(shí)性 EOS 實(shí)時(shí)性一般較強(qiáng),可用于各種設(shè)備控制中。 操作系統(tǒng)相關(guān)性:不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),因此,不同的操作系統(tǒng)具有特定的硬件接口形式。 中間層 硬件層與軟件層之間為中間層,也稱(chēng)為硬件抽象層( Hardware Abstract Layer,HAL)或板級(jí)支持包( Board Support Package, BSP),它將系統(tǒng)上層軟件與底層硬件分離開(kāi)來(lái),使系統(tǒng)的底層驅(qū)動(dòng)程序與硬件無(wú) 關(guān),上層軟件開(kāi)發(fā)人員無(wú)需關(guān)心底層硬件的具體情況,根據(jù) BSP 層提供的接口即可進(jìn)行開(kāi)發(fā)。 3. 通用設(shè)備接口和 I/O接口 嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口,如 A/D、 D/A、 I/O 等,外設(shè)通過(guò)和片外其他設(shè)備的或傳感器的連接來(lái)實(shí)現(xiàn)微處理器的輸入 /輸出功能。 ( 1) Cache Cache 是一種容量小、速度快的存儲(chǔ)器陣列它位于主存和嵌入式微處理器內(nèi)核之間,存放的是最近一段時(shí)間微處理器使用最多的程序代碼和數(shù)據(jù)。其中操作系統(tǒng)和應(yīng)用程序都可以固化在 ROM 中。執(zhí)行裝置也稱(chēng)為被控對(duì)象,它可以接受嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、 錄像機(jī) 、汽車(chē)等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來(lái)更高的運(yùn)行或者存儲(chǔ)效率。 C++語(yǔ)言最有意義的方面是支持面向?qū)ο蟮奶卣?。C++語(yǔ)言簡(jiǎn)潔靈活,運(yùn)算符的數(shù)據(jù)結(jié)構(gòu)豐富、具有結(jié)構(gòu)化控制語(yǔ)句、程序執(zhí)行效率高,而且同時(shí)具有高級(jí)語(yǔ)言與匯編語(yǔ)言的優(yōu)點(diǎn),與其它語(yǔ)言相比 , C語(yǔ)言具有可以直接訪問(wèn)物理地址的優(yōu)點(diǎn),與匯編語(yǔ)言相比又具有良好的可讀性的可移植性。 snake 目 錄 摘要 ..................................................................... i Abstract ................................................................ ii 緒論 ..................................................................... 6 1 嵌入式系統(tǒng) ............................................................ 2 嵌入式系統(tǒng) ...................................................... 2 組成 ............................................................ 2 硬件層 .................................................... 2 中間層 .................................................... 3 特點(diǎn) ............................................................ 3 可裁剪性 .................................................. 3 強(qiáng)實(shí)時(shí)性 ...
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1