【正文】
on chess game bring plenty of important methods and theories for researching on artificial intelligence, and cause broad influences on society and academe. Renju chess game means five pieces on one line, is a sort of game, which is full of wisdom, leisure and benefits, and the rules of it are very simple. Manmachine chess game Renju in one of the puter. To study the puter algorithm, we can see the beginning of artificial intelligence shadow, but also help us to human brain development. Backgammon invented in China , and the research it can allow more foreigners to understand and help to promote China39。ARM是Advanced RISC Machines的首字母組合,是一類微型處理器的統(tǒng)稱。這種處理能力的提高是通過增加時鐘頻率和減少指令執(zhí)行周期實現(xiàn)的。在北京的帶動下,其他地區(qū)也先后成立了五子棋組織,從此積極的投身于這項益智的游戲中,2004年成立中國圍棋協(xié)會五子棋分會,它屬于中國五子棋界的領導機構,并且先后在部分地區(qū)組織俱樂部,組織比賽,讓越來越多的人參與和喜愛這項活動,但是中國還是沒有專業(yè)的棋手,在這方面的相關規(guī)則和體系還不完善,能夠真正弄懂的人還是很少,所以中國在五子棋這方面的發(fā)展空間還是很大的,這就需要我們不斷的努力探索和研究才能把五子棋發(fā)展的更加壯大。l QPE(Qtopia Executable):用于處理所有的用戶界面問題。在程序設計的過程中,要將傳統(tǒng)桌面應用程序使用的類換成Qtopia的類。作為一門邊緣學科,它有諸多的研究領域,博弈即為其中之一。五子棋還有一大特點就是速戰(zhàn)速決,電腦應在很短時間內(nèi)就應做出判斷,所以要合理的設計判斷勝負的函數(shù)。需要實現(xiàn)的的游戲重要功能:(1)主窗口:負責管理所有的部件,創(chuàng)建所有信號和槽的連接(2)棋盤類:繪制棋盤,把棋盤看成一個二維數(shù)組,處理鼠標點擊事件,在點擊處一定范圍內(nèi)繪制棋子,然后最主要的就是算法,就是怎么走才算贏,這個要花時間研究(3)積分和勝負顯示,使游戲的人體會到勝利的快樂。設計的開始、重來、退出、悔棋按鈕都用QPushButton類來實現(xiàn),并實現(xiàn)信號和槽函數(shù)的鏈接。 Qt技術介紹Qt是一個多平臺的C++圖形用戶界面應用程序框架,它是基于面向?qū)ο蟮乃枷脒M行相應開發(fā)的,支持真正意義上的組件編程,可以為不同用戶提供華麗的用戶界面。在QObject類或者其一個子類(比如:QWidget類)繼承的所有類中,都存在了信號和槽。目前已成功移植Linux,WINCE等操作系統(tǒng)到OK6410開發(fā)板。具有獨立的16KB 指令Cache 和16KB 數(shù)據(jù)Cache?!?支持快速總線模式和同步總線模式— 尋址空間:每bank 128M 字節(jié)(總共1G 字節(jié))?!?支持各種型號的ROM 引導(NOR/NAND FLASH、EEPROM,或其它)?!?可編程的占空比周期,頻率和極性。— 具有測試用的回還模式。SD 主機接口— 基于普通、DMA 或中斷傳輸模式(字節(jié)、半字、字)。DISK DRUID 程序中有明顯的新建、刪除、編輯、重設等按鈕。它包括以下特性:自動重撥號的撥號目錄 ,對串行設備 UUCP 格式的 lock 文件的支持,獨立的腳本語言解釋器,文件捕獲,多用戶單獨配置,等等。許多 PC–Unix 克隆不經(jīng)翻譯也能正確顯示它們(Linux 使用專門的模式:Coherent 和 Sco)。使用‘–c on’可以打開此項。export MINICOM或者其它等效的設置,然后啟動 mini,mini 會假定終端有 Meat 鍵或 Alt 鍵,并且支持彩色。簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。LINUX是一款免費的操作系統(tǒng),用戶可以通過網(wǎng)絡或其他途徑免費獲得,并可以任意修改其源代碼。同時還設計了顯示勝負,和積分的功能。4.規(guī)范性原則:軟件設計過程盡量按照規(guī)范進行,系統(tǒng)編碼,操作系統(tǒng)平臺以及所采用的開發(fā)方法也按照相應的標準。 QPainter greenPainter(this)。 QRect rect3(690,0,331,232)。 i++) { if([i].()0) break。} 鼠標處理事件的實現(xiàn)void MainWindow::mousePressEvent(QMouseEvent *e){ if(!=39。 if(!( (), () , 0) )//調(diào)用canput()和addrecord()添加記錄 { // printf(in mouse press Event cannot put chess\n)。 int sizex=()。 if(()0||()0) return QPoint(1,1)。 //? (y)。//0x15,0y15 switch(direction) { case 0://horizontal 39。 dy=1。/39。amp。 ry+=dy。amp。 { dx=1。 } return count。在嵌入式系統(tǒng)中,通常并沒有像BIOS 那樣的固件程序,因此整個系統(tǒng)的加載啟動任務就完全由BootLoader 來完成。而經(jīng)過大量統(tǒng)計資料表明,應用程序測試工作量往往占開發(fā)總工作量的40%以上。調(diào)試可將測試和糾錯結合起來。舉個例子:有一個繼承于QWidget的子類MyWidget,并在子類中對paintEvent進行了重寫。因此,一般情況下,我們調(diào)用update就夠了,跟repaint()比起來,update是推薦使用的。6. 錯誤: ‘class QApplication’沒有名為‘setMainWidget’的成員 解決方法直接建立一個WidgetQtDesigner的使用解決方法在對話框中添加背景圖片的一種方法:右鍵點擊窗體區(qū)域change styleSheets在彈出的edit Style Sheet對話框中選擇Add resources中的backgroudimage在select resources中選擇自己想要的資源圖片確定但這做法有一個問題,就是窗體中的部件,如按鈕和輸入框等也全部添加了背景。路徑可以參考文章上面寫的方法輸出的圖片路徑。mBlackLabelsetNum(count2)。 thiscentralWidget()show()。把 注意:uic 拷貝到 ,需要修改一下 build 腳本文件,因為如果您重新執(zhí)行 build 命令,該腳本會把剛才編譯中的 文件夾刪除,重新解壓,形成新的 ,開始編譯,這樣剛才拷貝的 uic 就沒意義了。error: ‘QWSInputMethod’ has not been declared解決方法cd /root/yizhi/gedit 在前面增加以下兩行class QWSInputMethod。} nfs:找不到命令rootahuidesktop:/ service nfs restartnfs: unrecognized service解決方法用Sudo aptget install nfskenelservices安裝nfs17. 出現(xiàn)的錯誤/root/yizhi/: error while loading shared libraries: : cannot open shared object file: No such file or directorymake[5]: *** [../../../include/qtopia/private/] 錯誤 127make[5]:正在離開目錄 `/root/yizhi/39。13. (temptRect,*mblackChessPixmap)。但是這樣自動布局帶來的后果是很難知道窗口中某一部件在主窗口中的相對位置。解決的辦法最后找到了:在彈出的edit Style Sheet對話框中,可以這樣寫MainWindow {backgroundimage: url(:/images/images/)。2. 出現(xiàn)的問題不明白怎么從鼠標點擊mousePressEvent到畫出棋子paintevent的轉(zhuǎn)化/home/ahui/untitled1/drawImage/widgetbuilddesktop/../widget/:43: error: conflicting return type specified for ‘virtual QPoint mywidget::mousePressEvent(QMouseEvent*)’解決方法和原理把QPoint mousePressEvent(QMouseEvent *e)。但是,myrepaint()又被重寫的paintEvent()調(diào)用。1. 出現(xiàn)的問題悔棋的地方不能再放子QPainter::begin: A paint device can only be painted by one painter at a time.QPainter::setBrush: Painter not active沒有注意到Qt 中update()和repaint()的區(qū)別解決方法及原理將update()換成update(rect)paintEvent()是一個虛函數(shù)槽(slot),子類可以對父類的paintEvent進行重寫。應用系統(tǒng)測試的目標有以下兩點。Bootloader 的實現(xiàn)嚴重依賴于具體硬件,在嵌入式系統(tǒng)中硬件配置千差萬別,即使是相同的CPU,它的外設也可能不同,所以不可能有一個Bootloader 支持所有的CPU、所有的電路板。 else return false。 } else// 39。 | 39。 } if(dx==1amp。amp。dy=1。 } case 2://39。 { dx=1。 return p。 int sizey=()。 if((()sizex)%sizex = sizex/2){ (x/sizex)。 } PutChessToFace(p)。)//39。()=convertGridToMouse([i].mPoint).y()。 QRect rect4(690,352,261,261)。 QRect rect(10,10,695,555)。用到了鼠標點擊事件的處理,繪制棋子,和棋盤的函數(shù)drawpixmap()的使用。第4章 系統(tǒng)總體設計 五子棋游戲設計原則一個好的游戲往往要遵循游戲的設計原則,主要是從實用性,先進性,兼容性和規(guī)范性上進行設計。正是由于這一點,來自全世界的無數(shù)程序員參與了LINUX的修改、編寫工作,程序員可以根據(jù)自己的興趣和靈感對其進行改變。我們在開發(fā)板上運行的程序,是在 PC 機上編譯的,所以是交叉編譯。當有了 linux 內(nèi)核源碼之后需要交叉編譯,因為源碼是不能運行的。–C 文件名,啟動時打開捕獲文件。mini 缺省使用‘–aon’,但若在用這樣的終端,你就可以(必須!)加上選項‘–a off’。不過若一直使用不同的終端,其中有些沒有 Meta 或 Alt 鍵,那么方便的做法還是把缺省的命令鍵設置為 Ctrl–A,當有了支持 Meta 或 Alt 鍵的鍵盤時再使用此選項。在使用 DISK DRUID 對磁盤分區(qū)進行操作時,有四個重要的參數(shù)需要仔細設定:它們是掛載點、文件系統(tǒng)類型、驅(qū)動器、分區(qū)大小?!?兼容SD 版。A/D 轉(zhuǎn)換和觸摸屏接口USB 主設備— 2 個USB 主設備接口?!?支持外部中斷源?!?采用4KB 內(nèi)部緩沖器進行啟動引導?!?從bank0 到bank6 都采用固定的bank 起始尋址。— 16/32 位RISC 體系結構和ARM1120T 內(nèi)核指令集。OK6410 開發(fā)板采用核心板+底板結構,核心板為6 層,底板為2 層。槽是類的正常成員函數(shù),可以將信號和槽通過connect()函數(shù)任意連接。Qt被用在KDE桌面環(huán)境、Opera、Google