版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 嵌入式系統(tǒng)課程設(shè)計(jì)報(bào)告</p><p> 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b> 二○一二年 六月</b></p><p><b> 目錄</b></p><p> 第一章:概述.........................................
2、.................................................3</p><p> 1.1研究動(dòng)機(jī)............................................................................................3</p><p> 1.2研究進(jìn)度.................
3、...........................................................................3</p><p> 1.3專題成果概述....................................................................................3</p><p> 第二章:
4、實(shí)驗(yàn)平臺(tái)的構(gòu)建......................................................................4</p><p> 2.1Wince的燒寫.....................................................................................4</p><p>
5、 2.2Microsoft ActiveSync的同步.........................................................11</p><p> 第三章:系統(tǒng)設(shè)計(jì)...................................................................................14</p><p
6、> 3.1界面要求.............................................................................................14</p><p> 3.2功能要求..................................................................................
7、...........14</p><p> 第四章:實(shí)作完成...................................................................................14</p><p> 4.1界面設(shè)計(jì).............................................................
8、................................14</p><p> 4.2代碼實(shí)現(xiàn)............................................................................................15</p><p> 4.3程序調(diào)試................................
9、............................................................23</p><p> 第五章:所遇問(wèn)題與解決辦法..............................................................24</p><p> 第六章:心得與未來(lái)展望........................
10、...............................................24</p><p> 6.1心得.....................................................................................................24</p><p> 6.2未來(lái)展望..........
11、...................................................................................25</p><p><b> :概述</b></p><p><b> 1.1研究動(dòng)機(jī)</b></p><p> 隨著網(wǎng)絡(luò)技術(shù)的日新月異和計(jì)算機(jī)的普及
12、,當(dāng)今的計(jì)算機(jī)技術(shù)也走上了平民化和娛樂(lè)化的時(shí)代,計(jì)算機(jī)技術(shù)再也不是只能由少數(shù)人掌握的深不可測(cè)的學(xué)問(wèn);同時(shí)個(gè)人計(jì)算機(jī)也由原來(lái)單純的數(shù)值計(jì)算和工業(yè)應(yīng)用逐漸轉(zhuǎn)變成像電視機(jī)一樣的家庭娛樂(lè)中心,伴隨著這種巨大的轉(zhuǎn)變計(jì)算機(jī)軟件的發(fā)展也走向了娛樂(lè)化。 尤其是游戲產(chǎn)業(yè)的發(fā)展已經(jīng)成為信息產(chǎn)業(yè)中發(fā)展勢(shì)頭最猛烈最具前景的一個(gè)分支,而游戲廳也漸漸被網(wǎng)吧擠出了正常的營(yíng)業(yè)市場(chǎng),游戲除了單純的個(gè)人娛樂(lè)功能之外,也逐漸向互動(dòng)的方向發(fā)展。游戲的功能不斷按照玩家的需
13、求和愛(ài)好擴(kuò)展延伸進(jìn)化,如今運(yùn)行在各種平臺(tái)上不同名稱,不同內(nèi)容,不同形式的游戲不僅僅為廣大游戲愛(ài)好者提供了豐富的選擇,而且為游戲開發(fā)商帶來(lái)了豐厚的回報(bào),游戲產(chǎn)業(yè)吸引著許多程序員去開發(fā)更多更新的游戲?;谟螒虬l(fā)展的歷史和前景,我們決定用C#語(yǔ)言開發(fā)一款小游戲,游戲內(nèi)容來(lái)自網(wǎng)絡(luò)上日漸流行的一種智力游戲‘黑白棋’。 黑白棋作為一款經(jīng)典的棋類博弈游戲,經(jīng)久不衰,具有很強(qiáng)的趣味性,深受廣大游戲愛(ài)好者的喜愛(ài)。那么開放一款基于WinCE的黑白棋游戲,具
14、有很高的實(shí)用價(jià)值。</p><p><b> 1.2研究目的</b></p><p> 隨著消費(fèi)類電子產(chǎn)業(yè)的蓬勃發(fā)展,越來(lái)越多的嵌入式電子產(chǎn)品走進(jìn)了千家萬(wàn)戶。各式各樣的嵌入式系統(tǒng)出現(xiàn)在了眾多的行業(yè)和應(yīng)用中,其中WinCE產(chǎn)品在市場(chǎng)上最受青睞。本課題的黑白棋游戲設(shè)計(jì)就是基于WinCE平臺(tái)的。</p><p> 本程序使用面向?qū)ο蟮腃#語(yǔ)言,
15、開發(fā)于可以運(yùn)行于WinCE環(huán)境下的游戲程序。人機(jī)對(duì)弈、雙人游戲等功能,其中人機(jī)對(duì)弈包含難度選擇和先后手選擇。</p><p><b> 1.3專題成果概述</b></p><p> 黑白棋游戲設(shè)計(jì)所完成的就是一個(gè)游戲軟件系統(tǒng)。其一般的功能包括:開始新局,對(duì)弈方式選擇,先手選擇,棋力設(shè)置,限時(shí)設(shè)置,雙方子數(shù)計(jì)數(shù)、幫助信息,關(guān)于黑白棋的介紹等,要求設(shè)計(jì)一個(gè)黑白棋游戲軟
16、件,通過(guò)計(jì)算機(jī)實(shí)現(xiàn)各個(gè)功能。其具體設(shè)計(jì)要求為:</p><p> 1、位圖的導(dǎo)入和棋盤的生成。</p><p> 2、記錄雙方對(duì)弈時(shí)間的計(jì)時(shí)器與記錄雙方子數(shù)的計(jì)數(shù)器。</p><p> 3、選擇人機(jī)對(duì)戰(zhàn)與人人對(duì)戰(zhàn)的函數(shù)及控制堆棧難度的主函數(shù)。</p><p><b> :實(shí)驗(yàn)平臺(tái)的構(gòu)建</b></p>
17、<p> 2.1 Wince的燒寫</p><p> 首先,將eboot燒進(jìn)開發(fā)板</p><p><b> 創(chuàng)建超級(jí)終端</b></p><p> 配置好超級(jí)終端,重啟開發(fā)板電源,在超級(jí)終端中得如下視圖:</p><p><b> 定制開發(fā)板內(nèi)核</b></p>
18、<p> 啟動(dòng)WinCE 5.0,新創(chuàng)建一個(gè)基于Windows CE的平臺(tái)</p><p><b> 然后進(jìn)行編譯。</b></p><p><b> 生成項(xiàng)目</b></p><p> 打開VS2008,新建項(xiàng)目</p><p> 點(diǎn)確定后,接著編寫自己的應(yīng)用程序,然后在模
19、擬器上運(yùn)行即可生成</p><p> 打包生成NK.bin</p><p> 將自己的程序reversi.exe和Framework2.0的安裝程序FW.cab復(fù)制到生成WinCE內(nèi)核的release目錄下,然后在WinCE 5.0平臺(tái)的project.bib添加如下文件:</p><p> 然后點(diǎn)擊【Build OS】【Copy Files to Relea
20、se Directory】;</p><p> 再次將自己的程序reversi.exe和Framework2.0的安裝程序FW.cab復(fù)制到生成WinCE內(nèi)核的release目錄下,然后點(diǎn)擊【Build OS】【Make Run-Time Image】,接著到release目錄下找到NK.bin文件。</p><p><b> 生成WinCE系統(tǒng)</b></
21、p><p> 在前面配置的超級(jí)終端中,選擇D</p><p> 啟動(dòng)eshell(C:\emdoor\Tool)</p><p> 選擇文件剛才生成的NK.bin</p><p> 在eshell中會(huì)提示發(fā)送文件成功</p><p> 超級(jí)終端會(huì)顯示寫入閃存的情況</p><p> 當(dāng)寫
22、入成功后,開發(fā)板會(huì)自動(dòng)重啟,此時(shí)就裝好了WinCE系統(tǒng)</p><p> 2.2 Microsoft ActiveSync的同步</p><p> 在WinCE中配置網(wǎng)絡(luò)連接</p><p><b> 第三章:系統(tǒng)設(shè)計(jì)</b></p><p><b> 3.1 界面要求</b></p
23、><p><b> 菜單欄;</b></p><p><b> 子數(shù)計(jì)數(shù)器;</b></p><p><b> 棋盤設(shè)計(jì)。</b></p><p><b> 3.2 功能要求</b></p><p><b> 選擇人
24、機(jī)對(duì)戰(zhàn);</b></p><p><b> 選擇雙人對(duì)戰(zhàn);</b></p><p> 選擇初級(jí)、中級(jí)、高級(jí)難度;</p><p><b> 認(rèn)輸功能;</b></p><p><b> 黑白子數(shù)統(tǒng)計(jì);</b></p><p><
25、b> 游戲幫助;</b></p><p><b> 退出游戲。</b></p><p><b> ?。簩?shí)作完成</b></p><p><b> 4.1界面設(shè)計(jì)</b></p><p><b> 4.2代碼實(shí)現(xiàn)</b></p
26、><p> using System;</p><p> namespace Reversi</p><p><b> {</b></p><p> public class Board</p><p><b> {</b></p><p>
27、public static readonly int Black = -1;</p><p> public static readonly int Empty = 0;</p><p> public static readonly int White = 1;</p><p> public int BlackCount</p><
28、p><b> {</b></p><p> get { return this.blackCount; }</p><p><b> }</b></p><p> public int WhiteCount</p><p><b> {</b></p>
29、;<p> get { return this.whiteCount; }</p><p><b> }</b></p><p> public int EmptyCount</p><p><b> {</b></p><p> get { return this.empt
30、yCount; }</p><p><b> }</b></p><p> public int BlackFrontierCount</p><p><b> {</b></p><p> get { return this.blackFrontierCount; }</p>
31、<p><b> }</b></p><p> public int WhiteFrontierCount</p><p><b> {</b></p><p> get { return this.whiteFrontierCount; }</p><p><b>
32、 }</b></p><p> public int BlackSafeCount</p><p><b> {</b></p><p> get { return this.blackSafeCount; }</p><p><b> }</b></p><
33、p> public int WhiteSafeCount</p><p><b> {</b></p><p> get { return this.whiteSafeCount; }</p><p><b> }</b></p><p> private int blackCoun
34、t;</p><p> private int whiteCount;</p><p> private int emptyCount;</p><p> private int blackFrontierCount;</p><p> private int whiteFrontierCount;</p><p&
35、gt; private int blackSafeCount;</p><p> private int whiteSafeCount;</p><p> private int[,] squares;</p><p> private bool[,] safeDiscs;</p><p> public Board()</p
36、><p><b> {</b></p><p> this.squares = new int[8, 8];</p><p> this.safeDiscs = new bool[8, 8];</p><p><b> int i, j;</b></p><p> fo
37、r (i = 0; i < 8; i++)</p><p> for (j = 0; j < 8; j++)</p><p><b> {</b></p><p> this.squares[i, j] = Board.Empty;</p><p> this.safeDiscs[i, j] = fa
38、lse;</p><p><b> }</b></p><p> this.UpdateCounts();</p><p><b> }</b></p><p> public Board(Board board)</p><p><b> {</b
39、></p><p> this.squares = new int[8, 8];</p><p> this.safeDiscs = new bool[8, 8];</p><p><b> int i, j;</b></p><p> for (i = 0; i < 8; i++)</p>
40、;<p> for (j = 0; j < 8; j++)</p><p><b> {</b></p><p> this.squares[i, j] = board.squares[i, j];</p><p> this.safeDiscs[i, j] = board.safeDiscs[i, j];</
41、p><p><b> }</b></p><p> this.blackCount = board.blackCount;</p><p> this.whiteCount = board.whiteCount;</p><p> this.emptyCount = board.emptyCount;</p&g
42、t;<p> this.blackSafeCount = board.blackSafeCount;</p><p> this.whiteSafeCount = board.whiteSafeCount;</p><p><b> }</b></p><p> public void SetForNewGame()<
43、;/p><p><b> {</b></p><p><b> int i, j;</b></p><p> for (i = 0; i < 8; i++)</p><p> for (j = 0; j < 8; j++)</p><p><b>
44、 {</b></p><p> this.squares[i, j] = Board.Empty;</p><p> this.safeDiscs[i, j] = false;</p><p><b> }</b></p><p> this.squares[3, 3] = White;</p&
45、gt;<p> this.squares[3, 4] = Black;</p><p> this.squares[4, 3] = Black;</p><p> this.squares[4, 4] = White;</p><p> this.UpdateCounts();</p><p><b> }&
46、lt;/b></p><p> public int GetSquareContents(int row, int col)</p><p><b> {</b></p><p> return this.squares[row, col];</p><p><b> }</b><
47、;/p><p> public void MakeMove(int color, int row, int col)</p><p><b> {</b></p><p> this.squares[row, col] = color;</p><p> int dr, dc;</p><p&
48、gt;<b> int r, c;</b></p><p> for (dr = -1; dr <= 1; dr++)</p><p> for (dc = -1; dc <= 1; dc++)</p><p> if (!(dr == 0 && dc == 0) && IsOutflanki
49、ng(color, row, col, dr, dc))</p><p><b> {</b></p><p> r = row + dr;</p><p> c = col + dc;</p><p> // Flip 'em.</p><p> while(this.squa
50、res[r, c] == -color)</p><p><b> {</b></p><p> this.squares[r, c] = color;</p><p><b> r += dr;</b></p><p><b> c += dc;</b></p&
51、gt;<p><b> }</b></p><p><b> }</b></p><p> this.UpdateCounts();</p><p><b> }</b></p><p> public bool HasAnyValidMove(int
52、color)</p><p><b> {</b></p><p><b> int r, c;</b></p><p> for (r = 0; r < 8; r++)</p><p> for (c = 0; c < 8; c++)</p><p>
53、 if (this.IsValidMove(color, r, c))</p><p> return true;</p><p> return false;</p><p><b> }</b></p><p> public bool IsValidMove(int color, int row, int
54、col)</p><p><b> {</b></p><p> if (this.squares[row, col] != Board.Empty)</p><p> return false;</p><p> int dr, dc;</p><p> for (dr = -1; d
55、r <= 1; dr++)</p><p> for (dc = -1; dc <= 1; dc++)</p><p> if (!(dr == 0 && dc == 0) && this.IsOutflanking(color, row, col, dr, dc))</p><p> return true;<
56、;/p><p> return false;</p><p><b> }</b></p><p> public int GetValidMoveCount(int color)</p><p><b> {</b></p><p> int n = 0;</p
57、><p><b> int i, j;</b></p><p> for (i = 0; i < 8; i++)</p><p> for (j = 0; j < 8; j++)</p><p> // If the move is valid for the color, bump the count.
58、</p><p> if (this.IsValidMove(color, i, j))</p><p><b> n++;</b></p><p><b> return n;</b></p><p><b> }</b></p><p>
59、private bool IsOutflanking(int color, int row, int col, int dr, int dc)</p><p><b> {</b></p><p> int r = row + dr;</p><p> int c = col + dc;</p><p> whi
60、le (r >= 0 && r < 8 && c >= 0 && c < 8 && this.squares[r, c] == -color)</p><p><b> {</b></p><p><b> r += dr;</b></p>
61、<p><b> c += dc;</b></p><p><b> }</b></p><p> if (r < 0 || r > 7 || c < 0 || c > 7 || (r - dr == row && c - dc == col) || this.squares[r, c] !
62、= color)</p><p> return false;</p><p> // Otherwise, return true;</p><p> return true;</p><p><b> }</b></p><p> private void UpdateCounts(
63、)</p><p><b> {</b></p><p> // Reset all counts.</p><p> this.blackCount = 0;</p><p> this.whiteCount = 0;</p><p> this.emp
64、tyCount = 0;</p><p> this.blackFrontierCount = 0;</p><p> this.whiteFrontierCount = 0;</p><p> this.whiteSafeCount = 0;</p><p> this.blackSafeCount
65、= 0;</p><p><b> int i, j;</b></p><p> bool statusChanged = true;</p><p> while (statusChanged)</p><p><b> {</b></p><p> status
66、Changed = false;</p><p> for (i = 0; i < 8; i++)</p><p> for (j = 0; j < 8; j++)</p><p> if (this.squares[i, j] != Board.Empty && !this.safeDiscs[i, j] && !
67、this.IsOutflankable(i, j))</p><p><b> {</b></p><p> this.safeDiscs[i, j] = true;</p><p> statusChanged = true;</p><p><b> }</b></p>&
68、lt;p><b> }</b></p><p> int dr, dc;</p><p> for (i = 0; i < 8; i++)</p><p> for (j = 0; j < 8; j++)</p><p><b> {</b></p><
69、;p> bool isFrontier = false;</p><p> if (this.squares[i, j] != Board.Empty)</p><p><b> {</b></p><p> for (dr = -1; dr <= 1; dr++)</p><p> for (dc
70、 = -1; dc <= 1; dc++)</p><p> if (!(dr == 0 && dc == 0) && i + dr >= 0 && i + dr < 8 && j + dc >= 0 && j + dc < 8 && this.squares[i + dr, j + d
71、c] == Board.Empty)</p><p> isFrontier = true;</p><p><b> }</b></p><p> if (this.squares[i, j] == Board.Black)</p><p><b> {</b></p>&l
72、t;p> this.blackCount++;</p><p> if (isFrontier)</p><p> this.blackFrontierCount++;</p><p> if (this.safeDiscs[i, j])</p><p> this.blackSafeCount++;</p>&
73、lt;p><b> }</b></p><p> else if (this.squares[i, j] == Board.White)</p><p><b> {</b></p><p> this.whiteCount++;</p><p> if (isFrontier)&l
74、t;/p><p> this.whiteFrontierCount++;</p><p> if (this.safeDiscs[i, j])</p><p> this.whiteSafeCount++;</p><p><b> }</b></p><p><b> else&
75、lt;/b></p><p> this.emptyCount++;</p><p><b> }</b></p><p><b> }</b></p><p> private bool IsOutflankable(int row, int col)</p><
76、p><b> {</b></p><p> int color = this.squares[row, col];</p><p><b> int i, j;</b></p><p> bool hasSpaceSide1, hasSpaceSide2;</p><p> boo
77、l hasUnsafeSide1, hasUnsafeSide2;</p><p> hasSpaceSide1 = false;</p><p> hasUnsafeSide1 = false;</p><p> hasSpaceSide2 = false;</p><p> hasUnsafeSide2 = false;<
78、;/p><p> for (j = 0; j < col && !hasSpaceSide1; j++)</p><p> if (this.squares[row, j] == Board.Empty)</p><p> hasSpaceSide1 = true;</p><p> else if (this.sq
79、uares[row, j] != color || !this.safeDiscs[row, j])</p><p> hasUnsafeSide1 = true;</p><p> for (j = col + 1; j < 8 && !hasSpaceSide2; j++)</p><p> if (this.squares[row,
80、 j] == Board.Empty)</p><p> hasSpaceSide2 = true;</p><p> else if (this.squares[row, j] != color || !this.safeDiscs[row, j])</p><p> hasUnsafeSide2 = true;</p><p>
81、if ((hasSpaceSide1 && hasSpaceSide2 ) ||</p><p> (hasSpaceSide1 && hasUnsafeSide2) ||</p><p> (hasUnsafeSide1 && hasSpaceSide2 ))</p><p> return true;&l
82、t;/p><p> hasSpaceSide1 = false;</p><p> hasSpaceSide2 = false;</p><p> hasUnsafeSide1 = false;</p><p> hasUnsafeSide2 = false;</p><p> for (i = 0; i &
83、lt; row && !hasSpaceSide1; i++)</p><p> if (this.squares[i, col] == Board.Empty)</p><p> hasSpaceSide1 = true;</p><p> else if (this.squares[i, col] != color || !this.saf
84、eDiscs[i, col])</p><p> hasUnsafeSide1 = true;</p><p> for (i = row + 1; i < 8 && !hasSpaceSide2; i++)</p><p> if (this.squares[i, col] == Board.Empty)</p><
85、p> hasSpaceSide2 = true;</p><p> else if (this.squares[i, col] != color || !this.safeDiscs[i, col])</p><p> hasUnsafeSide2 = true;</p><p> if ((hasSpaceSide1 && hasS
86、paceSide2 ) ||</p><p> (hasSpaceSide1 && hasUnsafeSide2) ||</p><p> (hasUnsafeSide1 && hasSpaceSide2 ))</p><p> return true;</p><p> hasSpaceSide1
87、 = false;</p><p> hasSpaceSide2 = false;</p><p> hasUnsafeSide1 = false;</p><p> hasUnsafeSide2 = false;</p><p> i = row - 1;</p><p> j = col - 1;<
88、;/p><p> while (i >= 0 && j >= 0 && !hasSpaceSide1)</p><p><b> {</b></p><p> if (this.squares[i, j] == Board.Empty)</p><p> hasSpaceS
89、ide1 = true;</p><p> else if (this.squares[i, j] != color || !this.safeDiscs[i, j])</p><p> hasUnsafeSide1 = true;</p><p><b> i--;</b></p><p><b>
90、j--;</b></p><p><b> }</b></p><p> i = row + 1;</p><p> j = col + 1;</p><p> while (i < 8 && j < 8 && !hasSpaceSide2)</p&g
91、t;<p><b> {</b></p><p> if (this.squares[i, j] == Board.Empty)</p><p> hasSpaceSide2 = true;</p><p> else if (this.squares[i, j] != color || !this.safeDiscs[i
92、, j])</p><p> hasUnsafeSide2 = true;</p><p><b> i++;</b></p><p><b> j++;</b></p><p><b> }</b></p><p> if ((hasSpac
93、eSide1 && hasSpaceSide2 ) ||</p><p> (hasSpaceSide1 && hasUnsafeSide2) ||</p><p> (hasUnsafeSide1 && hasSpaceSide2 ))</p><p> return true;</p>&l
94、t;p> hasSpaceSide1 = false;</p><p> hasSpaceSide2 = false;</p><p> hasUnsafeSide1 = false;</p><p> hasUnsafeSide2 = false;</p><p> i = row - 1;</p><
95、;p> j = col + 1;</p><p> while (i >= 0 && j < 8 && !hasSpaceSide1)</p><p><b> {</b></p><p> if (this.squares[i, j] == Board.Empty)</p>
96、<p> hasSpaceSide1 = true;</p><p> else if (this.squares[i, j] != color || !this.safeDiscs[i, j])</p><p> hasUnsafeSide1 = true;</p><p><b> i--;</b></p>
97、<p><b> j++;</b></p><p><b> }</b></p><p> i = row + 1;</p><p> j = col - 1;</p><p> while (i < 8 && j >= 0 &&
98、!hasSpaceSide2)</p><p><b> {</b></p><p> if (this.squares[i, j] == Board.Empty)</p><p> hasSpaceSide2 = true;</p><p> else if (this.squares[i, j] != col
99、or || !this.safeDiscs[i, j])</p><p> hasUnsafeSide2 = true;</p><p><b> i++;</b></p><p><b> j--;</b></p><p><b> }</b></p>
100、<p> if ((hasSpaceSide1 && hasSpaceSide2 ) ||</p><p> (hasSpaceSide1 && hasUnsafeSide2) ||</p><p> (hasUnsafeSide1 && hasSpaceSide2 ))</p><p> ret
101、urn true;</p><p> return false;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.3程序調(diào)試與結(jié)果</p>&
102、lt;p> ?。核鰡?wèn)題與解決辦法</p><p><b> 碰到的問(wèn)題:</b></p><p> 生成NK.bin的過(guò)程中,在進(jìn)行【Make Run-Time Image】的時(shí)候,會(huì)提示出現(xiàn)4個(gè)錯(cuò)誤;</p><p> 同步的時(shí)候沒(méi)成功同步連接上;</p><p> 燒寫eboot.nb0時(shí)老是出錯(cuò);&
103、lt;/p><p> 自己的程序沒(méi)辦法運(yùn)行。</p><p><b> 對(duì)應(yīng)的解決辦法:</b></p><p> 再次將自己的程序reversi.exe和Framework2.0的安裝程序FW.cab復(fù)制到生成WinCE內(nèi)核的release目錄下,然后點(diǎn)擊【Build OS】【Make Run-Time Image】;</p>
104、<p> 將開發(fā)板上的ip設(shè)置成與PC機(jī)同網(wǎng)段;</p><p> 連接好網(wǎng)線并打開開發(fā)板電源;</p><p> 在運(yùn)行自己的程序時(shí)先安裝FW.cab。</p><p><b> ?。盒牡门c未來(lái)展望</b></p><p><b> 6.1心得</b></p>&
105、lt;p> 這次課程設(shè)計(jì)是我迄今為止接觸嵌入式所做過(guò)的最大的一個(gè)項(xiàng)目,充分鍛煉了各項(xiàng)能力。首先,它鞏固了我們學(xué)過(guò)的C#語(yǔ)言知識(shí),鍛煉了我們解決實(shí)際問(wèn)題的能力;其次,它提高了我們的團(tuán)隊(duì)合作精神,小組兩個(gè)人都各司其職,分別完成項(xiàng)目的一部分,同時(shí),在項(xiàng)目進(jìn)程中,遇到了很多各種各樣的問(wèn)題,但是兩人緊密合作,共同攻關(guān),終于克服了一個(gè)又一個(gè)困難,在最緊張的時(shí)候,主動(dòng)放棄休息時(shí)間,加班加點(diǎn),使其能按期完成,這種團(tuán)隊(duì)合作精神對(duì)于我們以后的學(xué)習(xí)和
106、工作是大有裨益的;最后,它使我們體會(huì)到了學(xué)以致用的快感,提高了我們解決實(shí)際問(wèn)題的信心和能力,并使我們對(duì)運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題產(chǎn)生的濃厚的興趣,并深刻認(rèn)識(shí)到知識(shí)的重要性。誠(chéng)然,由于我們自身的知識(shí)能力水平和項(xiàng)目時(shí)間有限,做出的項(xiàng)目有這樣那樣的缺點(diǎn)和不足,但對(duì)于我們來(lái)說(shuō),已經(jīng)很滿足了,因?yàn)檫@畢竟是我們的第一個(gè)合作勞動(dòng)成果。我相信,隨著我們自身知識(shí)能力水平提高,我們以后的項(xiàng)目會(huì)做的越來(lái)越好!</p><p> 我覺(jué)得
107、這次課程設(shè)計(jì)很好地考察了每個(gè)學(xué)生的知識(shí)水平,每個(gè)人都發(fā)揮了個(gè)人最佳的狀態(tài)??梢哉f(shuō)是實(shí)踐素質(zhì)教育的一種代表,是現(xiàn)代教育最能啟發(fā)學(xué)生創(chuàng)造性的一種模式。雖然這種形式比普通的卷面考試要難,但是卻能夠充分調(diào)動(dòng)每個(gè)人的積極性去學(xué)習(xí)自己尚未接觸的知識(shí)和運(yùn)用自己已經(jīng)學(xué)過(guò)的知識(shí)。</p><p> 總的說(shuō)來(lái),我們這次做的大作業(yè)是比較成功的,值得我引以為豪!</p><p><b> 6.2未來(lái)
108、展望</b></p><p><b> 可以實(shí)現(xiàn)網(wǎng)絡(luò)對(duì)弈;</b></p><p><b> 可以悔棋;</b></p><p> 提示音功能,下錯(cuò)、下對(duì)有不同的提示音;</p><p> 玩家遇到疑問(wèn),需要幫助時(shí),給予一定的幫助;</p><p> 界
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑白棋游戲課程設(shè)計(jì)
- vb黑白棋游戲課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--黑白棋
- c語(yǔ)言課程設(shè)計(jì)---黑白棋游戲
- c語(yǔ)言課程設(shè)計(jì)--黑白棋游戲
- 黑白棋游戲數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)(論文)-黑白棋
- 黑白棋畢業(yè)論文---黑白棋游戲設(shè)計(jì)與開發(fā)(含外文翻譯)
- 黑白棋游戲畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)技術(shù)基礎(chǔ)課程設(shè)計(jì)---黑白棋
- 基于qt的黑白棋游戲
- 黑白棋游戲畢業(yè)論文
- 黑白棋游戲設(shè)計(jì)與開發(fā)畢業(yè)論文
- 嵌入式課程設(shè)計(jì)報(bào)告2
- 嵌入式課程設(shè)計(jì)報(bào)告---嵌入式文件鎖應(yīng)用
- 嵌入式課程設(shè)計(jì)報(bào)告 (2)
- 嵌入式課程設(shè)計(jì)報(bào)告91452
- 基于qt的黑白棋游戲開發(fā)(論文)
- 《嵌入式系統(tǒng)設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- 嵌入式課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論