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

正文內(nèi)容

基于qt的嵌入式終端應(yīng)用程序開(kāi)發(fā)——五子棋游戲開(kāi)發(fā)baseonqtembededfiveinaline畢業(yè)設(shè)計(jì)-文庫(kù)吧

2025-06-12 18:51 本頁(yè)面


【正文】 由于嵌入式設(shè)備存儲(chǔ)器的特殊性,在面向文檔的應(yīng)用程序中,需要利用Qtopia類庫(kù)中的對(duì)文檔的特殊支持方法。主要完成的任務(wù)有NFS配置及使用,嵌入式Linux開(kāi)發(fā)交叉編譯器的安裝,Bootloader 的編譯與燒寫(xiě),Linux 內(nèi)核的編譯與燒寫(xiě),根文件系統(tǒng)的燒寫(xiě)與NFS掛載,編譯第三方庫(kù)。第2章 系統(tǒng)需求分析隨著現(xiàn)實(shí)生活中生活節(jié)奏的加速,生活壓力的加大,休閑娛樂(lè)變得越來(lái)越重要。五子棋子游戲,玩法簡(jiǎn)單,娛樂(lè)性也很高。五子棋不僅能增強(qiáng)思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。通過(guò)對(duì)五子棋的設(shè)計(jì)與開(kāi)發(fā),了解和掌握游戲開(kāi)發(fā)的原理與方法。讓電腦像人腦一樣思考,一直是人工智能發(fā)展的最終目標(biāo)。作為一門邊緣學(xué)科,它有諸多的研究領(lǐng)域,博弈即為其中之一。所以五子棋游戲能很好的幫助人們從生活壓力中得到快樂(lè)。五子棋作為一款休閑益智游戲,它最大的優(yōu)點(diǎn)在于游戲規(guī)則家喻戶曉,簡(jiǎn)單,上手快,趣味性強(qiáng),所以受廣大用戶青睞,在各大提供棋牌類游戲的平臺(tái)都可以看到玩五子棋游戲的人很多。休閑益智游戲中等級(jí)并不是最重要的追求目標(biāo),通過(guò)對(duì)游戲規(guī)則的熟悉,能很快上手掌握其操作方式,也更適合男女老幼全家共同娛樂(lè),花費(fèi)時(shí)間簡(jiǎn)短,速戰(zhàn)速?zèng)Q,在短時(shí)間內(nèi)感受到游戲的樂(lè)趣,完全享受氣氛輕松活躍的游戲過(guò)程。此種娛樂(lè)方式既不耽誤時(shí)間也能輕松調(diào)劑娛樂(lè),充分適合現(xiàn)代人們的娛樂(lè)需求。更主要的是開(kāi)發(fā)了人的智力,成為年輕一代最流行的游戲,據(jù)統(tǒng)計(jì),五子棋游戲的玩家中,學(xué)生占了接近三分之一的比例,對(duì)學(xué)生的智力健康成長(zhǎng)起一定作用,正所謂休閑娛樂(lè)兩不誤。 功能需求本系統(tǒng)要求界面簡(jiǎn)潔,美觀,交互性要比較強(qiáng)。操作方便,得體,把五子棋游戲規(guī)則中最基本的規(guī)則體現(xiàn)出來(lái),比如“悔棋”、“重來(lái)”等。五子棋還有一大特點(diǎn)就是速戰(zhàn)速?zèng)Q,電腦應(yīng)在很短時(shí)間內(nèi)就應(yīng)做出判斷,所以要合理的設(shè)計(jì)判斷勝負(fù)的函數(shù)。并能提供一定的幫助,違反游戲規(guī)則的時(shí)候應(yīng)立即指出。在正規(guī)五子棋比賽中,都設(shè)置了“禁手”這一規(guī)則,但廣大玩家之所以喜愛(ài)五子棋游戲,就是因?yàn)槲遄悠逵螒蛞?guī)則簡(jiǎn)單,“禁手”這一規(guī)則很復(fù)雜,所以在本系統(tǒng)中,采用“無(wú)禁手”的規(guī)則,讓規(guī)則簡(jiǎn)單化。這樣,讓初學(xué)的人對(duì)五子棋有更加高的可控度,能夠真正體會(huì)到下五子棋的快樂(lè)。系統(tǒng)中還設(shè)計(jì)了狀態(tài)顯示,和積分等功能,在黑方或者白方任意一方獲得勝利,都能及時(shí)的顯示勝負(fù)的一方。積分功能讓游戲的人能夠體會(huì)的勝利的喜悅。 系統(tǒng)的設(shè)計(jì)目標(biāo)設(shè)計(jì)基于Qt的五子棋程序接收的各種消息可以分為兩類:一類是由硬件裝置產(chǎn)生的消息(如鼠標(biāo)被按下),另一類是由玩家交流發(fā)送的消息。當(dāng)指定事件發(fā)生時(shí),游戲判斷勝負(fù)的算法會(huì)根據(jù)下棋的相應(yīng)的位置來(lái)進(jìn)行。需要實(shí)現(xiàn)的的游戲重要功能:(1)主窗口:負(fù)責(zé)管理所有的部件,創(chuàng)建所有信號(hào)和槽的連接(2)棋盤類:繪制棋盤,把棋盤看成一個(gè)二維數(shù)組,處理鼠標(biāo)點(diǎn)擊事件,在點(diǎn)擊處一定范圍內(nèi)繪制棋子,然后最主要的就是算法,就是怎么走才算贏,這個(gè)要花時(shí)間研究(3)積分和勝負(fù)顯示,使游戲的人體會(huì)到勝利的快樂(lè)。(4)設(shè)計(jì)按鈕,控制開(kāi)始、重來(lái)、悔棋、退出等功能。結(jié)合實(shí)際玩家需要,運(yùn)用Qt技術(shù)設(shè)計(jì)出五子棋游戲。要用鼠標(biāo)來(lái)獲取坐標(biāo)(mousePressEvent()),點(diǎn)擊的時(shí)候應(yīng)有一定的范圍。增加圖形界面類(paintEvent()),把顯示功能從棋盤類中脫離出來(lái),棋盤只負(fù)責(zé)棋子坐標(biāo)數(shù)據(jù)的存儲(chǔ)和更新。mRecord類對(duì)下棋方的相關(guān)信息進(jìn)行了記錄,mnextturn變量對(duì)輪到哪一方下棋進(jìn)行了記錄。為使用界面更加的美觀,打算給界面貼一張背景圖(labelsetPixmap()),棋盤的網(wǎng)格沒(méi)有用QPainter類的drawline()來(lái)實(shí)現(xiàn),因?yàn)橹苯赢?huà)出來(lái)的線條不美觀。棋子本身沒(méi)有用采用QPainter類的drawEllipse()畫(huà)圓并填充來(lái)實(shí)現(xiàn),而是直接drawImage()貼圖來(lái)實(shí)現(xiàn)。設(shè)計(jì)的開(kāi)始、重來(lái)、退出、悔棋按鈕都用QPushButton類來(lái)實(shí)現(xiàn),并實(shí)現(xiàn)信號(hào)和槽函數(shù)的鏈接。游戲玩家可以根據(jù)游戲按鍵來(lái)控制游戲的開(kāi)始,暫停和結(jié)束,在進(jìn)入游戲后,玩家可以通過(guò)鼠標(biāo)點(diǎn)擊來(lái)下棋,并能夠在游戲階段進(jìn)行積分,讓玩家體會(huì)到游戲的快樂(lè)以及戰(zhàn)斗的快樂(lè)。本系統(tǒng)界面美觀,友好,操作方便。 第3章 系統(tǒng)開(kāi)發(fā)的技術(shù)背景本設(shè)計(jì)與建設(shè)過(guò)程中應(yīng)用的主要技術(shù)有用Qt開(kāi)發(fā)五子棋應(yīng)用程序的開(kāi)發(fā),包括繪制出棋子和棋盤,設(shè)置出開(kāi)始、重來(lái)、悔棋、退出等按鈕功能。用到了鼠標(biāo)點(diǎn)擊事件的處理,繪制棋子,和棋盤的函數(shù)drawpixmap()的使用。還有勝負(fù)顯示,黑方和白方兩方的積分。還有就是應(yīng)用程序的移植,包括uboot的燒寫(xiě),內(nèi)核的裁剪,根文件系統(tǒng)的燒寫(xiě),編譯第三方庫(kù),其中包括 ,qtopia源碼的編譯,運(yùn)用的軟件主要有ubuntu桌面應(yīng)用為主的Linux操作系統(tǒng)。運(yùn)用的硬件主要有OK6410開(kāi)發(fā)板。 Qt技術(shù)介紹Qt是一個(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架,它是基于面向?qū)ο蟮乃枷脒M(jìn)行相應(yīng)開(kāi)發(fā)的,支持真正意義上的組件編程,可以為不同用戶提供華麗的用戶界面。所以,從本質(zhì)上來(lái)說(shuō)Qt是一個(gè)跨平臺(tái)的C++應(yīng)用程序開(kāi)發(fā)框架,有時(shí)又被稱為C++部件工具箱。Qt被用在KDE桌面環(huán)境、Opera、Google Earth、Skype、Adobe Photoshop Album 和 VirtualBox 的 開(kāi) 發(fā) 中 , 是 諾 基 亞 ( Nokia ) 的 Qt Development Frameworks 部門的產(chǎn)品。使用 Qt只需一次性開(kāi)發(fā)應(yīng)用程序和用戶界面,無(wú)須再次重新編寫(xiě)源代碼,便可跨不同桌面和嵌入式操作系統(tǒng)部署這些應(yīng)用程序。信號(hào)和插槽機(jī)制是 Qt 的核心機(jī)制,也是 Qt 的核心特性。 Qt 有著自身的特點(diǎn),不同于其他界面開(kāi)發(fā)軟件,其中一個(gè)重要的地方,便是信號(hào)與插槽機(jī)制,因此精通 Qt 編程是基于對(duì)信號(hào)和插槽機(jī)制有著深入的了解;信號(hào)和插槽是一種高級(jí)接口,很好的解決了對(duì)象與對(duì)象之間的通信問(wèn)題,也是 Qt區(qū)別于其他工具包的重要地方。信號(hào)和插槽是 Qt 自行定義的一種通信機(jī)制,Qt 編程語(yǔ)法是完全符合標(biāo)準(zhǔn) C/C++語(yǔ)言的,但是信號(hào)與插槽機(jī)制卻是獨(dú)立于標(biāo)準(zhǔn)的 C/C++,因此要正確的處理信號(hào)和插槽,必須借助一個(gè)稱為 moc(Meta Object Compiler)的 Qt工具,該工具是一個(gè) C++預(yù)處理程序,它為高層次的事件處理自動(dòng)生成所需要的附加代碼。信號(hào)/槽機(jī)制是在QObject類中實(shí)現(xiàn)的。在QObject類或者其一個(gè)子類(比如:QWidget類)繼承的所有類中,都存在了信號(hào)和槽。當(dāng)對(duì)象改變其狀態(tài)的時(shí)候,信號(hào)被發(fā)送,對(duì)象不關(guān)心有沒(méi)有其他對(duì)象接收到這個(gè)信號(hào)。槽是類的正常成員函數(shù),可以將信號(hào)和槽通過(guò)connect()函數(shù)任意連接。當(dāng)一個(gè)信號(hào)被發(fā)射,它所連接的槽會(huì)被立即執(zhí)行,如同一個(gè)普通函數(shù)調(diào)用一樣。Qt 安裝配置1. 下載安裝包從網(wǎng)址Qt libraries for Windows (minGW , 354 MB) 和Qt Creator for Windows (53 MB)2. 安裝先安裝Qt Creator,安裝過(guò)程中會(huì)自動(dòng)安裝minGw,并記住路徑以便安裝Qt Library時(shí)使用。在安裝Qt Libraries3. 配置安裝完畢,打開(kāi)Qt Creator, 選擇‘工具|選項(xiàng)’對(duì)話框,在‘構(gòu)建和運(yùn)行’中點(diǎn)擊添加按鈕,:4. 新建項(xiàng)目并運(yùn)行跟著新建項(xiàng)目的向?qū)б徊揭徊阶鼍涂梢粤?,?xiàng)目的工作目錄不能有中文,否則make的時(shí)候會(huì)報(bào)錯(cuò)。 OK6410開(kāi)發(fā)板簡(jiǎn)介OK6410是由飛凌嵌入式技術(shù)有限公司設(shè)計(jì)生產(chǎn)的一款嵌入式開(kāi)發(fā)平臺(tái),它基于三星公司的ARM11處理器S3C2440A,內(nèi)部帶有全性能的MMU(內(nèi)存處理單元) ,適用于設(shè)計(jì)移動(dòng)手持設(shè)備類產(chǎn)品。OK6410開(kāi)發(fā)板采用核心板+底板設(shè)計(jì),性能穩(wěn)定可靠,具有高性能、低功耗、接口豐富和體積小等優(yōu)良特性。目前已成功移植Linux,WINCE等操作系統(tǒng)到OK6410開(kāi)發(fā)板。3.每次使用OK6410開(kāi)發(fā)板前,請(qǐng)先將手接觸開(kāi)發(fā)板周圍金屬部分或者其它地方來(lái)釋放靜電,避免直接用手觸摸芯片造成芯片燒壞!需要對(duì)開(kāi)發(fā)板進(jìn)行物理操作時(shí),請(qǐng)關(guān)閉電源,除USB以及網(wǎng)絡(luò)接口(如果與局域網(wǎng)相接請(qǐng)使用普通網(wǎng)線,開(kāi)發(fā)板標(biāo)配網(wǎng)線為計(jì)算機(jī)直連網(wǎng)線)外,其它接口均不支持熱插拔,開(kāi)發(fā)板工作時(shí),請(qǐng)不要帶電插拔。OK6410 開(kāi)發(fā)板采用核心板+底板結(jié)構(gòu),核心板為6 層,底板為2 層。開(kāi)發(fā)板的布局和走線經(jīng)過(guò)精心設(shè)計(jì),可穩(wěn)定運(yùn)行在400MHz。接口豐富,功能強(qiáng)大,適用于各種手持設(shè)備,消費(fèi)電子和工業(yè)控制設(shè)備的開(kāi)發(fā)。三星公司推出的這款16/32 位RISC 處理器S3C2440A,是面向高端手持設(shè)備或其它一般應(yīng)用而設(shè)計(jì)的芯片。采用ARM1120T 內(nèi)核,低功耗, 具有高速的處理計(jì)算能力。整體設(shè)計(jì)融合了MMU、AMBA BUS 和Harvard(哈佛)結(jié)構(gòu)。具有獨(dú)立的16KB 指令Cache 和16KB 數(shù)據(jù)Cache。其內(nèi)部體系結(jié)構(gòu):— 為手持設(shè)備和通用嵌入式應(yīng)用提供片上集成系統(tǒng)解決方案。— 16/32 位RISC 體系結(jié)構(gòu)和ARM1120T 內(nèi)核指令集。— 增強(qiáng)的ARM 體系結(jié)構(gòu)MMU 用于支持WinCE,EPOC32 和Linux?!?指令高速存儲(chǔ)緩沖器(I–Cache),數(shù)據(jù)高速存儲(chǔ)緩沖器(D–Cache),寫(xiě)緩沖器和物理地址TAG RAM 減少主存帶寬和響應(yīng)性帶來(lái)的影響?!?采用ARM1120T CPU 內(nèi)核支持ARM 調(diào)試體系結(jié)構(gòu)。— 內(nèi)部高級(jí)微控制總線(AMBA)體系結(jié)構(gòu)(,AHB/APB)。系統(tǒng)管理器— 支持大/小端模式?!?支持快速總線模式和同步總線模式— 尋址空間:每bank 128M 字節(jié)(總共1G 字節(jié))?!?支持可編程的每bank 8/16/32 位數(shù)據(jù)總線帶寬?!?從bank0 到bank6 都采用固定的bank 起始尋址?!?bank7 具有可編程的bank 的起始地址和大小?!?8 個(gè)存儲(chǔ)器bank,其中6 個(gè)適用于ROM、SRAM 和其它,另外兩個(gè)適用于ROM/SRAM和同步DRAM?!?所有的存儲(chǔ)器bank 都具有可編程的操作周期?!?支持外部等待信號(hào)延長(zhǎng)總線周期?!?支持掉電時(shí)的SDRAM 自刷新模式?!?支持各種型號(hào)的ROM 引導(dǎo)(NOR/NAND FLASH、EEPROM,或其它)。NAND FLASH 啟動(dòng)引導(dǎo)— 支持從NAND FLASH 存儲(chǔ)器直接啟動(dòng)?!?采用4KB 內(nèi)部緩沖器進(jìn)行啟動(dòng)引導(dǎo)?!?啟動(dòng)之后NAND 存儲(chǔ)器仍然可作為外部存儲(chǔ)器使用Cache 存儲(chǔ)器— 64 項(xiàng)全相連模式,采用I–Cache(16KB)和D–Cache(16KB)。— 每行8 字長(zhǎng)度,其中每行帶有一個(gè)有效位和兩個(gè)dirty 位。— 偽隨機(jī)數(shù)或輪轉(zhuǎn)循環(huán)替代法。— 采用寫(xiě)穿式(write–through)或?qū)懟厥剑╳rite–back)Cache 操作來(lái)更新主存儲(chǔ)器?!?4 通道16 位具有PWM 功能的定時(shí)器,1 通道16 位內(nèi)部定時(shí)器,可基于DMA 或中斷進(jìn)行工作?!?可編程的占空比周期,頻率和極性?!?能產(chǎn)生死區(qū)?!?支持外部中斷源。UART— 3 通道UART,可以基于DMA 模式或中斷模式工作。— 支持5 位、6 位、7 位或者8 位串行數(shù)據(jù)發(fā)送/接收。— 支持外部時(shí)鐘作為UART 的運(yùn)行時(shí)鐘(UEXTCLK)?!?可編程的波特率。— 支持IrDA ?!?具有測(cè)試用的回還模式。— 每個(gè)通道都具有內(nèi)部64 字節(jié)的發(fā)送FIFO 和64 字節(jié)的接收FIFO。A/D 轉(zhuǎn)換和觸摸屏接口USB 主設(shè)備— 2 個(gè)USB 主設(shè)備接口?!?遵從OHCI 標(biāo)準(zhǔn)?!?兼容USB 標(biāo)準(zhǔn)。USB 從設(shè)備— 1 個(gè)USB 從設(shè)備接口?!?具備5 個(gè)Endpoint?!?兼容USB 標(biāo)準(zhǔn)。SD 主機(jī)接口— 基于普通、DMA 或中斷傳輸模式(字節(jié)、半字、字)?!?支持DMA 脈沖訪問(wèn)(只是字傳輸)?!?兼容SD 版?!?兼容SDIO 版?!?64 字節(jié)發(fā)送和接收FIFO?!? 版。 Linux操作系統(tǒng)簡(jiǎn)介當(dāng)今為 Linux 建立文件分區(qū)可以有兩種辦法,一種是利用空閑的磁盤空間新建一個(gè) Linux 分區(qū) ,另一種是編輯一個(gè)現(xiàn)有的分區(qū),使它成為 Linux 分區(qū)。如果沒(méi)有空閑的磁盤空間,就需要將現(xiàn)有的分區(qū)刪除后,騰出空間,以建立 Linux 分區(qū)。DISK DRUID 程序中有明顯的新建、刪除、編輯、重設(shè)等按鈕。用戶可以直觀地對(duì)磁盤進(jìn)行操作。在使用 DISK DRUID 對(duì)磁盤分區(qū)進(jìn)行操作時(shí),有四個(gè)重要的參數(shù)需要仔細(xì)設(shè)定:它們是掛載點(diǎn)、文件系統(tǒng)類型、驅(qū)動(dòng)器、分區(qū)大小。掛載點(diǎn):它指定了該分區(qū)對(duì)應(yīng) Linux 文件系統(tǒng)的哪個(gè)目錄,Linux 允許將不同的物理磁盤上的分區(qū)映射到不同的目錄,這樣可以實(shí)現(xiàn)將不同的服務(wù)程序放在不同的物理磁盤上,當(dāng)其中一個(gè)物理磁盤損壞時(shí)不會(huì)影響到其他物理磁盤上的數(shù)據(jù)。文件系統(tǒng)類型:它指定了該分區(qū)的文件系統(tǒng)類型,可選項(xiàng)有 EXTEXTREISERFS、JFS、SWAP 等。Linux 的數(shù)據(jù)分區(qū)創(chuàng)建完畢后,有必要?jiǎng)?chuàng)建一個(gè) SWAP 分區(qū),它實(shí)際上是用硬盤模擬的虛擬內(nèi)存,當(dāng)系統(tǒng)內(nèi)存使用率比較高的時(shí)候,內(nèi)核會(huì)自動(dòng)使用 SWAP 分區(qū)來(lái)模擬內(nèi)存。大?。褐阜謪^(qū)的大?。ㄒ?MB 為單位),Linux 數(shù)據(jù)分區(qū)的大小可以根據(jù)用戶的實(shí)際情況進(jìn)行填寫(xiě),而 SWAP 大小根據(jù)經(jīng)驗(yàn)可以設(shè)為物理內(nèi)存的兩倍,但是當(dāng)物理內(nèi)存大于 1GB 時(shí),SWAP 分區(qū)可以設(shè)置為 2GB。其源碼可以自由獲得,并能夠運(yùn)行于多數(shù) Unix 系統(tǒng)。它包括以下特性:自動(dòng)重?fù)芴?hào)的撥號(hào)目錄 ,對(duì)串行設(shè)備 UUCP 格式的 lock 文件的支持,獨(dú)立的腳本語(yǔ)言解釋器,文件捕獲,多用戶單獨(dú)配置,等等。–m 用 Meta 或 Alt 鍵重載命令鍵,在 版中這是缺省值,也可以在 mini 菜單中配置這個(gè)選項(xiàng)。不過(guò)若一直使用不同的終端,其中有些沒(méi)有 Meta 或 Alt 鍵,那么方便的做法還是把
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1