版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p> 一、課程設(shè)計(jì)的目的與要求2</p><p><b> 二、題目說明2</b></p><p> 2.1程序開發(fā)背景2</p><p> 2.2發(fā)工具介紹3</p><p><b> 三
2、、總體設(shè)計(jì)3</b></p><p><b> 四、詳細(xì)說明6</b></p><p> 4.1 系統(tǒng)實(shí)施6</p><p> 五、遇到的問題和解決方法12</p><p><b> 七、參考文獻(xiàn)13</b></p><p> 一、課程設(shè)計(jì)的目
3、的與要求</p><p> 我們?cè)趯W(xué)習(xí)面向過程的編程基礎(chǔ)上學(xué)習(xí)面向?qū)ο缶幊?,也是為了能更好的去理解面向?qū)ο蟮暮x以及與面向過程的區(qū)別.學(xué)習(xí)這門可視化編程語言,使我們?cè)谶\(yùn)用語言編寫程序的過程中,能更直觀的編寫出我們理想中的程序,而且也使我們的編譯工作變單易行.C#的出現(xiàn)彌補(bǔ)了C語言家族的不足,它具有更強(qiáng)大的功能、具有VB開發(fā)的高效性和方便性.</p><p> 我們學(xué)習(xí)這門語言的目的,不
4、是僅僅的理論研究,作為語言,它只是一種工具,因此學(xué)習(xí)它更重要的是運(yùn)用它來做有用的程序,這也就是說學(xué)習(xí)它重在應(yīng)用.在實(shí)踐的基礎(chǔ)上對(duì)它能更好的掌握,而進(jìn)行簡(jiǎn)單的設(shè)計(jì)就是一種很有效的學(xué)習(xí)實(shí)踐方式,這也就是我們學(xué)習(xí)的主要目的:旨在培養(yǎng)學(xué)生的上機(jī)動(dòng)手能力和在本課程內(nèi)初步掌握解決實(shí)際應(yīng)用問題時(shí)所應(yīng)具備的查閱資料、綜合運(yùn)用所學(xué)知識(shí)的能力,為畢業(yè)設(shè)計(jì)急今后從事專業(yè)工作打下堅(jiān)實(shí)的基礎(chǔ).</p><p> 要求:1. 熟悉.NET
5、開發(fā)環(huán)境,能夠使用C#語言在.NET平臺(tái)上獨(dú)立設(shè)計(jì)、開發(fā)WINDOWS。</p><p> 2.掌握C#語言的異常處理技術(shù),能夠使用.NET各種調(diào)試方法調(diào)試代碼,掌握幫助的使用方法。</p><p> 3. 掌握常用控件以及控件的常用屬性的使用方法。</p><p> 4. 程序中應(yīng)有不少于100~300行的自行編寫的代碼,代碼需書寫詳細(xì)注釋。</p&g
6、t;<p> 5. 軟件界面美觀大方,操作簡(jiǎn)潔易用,功能完備可靠。</p><p><b> 二、題目說明</b></p><p> 貪吃蛇是一款經(jīng)典游戲,游戲通過adws方向鍵控制貪吃蛇移動(dòng)并吃掉屏幕上出現(xiàn)的實(shí)物,不能碰到墻壁和自己的身體。游戲開始可以選擇貪吃蛇移動(dòng)的速度,速度越快遲到果實(shí)的得分也就越高。</p><p>
7、<b> 2.1程序開發(fā)背景</b></p><p> Microsoft Visual C# 2005是一款入門級(jí)程序,visual basic繼承了basic語言易學(xué)易用的特點(diǎn),特別適合于初學(xué)者學(xué)習(xí)windows系統(tǒng)編程。</p><p> 貪吃蛇游戲非常普遍,幾乎所有手機(jī)上都有這種游戲,它可以在上班、學(xué)習(xí)比較累的時(shí)侯?yuàn)蕵芬幌隆_@款游戲操作簡(jiǎn)單,界面整潔,是
8、非常好的游戲。</p><p><b> 2.2發(fā)工具介紹</b></p><p> 此程序使用Microsoft Visual C# 2005Express Edition工具開發(fā)的,雖然Visual C# 2005 Express Edition是一款入門級(jí)的集成開發(fā)環(huán)境,但是它同樣具有強(qiáng)大的功能,完全可以滿足學(xué)生和新手的需要,主要功能如下:與ANSI兼容的C
9、#2.0編譯器、功能齊全的集成調(diào)試器、高級(jí)IntelliSense功能、針對(duì)Windows窗體開發(fā)的設(shè)計(jì)時(shí)支持、支持本地?cái)?shù)據(jù)庫訪問和輕松訪問XML Web服務(wù)等</p><p> Visual Studio 是一套完整的開發(fā)工具集,用于生成 ASP.NET Web 應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序</p><p><b> 三、總體設(shè)計(jì)&
10、lt;/b></p><p> 貪吃蛇游戲是一個(gè)深受人們喜愛的游戲,一條蛇在密閉的圍墻內(nèi),在圍墻內(nèi)隨機(jī)出現(xiàn)一個(gè)食物,通過按鍵盤上的四個(gè)光標(biāo)鍵控制蛇向上下左右四個(gè)方向移動(dòng),蛇頭撞到食物,則表示食物被蛇吃掉,這時(shí)蛇的身體長一節(jié),同時(shí)計(jì)10分,接著又出現(xiàn)食物,等待被蛇吃掉,如果蛇在移動(dòng)過程中,撞到墻壁或身體交叉蛇頭撞到自己的身體游戲結(jié)束。作為一個(gè)完整的程序,尤其是一個(gè)完整的游戲,必須考慮人機(jī)交流與用戶體驗(yàn)。&l
11、t;/p><p> 實(shí)現(xiàn)思路及具體代碼:</p><p> 1.初始化:public mainForm()</p><p><b> {</b></p><p><b> //</b></p><p> // Windows 窗體設(shè)計(jì)器支持所必需的</p>
12、<p><b> //</b></p><p> InitializeComponent(); </p><p><b> //</b></p><p> // TODO: 在InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼</p><p><b>
13、 //</b></p><p><b> }</b></p><p> 2.游戲設(shè)置:this.menuItem1.Text = "游戲設(shè)置";</p><p><b> // </b></p><p> // menuItem2</p>&
14、lt;p><b> // </b></p><p> this.menuItem2.Index = 0;</p><p> this.menuItem2.Text = "蛇體顏色設(shè)置";</p><p> this.menuItem2.Click += new System.EventHandler(this.
15、menuItem2_Click);</p><p><b> // </b></p><p> // menuItem3</p><p><b> // </b></p><p> this.menuItem3.Index = 1;</p><p> this.me
16、nuItem3.Text = "食物顏色設(shè)置";</p><p> this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);</p><p><b> // </b></p><p> // menuItem4</p>&
17、lt;p><b> // </b></p><p> this.menuItem4.Index = 2;</p><p> this.menuItem4.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {</p><p> this.menuItem8,</p&g
18、t;<p> this.menuItem9,</p><p> this.menuItem10,</p><p> this.menuItem11});</p><p> this.menuItem4.Text = "游戲難度設(shè)置";</p><p><b> // </b>&
19、lt;/p><p> // menuItem8</p><p><b> // </b></p><p> this.menuItem8.Checked = true;</p><p> this.menuItem8.Index = 0;</p><p> this.menuItem8.Te
20、xt = "菜鳥";</p><p> this.menuItem8.Click += new System.EventHandler(this.menuItem8_Click);</p><p><b> // </b></p><p> // menuItem9</p><p><b&
21、gt; // </b></p><p> this.menuItem9.Index = 1;</p><p> this.menuItem9.Text = "大鳥";</p><p> this.menuItem9.Click += new System.EventHandler(this.menuItem9_Click);&
22、lt;/p><p><b> // </b></p><p> // menuItem10</p><p><b> // </b></p><p> this.menuItem10.Index = 2;</p><p> this.menuItem10.Text =
23、"老鳥";</p><p> this.menuItem10.Click += new System.EventHandler(this.menuItem10_Click);</p><p><b> // </b></p><p> // menuItem11</p><p><b>
24、; // </b></p><p> this.menuItem11.Index = 3;</p><p> this.menuItem11.Text = "自虐";</p><p> this.menuItem11.Click += new System.EventHandler(this.menuItem11_Click)
25、;</p><p><b> // </b></p><p> // menuExit</p><p><b> // </b></p><p> this.menuExit.Index = 3;</p><p> this.menuExit.Text = &quo
26、t;退出";</p><p> 3.積分:if(this.snake.Eat(this.foodPoint))</p><p><b> { </b></p><p><b> //改變積分</b></p><p> this.textBox1.Text =System.Conve
27、rt.ToString(++this.foodCount*10);</p><p> 4.是否結(jié)束游戲://開始游戲</p><p> private void StartGame()</p><p><b> {</b></p><p> drawDelegate = new DrawDele(PutFood)
28、;</p><p> this.Invoke(drawDelegate,null); </p><p> while(true)</p><p><b> {</b></p><p> Thread.Sleep(speed);</p><p> if(this.IsGameOver())
29、</p><p><b> {</b></p><p> MessageBox.Show("GAME OVER");</p><p><b> try</b></p><p><b> {</b></p><p> this
30、.game.Abort();</p><p><b> }</b></p><p><b> catch</b></p><p><b> {</b></p><p><b> }</b></p><p><b>
31、 }</b></p><p><b> 四、詳細(xì)說明</b></p><p><b> 4.1 系統(tǒng)實(shí)施</b></p><p><b> 游戲界面</b></p><p><b> 圖1開始界面</b></p><
32、;p> 2.開始前的游戲設(shè)置</p><p><b> 圖2游戲設(shè)置</b></p><p> 介紹:該操作可以設(shè)置蛇的顏色、食物的顏色,以及游戲的難度。</p><p> 具體代碼:this.menuItem1.Text = "游戲設(shè)置";</p><p><b> //
33、 </b></p><p> // menuItem2</p><p><b> // </b></p><p> this.menuItem2.Index = 0;</p><p> this.menuItem2.Text = "蛇體顏色設(shè)置";</p><p
34、> this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);</p><p><b> // </b></p><p> // menuItem3</p><p><b> // </b></p><p&g
35、t; this.menuItem3.Index = 1;</p><p> this.menuItem3.Text = "食物顏色設(shè)置";</p><p> this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);</p><p><b> //
36、 </b></p><p> // menuItem4</p><p><b> // </b></p><p> this.menuItem4.Index = 2;</p><p> this.menuItem4.MenuItems.AddRange(new System.Windows.Forms
37、.MenuItem[] {</p><p> this.menuItem8,</p><p> this.menuItem9,</p><p> this.menuItem10,</p><p> this.menuItem11});</p><p> this.menuItem4.Text = "
38、游戲難度設(shè)置";</p><p><b> // </b></p><p> // menuItem8</p><p><b> // </b></p><p> this.menuItem8.Checked = true;</p><p> this.m
39、enuItem8.Index = 0;</p><p> this.menuItem8.Text = "菜鳥";</p><p> this.menuItem8.Click += new System.EventHandler(this.menuItem8_Click);</p><p><b> // </b><
40、;/p><p> // menuItem9</p><p><b> // </b></p><p> this.menuItem9.Index = 1;</p><p> this.menuItem9.Text = "大鳥";</p><p> this.menuIte
41、m9.Click += new System.EventHandler(this.menuItem9_Click);</p><p><b> // </b></p><p> // menuItem10</p><p><b> // </b></p><p> this.menuItem
42、10.Index = 2;</p><p> this.menuItem10.Text = "老鳥";</p><p> this.menuItem10.Click += new System.EventHandler(this.menuItem10_Click);</p><p><b> // </b></p
43、><p> // menuItem11</p><p><b> // </b></p><p> this.menuItem11.Index = 3;</p><p> this.menuItem11.Text = "自虐";</p><p> this.menuIte
44、m11.Click += new System.EventHandler(this.menuItem11_Click);</p><p><b> // </b></p><p> // menuExit</p><p><b> // </b></p><p> this.menuExit
45、.Index = 3;</p><p> this.menuExit.Text = "退出";</p><p> 3.當(dāng)程序運(yùn)行,點(diǎn)擊開始按鈕后的界面</p><p><b> 圖3開始界面</b></p><p> 控制鍵的具體代碼://接受鍵盤事件處理</p><p&
46、gt; private void mainForm_KeyPress(object sender, KeyPressEventArgs e)</p><p><b> {</b></p><p> if(e.KeyChar == 'a')</p><p> this.snake.SnakeWay=(this.snake.
47、SnakeWay ==Way.EAST)? Way.EAST:Way.WEST;</p><p> else if(e.KeyChar == 'd')</p><p> this.snake.SnakeWay=(this.snake.SnakeWay ==Way.WEST)? Way.WEST:Way.EAST;</p><p> else i
48、f(e.KeyChar == 'w')</p><p> this.snake.SnakeWay =(this.snake.SnakeWay==Way.SOUTH)?Way.SOUTH:Way.NORTH;</p><p> else if(e.KeyChar == 's')</p><p> this.snake.SnakeW
49、ay=(this.snake.SnakeWay==Way.NORTH)?Way.SOUTH:Way.SOUTH;</p><p> else if(e.KeyChar==32)</p><p><b> {</b></p><p> 4.當(dāng)程序運(yùn)行,蛇每吃到一個(gè)食物,積分就增加10分</p><p><b&g
50、t; 圖4游戲積分</b></p><p> 游戲積分的代碼:if(this.snake.Eat(this.foodPoint))</p><p><b> { </b></p><p><b> //改變積分</b></p><p> this.textBox1.Text =
51、System.Convert.ToString(++this.foodCount*10);</p><p> 5.當(dāng)蛇死亡后游戲結(jié)束的圖</p><p><b> 圖5蛇死亡</b></p><p> 游戲結(jié)束的代碼:if(this.IsGameOver())</p><p><b> {</b&
52、gt;</p><p> MessageBox.Show("GAME OVER");</p><p><b> try</b></p><p><b> {</b></p><p> this.game.Abort();</p><p><b
53、> }</b></p><p><b> catch</b></p><p><b> {</b></p><p><b> }</b></p><p><b> }</b></p><p> 五、遇到
54、的問題和解決方法</p><p> 問題:代碼經(jīng)常出錯(cuò),不會(huì)改。</p><p> 解決方法:通過c#相關(guān)書籍,和網(wǎng)上搜查,以及請(qǐng)教老師、同學(xué)。</p><p> 問題:程序代碼經(jīng)常出現(xiàn)“上下文無該文件名”的問題,以至于程序不能運(yùn)行。</p><p> 解決方法:檢查代碼,實(shí)在找不出,請(qǐng)教同學(xué)和老師,在代碼中將錯(cuò)誤該正過來。六、課程設(shè)
55、計(jì)總結(jié)</p><p> 這兩周的課程設(shè)計(jì)開始蠻難過的,游戲的界面很容易就可以做好,但是代碼就很麻煩了,所以只好找書,在網(wǎng)上搜代碼,經(jīng)過努力還是做好了。但是在這過程中出現(xiàn)了不少問題,通過老師同學(xué)的幫忙最終還是弄好了,這個(gè)還是蠻欣慰的。雖然我的代碼不是自己寫的,但是通過這次的課程設(shè)計(jì),我還是學(xué)會(huì)了很多東西,慢慢能弄懂代碼,知道它的功能,收獲蠻大的。</p><p> C#因其設(shè)計(jì)的合理性
56、與簡(jiǎn)潔化使其成為了一門很容易入門的編程語言,但要真正學(xué)好還是需要努力學(xué)習(xí)的。通過一個(gè)學(xué)期的學(xué)習(xí)我們也算入門了,而以后編程的道路還很漫長。更多的練習(xí),更多的源代碼閱讀將是我們能力提高的必經(jīng)之路。相信經(jīng)過努力,我們終會(huì)熟練地掌握這門語言。</p><p><b> 七、參考文獻(xiàn)</b></p><p> [1] 段德亮,余健,張仁才.C#課程設(shè)計(jì)案例精編,2008,6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++貪吃蛇課程設(shè)計(jì)
- c++課程設(shè)計(jì)貪吃蛇11
- 貪吃蛇課程設(shè)計(jì)
- c語言貪吃蛇游戲課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--貪吃蛇游戲
- 貪吃蛇課程設(shè)計(jì)
- 貪吃蛇課程設(shè)計(jì)
- 貪吃蛇java課程設(shè)計(jì)--貪吃蛇程序設(shè)計(jì)
- 貪吃蛇課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)貪吃蛇
- java課程設(shè)計(jì)--貪吃蛇
- 貪吃蛇課程設(shè)計(jì)報(bào)告
- 貪吃蛇課程設(shè)計(jì)報(bào)告
- 貪吃蛇vc課程設(shè)計(jì)
- 貪吃蛇課程設(shè)計(jì)報(bào)告
- android貪吃蛇課程設(shè)計(jì)報(bào)告
- java貪吃蛇游戲 課程設(shè)計(jì)
- java貪吃蛇課程設(shè)計(jì)報(bào)告
- java-課程設(shè)計(jì)--貪吃蛇
- c語言課程設(shè)計(jì)報(bào)告--貪吃蛇游戲系統(tǒng)
評(píng)論
0/150
提交評(píng)論