【正文】
就是在 rm –fr 和 tar xfvz 語句前加上 注釋掉,修改后保存退出。 uisetupUi(this)。12. 繪制棋子時(shí)棋子緊緊挨在一起,且不在方格角上解決方法方法:調(diào)整棋子的大小。8. ui中字體的設(shè)計(jì)9. 出現(xiàn)的問題如何獲得 Qt窗口部件在主窗口中的位置確定鼠標(biāo)是否在某一控件上與在控件上的位置解決方法用Qt Creator 設(shè)計(jì)程序時(shí),最方便的就是ui設(shè)計(jì)器,可以很容易的得到想要的布局。而且按鈕的形狀也被改變,沒有了一些浮動(dòng)效果。在這區(qū)別中關(guān)鍵點(diǎn)是:repaint()是立即調(diào)用paintEvent(),而update()是幾次執(zhí)行才調(diào)用一次paintEvent()。我們?cè)贛yWidget::myrepaint()中調(diào)用repaint()。測(cè)試和調(diào)試常常交替進(jìn)行。應(yīng)用程序測(cè)試首先要明確目標(biāo),然后要掌握測(cè)試方法策略,確實(shí)做到盡可能地將軟件中存在的問題找出來,以保證質(zhì)量。比如在一個(gè)基于ARM11的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址0x00000000 處開始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader 程序。}bool GameLogic :: JudgeWin(int x, int y, int s){ if(CountStones(x, y, s, 0)=5 ||CountStones(x, y, s, 1)=5 ||CountStones(x, y, s, 2)=5 ||CountStones(x, y, s, 3)=5) return true。 dy=1。dy==1)//vertical 39。 count++。rx+dx=15amp。 { dx=1。 break。 39。 if(()0||()0) printf(int convertGridToMouse size:(%d ,%d) grid x,y : %d,%d mouse x, y:%d,%d \n,sizex, sizey, (), (), (), ())。 int sizex=()。 int sizey=()。 return。p39。 QPoint p=changeGridToMouse([i].mPoint)。 (rect3,*mbanPixmap)。 (Qt::green)。 五子棋游戲的總體設(shè)計(jì)結(jié)構(gòu)本系統(tǒng)主要包括包括繪制出棋子和棋盤,設(shè)置出開始、重來、悔棋、退出等按鈕功能。因此該系統(tǒng)在操作上是可行的。這是其他的操作系統(tǒng)所做不到的。如 keil 軟件,在 keil 上編譯,但在單片機(jī)上運(yùn)行,典型的交叉編譯。如果從一個(gè)不支持彩色的終端登錄,并在啟動(dòng)文件(.profile 或等效文件)中設(shè)置了mini,而且又不想重置環(huán)境變量,那么就可以鍵入‘mini –c off’,來運(yùn)行這次沒有色彩支持的會(huì)話。把這個(gè)標(biāo)志,還有‘–m’放入 MINICOM 環(huán)境變量中是個(gè)不錯(cuò)的選擇。–a 特性使用,有些終端,特別是 televideo 終端,有個(gè)很討厭的特性處理(串行而非并行)。–m 用 Meta 或 Alt 鍵重載命令鍵,在 版中這是缺省值,也可以在 mini 菜單中配置這個(gè)選項(xiàng)。用戶可以直觀地對(duì)磁盤進(jìn)行操作。— 支持DMA 脈沖訪問(只是字傳輸)?!?每個(gè)通道都具有內(nèi)部64 字節(jié)的發(fā)送FIFO 和64 字節(jié)的接收FIFO?!?能產(chǎn)生死區(qū)。NAND FLASH 啟動(dòng)引導(dǎo)— 支持從NAND FLASH 存儲(chǔ)器直接啟動(dòng)?!?支持可編程的每bank 8/16/32 位數(shù)據(jù)總線帶寬。其內(nèi)部體系結(jié)構(gòu):— 為手持設(shè)備和通用嵌入式應(yīng)用提供片上集成系統(tǒng)解決方案。3.每次使用OK6410開發(fā)板前,請(qǐng)先將手接觸開發(fā)板周圍金屬部分或者其它地方來釋放靜電,避免直接用手觸摸芯片造成芯片燒壞!需要對(duì)開發(fā)板進(jìn)行物理操作時(shí),請(qǐng)關(guān)閉電源,除USB以及網(wǎng)絡(luò)接口(如果與局域網(wǎng)相接請(qǐng)使用普通網(wǎng)線,開發(fā)板標(biāo)配網(wǎng)線為計(jì)算機(jī)直連網(wǎng)線)外,其它接口均不支持熱插拔,開發(fā)板工作時(shí),請(qǐng)不要帶電插拔。當(dāng)對(duì)象改變其狀態(tài)的時(shí)候,信號(hào)被發(fā)送,對(duì)象不關(guān)心有沒有其他對(duì)象接收到這個(gè)信號(hào)。所以,從本質(zhì)上來說Qt是一個(gè)跨平臺(tái)的C++應(yīng)用程序開發(fā)框架,有時(shí)又被稱為C++部件工具箱。游戲玩家可以根據(jù)游戲按鍵來控制游戲的開始,暫停和結(jié)束,在進(jìn)入游戲后,玩家可以通過鼠標(biāo)點(diǎn)擊來下棋,并能夠在游戲階段進(jìn)行積分,讓玩家體會(huì)到游戲的快樂以及戰(zhàn)斗的快樂。(4)設(shè)計(jì)按鈕,控制開始、重來、悔棋、退出等功能。并能提供一定的幫助,違反游戲規(guī)則的時(shí)候應(yīng)立即指出。所以五子棋游戲能很好的幫助人們從生活壓力中得到快樂。由于嵌入式設(shè)備存儲(chǔ)器的特殊性,在面向文檔的應(yīng)用程序中,需要利用Qtopia類庫中的對(duì)文檔的特殊支持方法。l mkipks:為配置PDA而產(chǎn)生ipk文件的包。那么現(xiàn)在通過網(wǎng)絡(luò)五子棋游戲的產(chǎn)生也讓更多的人收益,人們不僅可以和電腦下棋,還可以和異地的陌生人下棋,更可以在下棋的時(shí)候和對(duì)方交流心得,這就是我此次設(shè)計(jì)的主題,那么在未來的五子棋的發(fā)展來看,也許比賽的規(guī)則會(huì)有所改變,棋局會(huì)變的更復(fù)雜而且所需的技巧也會(huì)越來越多,這就需要所有人的努力才會(huì)實(shí)現(xiàn)了。本系統(tǒng)的所有用戶界面則采用可跨多平臺(tái)的Qt圖形界面設(shè)計(jì)軟件進(jìn)行開發(fā),Qt圖形界面設(shè)計(jì)軟件具有優(yōu)良的跨平臺(tái)特性、面向?qū)ο蟆⒇S富的API、大量的開發(fā)文檔等優(yōu)點(diǎn)。五子棋人機(jī)對(duì)弈是計(jì)算機(jī)博弈中的一種。s traditional culture.This paper focuses on the study of this chess game, and uses the Linux to explore the Renju chess game. This system mainly uses the function of Qt to realize the export of chessboard and checker, and people can play with puter. Moreover, this system has the assistant functions such as “Deuce”、“ Play Again”、“ start” 、“ count score” 、“ Go back” and so on.With the emergence of Qtopia, it is more convenient to develop GUI applications on embedded Linux. This paper firstly introduces the steps of building Qtopia development environment on Linux. Then, we describe how to develop GUI application by using Qtopia Development Kit. In the end, this paper refers to the process of building crosspile environment based on the target device OK6410. Keywords: Renju。本系統(tǒng)以五子棋為例實(shí)現(xiàn)的主要功能有棋盤、棋子的輸出等。目前各發(fā)達(dá)國(guó)家都把人工智能作為重點(diǎn)項(xiàng)目,列入本國(guó)的高科技發(fā)展計(jì)劃當(dāng)中,投入巨大的人力和物力。除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(jì)(論文)不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的作品或成果。本人同意北華航天工業(yè)學(xué)院有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以營(yíng)利為目的的前提下,可以公布非涉密畢業(yè)設(shè)計(jì)(論文)的部分或全部?jī)?nèi)容。研究其計(jì)算機(jī)算法,可以讓我們看到人工智能的稚形,也有助于我們?nèi)四X的開發(fā)。最后,本文以O(shè)K6410為目標(biāo)平臺(tái),闡述了構(gòu)建交叉編譯環(huán)境和交叉編譯應(yīng)用程序的步驟。II目 錄摘 要 IAbstract II第1章 緒論 3 課題研究現(xiàn)狀分析 3 選題的目的及意義 4 課題研究的主要內(nèi)容 4 4 5第2章 系統(tǒng)需求分析 6 6 功能需求 6 系統(tǒng)的設(shè)計(jì)目標(biāo) 6第3章 系統(tǒng)開發(fā)的技術(shù)背景 8 Qt技術(shù)介紹 8 OK6410開發(fā)板簡(jiǎn)介 9 Linux操作系統(tǒng)簡(jiǎn)介 11 13 13 14 14第4章 系統(tǒng)總體設(shè)計(jì) 15 五子棋游戲設(shè)計(jì)原則 15 五子棋游戲的總體設(shè)計(jì)結(jié)構(gòu) 15第5章 系統(tǒng)模塊設(shè)計(jì) 16 用Qtcreator進(jìn)行五子棋應(yīng)用程序的主要功能實(shí)現(xiàn) 16 繪制棋盤和棋子的功能 16 鼠標(biāo)處理事件的實(shí)現(xiàn) 17 18 18 方向的side方棋子個(gè)數(shù) 19 21 21 22 Bootloader 的編譯與燒寫 22 22 23第6章 系統(tǒng)調(diào)試 27 五子棋游戲測(cè)試概述 27 27結(jié) 論 34致 謝 35參考文獻(xiàn) 36附 錄1 37五子棋游戲的理論價(jià)值 37附 錄2 42The Theoretical Value Of Renju 42第1章 緒論隨著嵌入式技術(shù)的發(fā)展,嵌入式的應(yīng)用領(lǐng)域也越來越廣泛。本系統(tǒng)還有開始、重來、狀態(tài)顯示、積分、退出和悔棋等輔助功能。我國(guó)是從20世紀(jì)90年代引進(jìn)五子棋世界流行規(guī)則的,此后的十多年的時(shí)間里,五子棋在民間迅速普及。下載RPM包并安裝。有了這些工具,再加上g++(GNU C++編譯器),就可以進(jìn)行基于Qtopia應(yīng)用程序的開發(fā)、編譯和調(diào)試了。通過對(duì)五子棋的設(shè)計(jì)與開發(fā),了解和掌握游戲開發(fā)的原理與方法。 功能需求本系統(tǒng)要求界面簡(jiǎn)潔,美觀,交互性要比較強(qiáng)。 系統(tǒng)的設(shè)計(jì)目標(biāo)設(shè)計(jì)基于Qt的五子棋程序接收的各種消息可以分為兩類:一類是由硬件裝置產(chǎn)生的消息(如鼠標(biāo)被按下),另一類是由玩家交流發(fā)送的消息。為使用界面更加的美觀,打算給界面貼一張背景圖(labelsetPixmap()),棋盤的網(wǎng)格沒有用QPainter類的drawline()來實(shí)現(xiàn),因?yàn)橹苯赢嫵鰜淼木€條不美觀。還有就是應(yīng)用程序的移植,包括uboot的燒寫,內(nèi)核的裁剪,根文件系統(tǒng)的燒寫,編譯第三方庫,其中包括 ,qtopia源碼的編譯,運(yùn)用的軟件主要有ubuntu桌面應(yīng)用為主的Linux操作系統(tǒng)。信號(hào)和插槽是 Qt 自行定義的一種通信機(jī)制,Qt 編程語法是完全符合標(biāo)準(zhǔn) C/C++語言的,但是信號(hào)與插槽機(jī)制卻是獨(dú)立于標(biāo)準(zhǔn)的 C/C++,因此要正確的處理信號(hào)和插槽,必須借助一個(gè)稱為 moc(Meta Object Compiler)的 Qt工具,該工具是一個(gè) C++預(yù)處理程序,它為高層次的事件處理自動(dòng)生成所需要的附加代碼。 OK6410開發(fā)板簡(jiǎn)介OK6410是由飛凌嵌入式技術(shù)有限公司設(shè)計(jì)生產(chǎn)的一款嵌入式開發(fā)平臺(tái),它基于三星公司的ARM11處理器S3C2440A,內(nèi)部帶有全性能的MMU(內(nèi)存處理單元) ,適用于設(shè)計(jì)移動(dòng)手持設(shè)備類產(chǎn)品。采用ARM1120T 內(nèi)核,低功耗, 具有高速的處理計(jì)算能力?!?內(nèi)部高級(jí)微控制總線(AMBA)體系結(jié)構(gòu)(,AHB/APB)?!?支持外部等待信號(hào)延長(zhǎng)總線周期?!?采用寫穿式(write–through)或?qū)懟厥剑╳rite–back)Cache 操作來更新主存儲(chǔ)器。— 可編程的波特率?!?具備5 個(gè)Endpoint。 Linux操作系統(tǒng)簡(jiǎn)介當(dāng)今為 Linux 建立文件分區(qū)可以有兩種辦法,一種是利用空閑的磁盤空間新建一個(gè) Linux 分區(qū) ,另一種是編輯一個(gè)現(xiàn)有的分區(qū),使它成為 Linux 分區(qū)。大小:指分區(qū)的大?。ㄒ?MB 為單位),Linux 數(shù)據(jù)分區(qū)的大小可以根據(jù)用戶的實(shí)際情況進(jìn)行填寫,而 SWAP 大小根據(jù)經(jīng)驗(yàn)可以設(shè)為物理內(nèi)存的兩倍,但是當(dāng)物理內(nèi)存大于 1GB 時(shí),SWAP 分區(qū)可以設(shè)置為 2GB。僅當(dāng)終端支持,并且在其 termcap 或 terminfo 數(shù)據(jù)庫入口中有相關(guān)信息時(shí)才可用。由于 termcap 顯然沒有對(duì)于色彩的支持,因而 mini 硬性內(nèi)置了這些轉(zhuǎn)義序列的代碼。例如:若進(jìn)行了如下設(shè)置:MINICOM=39。交叉編譯就是在一種計(jì)算機(jī)環(huán)境中運(yùn)行的編譯程序,能編譯出在另外一種環(huán)境下運(yùn)行的代碼,我們就稱這種編譯器支持交叉編譯。發(fā)展為當(dāng)今世界的主流的嵌入式操作系統(tǒng)之一。對(duì)于初學(xué)者,其中的指南將一步步介紹如何進(jìn)行Qt編程;(5)便利性由于Qt是一種跨平臺(tái)的GUI工具包,它對(duì)編程者隱藏了在處理不同窗口系統(tǒng)時(shí)潛在的問題,Qt定義了一些類來隱藏在不同操作系統(tǒng)上不同處理方式下的細(xì)節(jié)問題;(6)支持 2D/3D 圖形渲染,支持 OpenGL。2.先進(jìn)性原則:采用先進(jìn)而成熟的技術(shù),使軟件具有較高的技術(shù)水平和較長(zhǎng)的生命周期。第5章 系統(tǒng)模塊設(shè)計(jì) 用Qtcreator進(jìn)行五子棋應(yīng)用程序的主要功能實(shí)現(xiàn)本五子棋應(yīng)用程序有繪制棋盤和棋子的功能,鼠標(biāo)處理事件的實(shí)現(xiàn),將鼠標(biāo)坐標(biāo)轉(zhuǎn)換為方格子的坐標(biāo)等多個(gè)主要函數(shù)。 QRect rect2(830,220,125,131)。 for( i=0。 } else {