版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 名稱(chēng) 計(jì)算機(jī)語(yǔ)言C#課程設(shè)計(jì) </p><p> 2011年 6月 20 日 至 2011 年 6 月 24 日 共 1 周</p><p><b> 目 錄</b></p><p>
2、;<b> 目 錄I</b></p><p> 一、課程設(shè)計(jì)的目的與要求2</p><p><b> 1.1目的:2</b></p><p><b> 1.2要求:2</b></p><p><b> 二、題目說(shuō)明3</b>&l
3、t;/p><p> 2.1程序開(kāi)發(fā)背景3</p><p> 2.2開(kāi)發(fā)工具介紹3</p><p><b> 三、總體設(shè)計(jì)4</b></p><p><b> 四、詳細(xì)說(shuō)明5</b></p><p> 4.1、窗體設(shè)計(jì)。5</p><p>
4、; 4.2、用timer控件控制小球移動(dòng)方向。6</p><p> 4.3、使用鍵盤(pán)控制擋板左右移動(dòng)。8</p><p> 4.3、判斷游戲難易程度。8</p><p> 五、遇到的問(wèn)題和解決方法10</p><p> 六、課程設(shè)計(jì)總結(jié)10</p><p><b> 七、參考文獻(xiàn)11&
5、lt;/b></p><p> 附錄(源程序代碼)11</p><p> 課程設(shè)計(jì)的目的與要求</p><p><b> 1.1目的:</b></p><p> 1、熟悉.NET開(kāi)發(fā)環(huán)境,能夠使用C#語(yǔ)言在.NET平臺(tái)上獨(dú)立設(shè)計(jì)、開(kāi)發(fā)WINDOWS應(yīng)用程序。</p><p> 2
6、、掌握C#語(yǔ)言的異常處理技術(shù),能夠使用.NET各種調(diào)試方法調(diào)試代碼,掌握幫助的使用方法。</p><p> 3、掌握常用控件以及控件的常用屬性的使用方法。</p><p><b> 1.2要求:</b></p><p> 1、設(shè)計(jì)選題:學(xué)生可以在“《Windows應(yīng)用程序設(shè)計(jì)》課程設(shè)計(jì)選題”指定的題目中選取課程設(shè)計(jì)題目,具體題目以此文件為
7、準(zhǔn)。也可以自選,但自選的題目必須在課程設(shè)計(jì)開(kāi)始前得到指導(dǎo)教師的認(rèn)可。</p><p> 2、軟件界面美觀大方,操作簡(jiǎn)潔易用,功能完備可靠。</p><p><b> 二、題目說(shuō)明</b></p><p> 設(shè)計(jì)一個(gè)簡(jiǎn)單的彈珠游戲程序,游戲者可以用左右鍵移動(dòng)游戲界面底部的擋板來(lái)?yè)趸叵侣涞男∏颉?lt;/p><p><
8、;b> 2.1程序開(kāi)發(fā)背景</b></p><p> 彈球游戲是基于一些人長(zhǎng)時(shí)間在電腦前工作感到疲勞而開(kāi)發(fā)。彈球游戲是一個(gè)簡(jiǎn)單的娛樂(lè)小游戲,電腦使用者在疲勞時(shí)可以通過(guò)玩彈球游戲來(lái)放松心情、解除身體疲勞從而提高工作效率。同時(shí)彈球游戲也適于兒童,兒童可以通過(guò)該游戲開(kāi)發(fā)智力、增強(qiáng)兒童的動(dòng)手能力。</p><p><b> 2.2開(kāi)發(fā)工具介紹</b>&
9、lt;/p><p> 該程序是通過(guò)C#開(kāi)發(fā)的,C#是一種安全的、穩(wěn)定的、簡(jiǎn)單的、優(yōu)雅的,由C和C++衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。它在繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒(méi)有宏和模版,不允許多重繼承)。</p><p> C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性和便捷的面向組件編程的支持成為.NET開(kāi)發(fā)的首
10、選語(yǔ)言。</p><p> 微軟C#語(yǔ)言定義主要是從C和C++繼承而來(lái)的,而且語(yǔ)言中的許多元素也反映了這一點(diǎn).C#在設(shè)計(jì)者從C++繼承的可選選項(xiàng)方面比Java要廣泛一些(比如說(shuō)struts),它還增加了自己新的特點(diǎn)(比方說(shuō)源代碼版本定義),但它還不太成熟,不可能擠垮Java。 C#還需要進(jìn)化成一種開(kāi)發(fā)者能夠接受和采用的語(yǔ)言.而微軟當(dāng)前為它的這種新語(yǔ)言大造聲勢(shì)也是值得注意的.目前大家的反應(yīng)是:“這是對(duì)Java的反
11、擊?!?</p><p> 2005年4月,微軟發(fā)布了Visual Studio 2005 Beta2,這已經(jīng)是具備了幾乎全部功能的Visual Studio,包括的產(chǎn)品有SQL Server2005、Team Foundation Server和Team Suite。這時(shí)的C#編譯器已經(jīng)能夠處理C# 2.0中所有的新特性。</p><p> 該程序就是通過(guò) Visual Studi
12、o 2005進(jìn)行開(kāi)發(fā)制作的。</p><p><b> 三、總體設(shè)計(jì)</b></p><p> 1、彈球游戲的功能就是游戲者可以用左右鍵移動(dòng)游戲界面底部的擋板來(lái)?yè)趸叵侣涞男∏颉P∏蛞匆欢ǖ姆较蛞苿?dòng),按游戲難易程度來(lái)控制小球的移動(dòng)速度。小球有四個(gè)移動(dòng)方向:左下、右下、右上和左上,每個(gè)移動(dòng)的方向分別用一個(gè)timer控件來(lái)控制。小球向左下方向移動(dòng)時(shí)timer1打開(kāi),如
13、果小球碰到左邊界時(shí),小球反彈向右下方向移動(dòng)。此時(shí)timer1關(guān)閉而控制小球向右下方向移動(dòng)的timer2控件打開(kāi)。而如果小球碰到擋板時(shí)小球反彈向左上方向移動(dòng),此時(shí)timer1關(guān)閉而控制小球向左上方向移動(dòng)的timer4控件打開(kāi)。但是如果擋板沒(méi)有擋到小球而到達(dá)下邊界則游戲結(jié)束,同時(shí)四個(gè)timer控件全部關(guān)閉、窗體上顯示“Game Over”字樣。同理其他情況也一樣。</p><p> 2、在窗體設(shè)計(jì)方面,在窗體上方加
14、一個(gè)menuStrip控件用于控制游戲的開(kāi)始與結(jié)束以及查詢(xún)游戲的相關(guān)信息如:開(kāi)發(fā)背景、功能等。同時(shí)窗體的背景可以添加一個(gè)背景圖片以美化窗體。</p><p> 3、可以使用方向鍵控制擋板左右的移動(dòng)的方向。由于KeyDown事件可以捕獲鍵盤(pán)上大部分的鍵(功能鍵等),但是不捕獲方向鍵 ,所以需要在窗體代碼中重寫(xiě)一個(gè)ProgressDialogKey的方法才能夠?qū)崿F(xiàn)。</p><p><
15、b> 四、詳細(xì)說(shuō)明</b></p><p><b> 4.1、窗體設(shè)計(jì)。</b></p><p> 在窗體設(shè)計(jì)方面,在窗體上方加一個(gè)menuStrip控件用于控制游戲的開(kāi)始與結(jié)束以及查詢(xún)游戲的相關(guān)信息如:開(kāi)發(fā)背景、功能等。同時(shí)窗體的背景可以添加一個(gè)背景圖片以美化窗體。</p><p> 圖4-1整個(gè)窗體界面</p
16、><p> 在點(diǎn)擊游戲下的背景項(xiàng)時(shí)會(huì)出現(xiàn)此游戲開(kāi)發(fā)背景的信息說(shuō)明,如圖4-2所示.同時(shí)點(diǎn)擊幫助下的功能項(xiàng)時(shí)會(huì)出現(xiàn)此游戲功能信息說(shuō)明,如圖4-3所示。
17、 </p><p> 圖4-2 開(kāi)發(fā)背景說(shuō)明</p><p> 圖4-3 游戲功能說(shuō)明</p><p> 4.2、用timer控件控制小球移動(dòng)方向。 </p><p> 由于小球移動(dòng)時(shí)碰到邊界和擋板時(shí)就會(huì)改變移動(dòng)方向,所以需要通過(guò)timer控件來(lái)控制。小球有四個(gè)移動(dòng)方向:左下、右下、右上和左上,
18、每個(gè)移動(dòng)的方向分別用一個(gè)timer控件來(lái)控制。所以分四種情況。具體如下:</p><p> ?。?)、用timer1控制小球向左下移動(dòng)。如果小球碰到左邊界時(shí),小球反彈向右下方向移動(dòng)。此時(shí)timer1關(guān)閉而控制小球向右下方向移動(dòng)的timer2控件打開(kāi)。而如果小球碰到擋板時(shí)小球反彈向左上方向移動(dòng),此時(shí)timer1關(guān)閉而控制小球向左上方向移動(dòng)的timer4控件打開(kāi)。但是如果擋板沒(méi)有擋到小球而到達(dá)下邊界則游戲結(jié)束,同時(shí)四
19、個(gè)timer控件全部關(guān)閉、窗體上顯示“Game Over”字樣。代碼如下:</p><p> this.buttonBall.Top = this.buttonBall.Top + a;/* 通過(guò)改變小球距上邊界*/</p><p> this.buttonBall.Left = this.buttonBall.Left - a;/*左邊界的距離使小球移動(dòng)*/</p>&
20、lt;p> /*通過(guò)改變a的值來(lái)改變小球移動(dòng)速度*/</p><p> if (this.buttonBall.Left < 0)</p><p><b> {</b></p><p> timer1.Enabled = false;</p><p> timer2.Enabled = true;&
21、lt;/p><p><b> }</b></p><p> if (buttonBall.Top + buttonBall.Size.Height == button1.Top && buttonBall.Left > button1.Left && buttonBall.Left < (button1.Left + but
22、ton1.Size.Width))</p><p> timer1.Enabled = false;/*通過(guò)判斷小球與擋板位置來(lái)決定小球是否彈起*/</p><p> timer4.Enabled = true;</p><p> if (buttonBall.Top > panel2.Size.Height)/*擋板沒(méi)有擋到小球而到達(dá)下邊界則游戲結(jié)束,
23、*/</p><p> { /* 窗體上顯示“Game Over”字樣*/</p><p> label1.Text = "Game over";</p><p> timer1.Enabled = false;</p><p> timer2.
24、Enabled = false; </p><p><b> } </b></p><p> ?。?)、用timer2控制小球向右下移動(dòng)。如果小球碰到右邊界時(shí),小球反彈向左下方向移動(dòng)。此時(shí)timer2關(guān)閉而控制小球向左下方向移動(dòng)的timer1控件打開(kāi)。而如果小球碰到擋板時(shí)小球反彈向右上方向移動(dòng),此時(shí)timer2關(guān)閉而控制小球向左上方向移動(dòng)的timer3控件打開(kāi)。
25、但是如果擋板沒(méi)有擋到小球而到達(dá)下邊界則游戲結(jié)束,同時(shí)四個(gè)timer控件全部關(guān)閉、窗體上顯示“Game Over”字樣。代碼如下:</p><p> this.buttonBall.Top = this.buttonBall.Top + a;</p><p> this.buttonBall.Left = this.buttonBall.Left + a;</p><
26、p> if (this.buttonBall.Left +buttonBall.Size.Width> panel2.Size.Width)</p><p> { /*判斷小球是否到達(dá)右邊界而彈起*/</p><p> timer2.Enabled = false;</p><p> ti
27、mer1.Enabled = true;</p><p><b> }</b></p><p> if ((buttonBall.Top + buttonBall.Size.Height) == button1.Top && buttonBall.Left > button1.Left && buttonBall.Left &
28、lt; (button1.Left + button1.Size.Width))</p><p> { /*通過(guò)判斷小球與擋板位置來(lái)決定小球是否彈起*/</p><p> timer2.Enabled = false;</p><p> timer3.Enabled = true;</p>
29、<p><b> } </b></p><p> if (buttonBall.Top > panel2.Size.Height)</p><p> { /*擋板沒(méi)有擋到小球而到達(dá)下邊界則游戲結(jié)束,*/</p><p> label1.Text = "Game o
30、ver"; /* 窗體上顯示“Game Over”字樣*/</p><p> timer2.Enabled = false;</p><p> timer3.Enabled = false;</p><p><b> } </b></p><p> (3)、用timer3控制小球向右上移動(dòng)。如果小球
31、碰到右邊界時(shí),小球反彈向左上方向移動(dòng)。此時(shí)timer3關(guān)閉而控制小球向左上方移動(dòng)的timer4控件打開(kāi)。而如果小球碰到上邊界時(shí)小球反彈向右下方向移動(dòng),此時(shí)timer2關(guān)閉而控制小球向右下方向移動(dòng)的timer2控件打開(kāi)。代碼如下:</p><p> this.buttonBall.Top = this.buttonBall.Top - a;</p><p> this.buttonBal
32、l.Left = this.buttonBall.Left + a;</p><p> if (this.buttonBall.Left + buttonBall.Size.Width > panel2.Size.Width)</p><p> { /*判斷小球是否到達(dá)右邊界而彈起*/</p><p
33、> timer3.Enabled = false;</p><p> timer4.Enabled = true;</p><p><b> }</b></p><p> if (buttonBall.Top < 0)</p><p> {
34、 /*判斷小球是否到達(dá)上邊界而彈起*/</p><p> timer3.Enabled = false;</p><p> timer2.Enabled = true;</p><p><b> }</b></p><p> ?。?)、用timer4控制小球向左上移動(dòng)。如果小球碰到左邊界時(shí),小球反彈向右上方向移
35、動(dòng)。此時(shí)timer4關(guān)閉而控制小球向右上方向移動(dòng)的timer3控件打開(kāi)。而如果小球碰到上邊界時(shí)小球反彈向左下方移動(dòng),此時(shí)timer4關(guān)閉而控制小球向右下方向移動(dòng)的timer1控件打開(kāi)。代碼如下:</p><p> this.buttonBall.Top = this.buttonBall.Top - a;</p><p> this.buttonBall.Left = this.but
36、tonBall.Left - a;</p><p> if (this.buttonBall.Left < 0)</p><p> { /*判斷小球是否到達(dá)左邊界而彈起*/</p><p> timer4.Enabled = false;</p><p> tim
37、er3.Enabled = true;</p><p><b> }</b></p><p> else if (buttonBall.Top < 0)</p><p> { /*判斷小球是否到達(dá)上邊界而彈起*/</p><p> timer4.Ena
38、bled = false;</p><p> timer1.Enabled = true;</p><p><b> }</b></p><p> 4.3、使用鍵盤(pán)控制擋板左右移動(dòng)。 </p><p> 可以使用方向鍵控制擋板左右的移動(dòng)的方向。由于KeyDown事件可以捕獲鍵盤(pán)上大部分的鍵(功能鍵等),但是不捕獲
39、方向鍵 ,所以需要在窗體代碼中重寫(xiě)一個(gè)ProgressDialogKey的方法才能夠?qū)崿F(xiàn)。代碼如下:</p><p> protected override bool ProcessDialogKey(Keys keyData)</p><p><b> {</b></p><p> switch (keyData)</p>
40、<p><b> {</b></p><p> case Keys.Left:</p><p> if(button1.Left>0)</p><p> this.button1.Left = this.button1.Left - 15;</p><p><b> break;&l
41、t;/b></p><p> case Keys.Right:</p><p> if(button1.Left+button1.Size.Width<panel2.Size.Width)</p><p> this.button1.Left = this.button1.Left + 15;</p><p><b&g
42、t; break;</b></p><p><b> }</b></p><p> return true;</p><p><b> }</b></p><p> 4.3、判斷游戲難易程度。 </p><p> 先聲名一個(gè)變量小球的移動(dòng)距離a,通過(guò)改
43、變a的值來(lái)控制小球的移動(dòng)速度。代碼如下:</p><p> private void 標(biāo)準(zhǔn)ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> a = 10;</b></p><p&g
44、t;<b> }</b></p><p> private void 困難ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> a = 15;</b></p><
45、;p><b> }</b></p><p> private void 極難ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> a = 20;</b></p>
46、<p><b> } </b></p><p> 五、遇到的問(wèn)題和解決方法</p><p> 1、在用鍵盤(pán)的方向鍵控制擋板左右移動(dòng)時(shí),使用以前的代碼時(shí)擋板不能移動(dòng)。多次修改后還是無(wú)法移動(dòng)。詢(xún)問(wèn)老師之后,代碼沒(méi)有錯(cuò)誤就是無(wú)法執(zhí)行。最后到網(wǎng)上查詢(xún)了相關(guān)信息,找到了另一個(gè)相關(guān)代碼protected override bool ProcessDialogKe
47、y(Keys keyData)并同過(guò)switch條件判斷。</p><p> 2.運(yùn)行時(shí)當(dāng)小球碰到擋板時(shí)不能反彈,然后對(duì)代碼進(jìn)行分析,認(rèn)真計(jì)算小球與擋板的位置、發(fā)現(xiàn)代碼有一些混亂。最后對(duì)題目重新梳理一下、對(duì)代碼也重新整理最終解決了問(wèn)題。 </p><p><b> 六、課程設(shè)計(jì)總結(jié)</b></p><p> 在做課程設(shè)計(jì)過(guò)程中遇到了很多問(wèn)
48、題,主要還是平時(shí)基礎(chǔ)知識(shí)沒(méi)學(xué)好,但在同學(xué)和老師的幫助下,以及通過(guò)查閱相關(guān)資料,問(wèn)題才解決了,最終完成課程設(shè)計(jì)。</p><p> 此次課程設(shè)計(jì)為我們提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉我們的分析解決實(shí)際問(wèn)題的能力,提高了我們適應(yīng)實(shí)際,實(shí)踐編程的能力。</p><p> 經(jīng)過(guò)這次課程設(shè)計(jì)有挺多的收獲。雖然程序最后是完成了,但是實(shí)現(xiàn)的過(guò)程中卻
49、遇到了很多問(wèn)題。平時(shí)感覺(jué)挺簡(jiǎn)單的那些枯燥單調(diào)的代碼,真正到了自己運(yùn)用的時(shí)候卻無(wú)從下手;好不容易寫(xiě)出來(lái)的一大段代碼,一經(jīng)調(diào)試卻跳出來(lái)一大堆的錯(cuò)誤;還有就是這最后的課程設(shè)計(jì)報(bào)告書(shū),平時(shí)都不怎么碰的word文檔,文檔處理、排版又成了令人頭疼的一大問(wèn)題。但是,解決問(wèn)題的過(guò)程恰是不斷學(xué)習(xí)的過(guò)程:平時(shí)所學(xué)的一小段一小段的代碼到現(xiàn)在必須把它們聯(lián)系起來(lái)使用,把平時(shí)學(xué)的知識(shí)運(yùn)用到實(shí)際,增強(qiáng)了我的實(shí)踐動(dòng)手能力;面對(duì)一大堆的錯(cuò)誤,只得一個(gè)個(gè)找出來(lái),一個(gè)個(gè)改掉
50、,一遍遍的調(diào)試,一行行代碼的運(yùn)行,不斷地重復(fù),最終將錯(cuò)誤改正,這番痛苦的過(guò)程讓我學(xué)會(huì)了如何調(diào)試運(yùn)行,如何逐行逐語(yǔ)句運(yùn)行,鍛煉了我調(diào)試、測(cè)試程序的能力;同時(shí),報(bào)告書(shū)的書(shū)寫(xiě),讓我學(xué)會(huì)了word文檔的排版以及文檔處理,學(xué)會(huì)如何做出美觀整齊的課程設(shè)計(jì)報(bào)告書(shū)。</p><p> 課程設(shè)計(jì)中遇到的問(wèn)題只憑自己苦思冥想是不能全部解決的,這是同學(xué)老師的建議和網(wǎng)絡(luò)給了我很大的幫助。遇到自己解決不了的問(wèn)題時(shí),多多向老師同學(xué)請(qǐng)教,或
51、許問(wèn)題就能迎刃而解。另外,生在這個(gè)信息化社會(huì),互聯(lián)網(wǎng)的作用不言而喻,許多問(wèn)題只要在網(wǎng)上搜索一下就能得到非常令人滿(mǎn)意的解答。此次課程設(shè)計(jì)鍛煉了我和老師同學(xué)交流的能力,以及網(wǎng)上搜索資源,篩選信息的能力。</p><p><b> 七、參考文獻(xiàn)</b></p><p> [1] C#范例完全自學(xué)手冊(cè) 王小科, 呂雙, 梁冰編著 人民郵電出版社 2009<
52、/p><p> [2] C#程序開(kāi)發(fā)范例寶典.第2版 梁冰, 呂雙, 王小科編著 人民郵電出版社 2009</p><p><b> 附錄(源程序代碼)</b></p><p> public partial class Form1 : Form</p><p><b> {</b>&
53、lt;/p><p> public int a = 5;</p><p> public Form1()</p><p><b> {</b></p><p> InitializeComponent();</p><p><b> }</b></p>&
54、lt;p> private void 新游戲ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> timer2.Enabled = true;</p><p> label1.Text = "";</
55、p><p><b> }</b></p><p> private void timer1_Tick(object sender, EventArgs e)</p><p><b> {</b></p><p> timer2.Enabled = false;</p><p&
56、gt; timer4.Enabled = false;</p><p> this.buttonBall.Top = this.buttonBall.Top + a;</p><p> this.buttonBall.Left = this.buttonBall.Left - a;</p><p> if (this.buttonBall.Left <
57、 0)</p><p><b> {</b></p><p> timer1.Enabled = false;</p><p> timer2.Enabled = true;</p><p><b> } </b></p><p> if (buttonBall.T
58、op + buttonBall.Size.Height == button1.Top && buttonBall.Left > button1.Left && buttonBall.Left < (button1.Left + button1.Size.Width))</p><p> timer1.Enabled = false;</p><p&
59、gt; timer4.Enabled = true;</p><p> if (buttonBall.Top > panel2.Size.Height)</p><p> { </p><p> label1.Text = "Game over";</p>
60、;<p> buttonBall.Dispose();</p><p> timer1.Enabled = false;</p><p> timer2.Enabled = false; </p><p><b> }</b></p><p><b> }</b><
61、/p><p> private void timer2_Tick(object sender, EventArgs e)</p><p><b> {</b></p><p> timer3.Enabled = false;</p><p> this.buttonBall.Top = this.buttonBall
62、.Top + a;</p><p> this.buttonBall.Left = this.buttonBall.Left + a;</p><p> if (this.buttonBall.Left +buttonBall.Size.Width> panel2.Size.Width)</p><p><b> {</b><
63、/p><p> timer2.Enabled = false;</p><p> timer1.Enabled = true;</p><p><b> }</b></p><p> if ((buttonBall.Top + buttonBall.Size.Height) == button1.Top &&
64、amp; buttonBall.Left > button1.Left && buttonBall.Left < (button1.Left + button1.Size.Width))</p><p> timer2.Enabled = false;</p><p> timer3.Enabled = true;</p><p>
65、 if (buttonBall.Top > panel2.Size.Height)</p><p><b> {</b></p><p> label1.Text = "Game over";</p><p> buttonBall.Dispose();</p><p> timer2.
66、Enabled = false;</p><p> timer3.Enabled = false;</p><p><b> }</b></p><p><b> }</b></p><p> private void timer3_Tick(object sender, EventArgs
67、 e)</p><p><b> {</b></p><p> timer2.Enabled = false;</p><p> this.buttonBall.Top = this.buttonBall.Top - a;</p><p> this.buttonBall.Left = this.buttonBa
68、ll.Left + a;</p><p> if (this.buttonBall.Left + buttonBall.Size.Width > panel2.Size.Width)</p><p><b> {</b></p><p> timer3.Enabled = false;</p><p> t
69、imer4.Enabled = true;</p><p><b> }</b></p><p> if (buttonBall.Top < 0)</p><p><b> {</b></p><p> timer3.Enabled = false;</p><p&
70、gt; timer2.Enabled = true;</p><p><b> }</b></p><p><b> }</b></p><p> private void timer4_Tick(object sender, EventArgs e)</p><p><b>
71、{</b></p><p> timer1.Enabled = false;</p><p> timer3.Enabled = false;</p><p> this.buttonBall.Top = this.buttonBall.Top - a;</p><p> this.buttonBall.Left = th
72、is.buttonBall.Left - a;</p><p> if (this.buttonBall.Left < 0)</p><p><b> {</b></p><p> timer4.Enabled = false;</p><p> timer3.Enabled = true;</p&g
73、t;<p><b> }</b></p><p> else if (buttonBall.Top < 0)</p><p><b> {</b></p><p> timer4.Enabled = false;</p><p> timer1.Enabled = tr
74、ue;</p><p><b> }</b></p><p><b> } </b></p><p> protected override bool ProcessDialogKey(Keys keyData)</p><p><b> {</b></p>
75、<p> switch (keyData)</p><p><b> {</b></p><p> case Keys.Left:</p><p> if(button1.Left>0)</p><p> this.button1.Left = this.button1.Left - 15;
76、</p><p><b> break;</b></p><p> case Keys.Right:</p><p> if(button1.Left+button1.Size.Width<panel2.Size.Width)</p><p> this.button1.Left = this.button
77、1.Left + 15;</p><p><b> break;</b></p><p><b> }</b></p><p> return true;</p><p><b> }</b></p><p> private void 標(biāo)準(zhǔn)T
78、oolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> a = 10;</b></p><p><b> }</b></p><p> private void
79、 困難ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> a = 15;</b></p><p><b> }</b></p><p> private
80、void 極難ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p><b> a = 20;</b></p><p><b> }</b></p><p> priv
81、ate void 背景ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> MessageBox.Show("2011年6月22日10軟件測(cè)試班級(jí)課程設(shè)計(jì)!");</p><p><b> }</b
82、></p><p> private void 功能ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> MessageBox.Show("彈球游戲是一個(gè)簡(jiǎn)單的娛樂(lè)小游戲,電腦使用者"+</p>
83、<p> "在疲勞時(shí)可以通過(guò)玩彈球游戲來(lái)放松心情、解除"+</p><p> "身體疲勞從而提高工作效率。同時(shí)彈球游戲也適"+</p><p> "于兒童,兒童可以通過(guò)該游戲開(kāi)發(fā)智力、增強(qiáng)兒"+</p><p> "童的動(dòng)手能力。");</p><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)---計(jì)算機(jī)語(yǔ)言c#課程設(shè)計(jì)
- 計(jì)算機(jī)技術(shù)基礎(chǔ)(c語(yǔ)言)課程設(shè)計(jì)---簡(jiǎn)單的彈球得分游戲
- 計(jì)算機(jī)技術(shù)基礎(chǔ)(c語(yǔ)言)課程設(shè)計(jì)--尋寶游戲
- 教師工資管理系統(tǒng)-計(jì)算機(jī)語(yǔ)言b課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)---計(jì)算機(jī)軟件
- 計(jì)算機(jī)c語(yǔ)言課程設(shè)計(jì)--鼠標(biāo)控制
- 計(jì)算機(jī)高級(jí)語(yǔ)言課程設(shè)計(jì)
- 拼數(shù)字游戲c#課程設(shè)計(jì)
- 計(jì)算機(jī)c#課程設(shè)計(jì)-diy活動(dòng)策劃系統(tǒng)畢業(yè)論文
- 計(jì)算機(jī)c#課程設(shè)計(jì)畢業(yè)論文-- diy活動(dòng)策劃系統(tǒng)
- 計(jì)算機(jī)技術(shù)基礎(chǔ)(c語(yǔ)言)課程設(shè)計(jì)--計(jì)算器
- 計(jì)算機(jī)高級(jí)語(yǔ)言課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)高級(jí)語(yǔ)言課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)語(yǔ)言的發(fā)展史-計(jì)算機(jī)導(dǎo)論論文
- 計(jì)算機(jī)外文翻譯--c#設(shè)計(jì)模式
- 計(jì)算機(jī)高級(jí)語(yǔ)言課程設(shè)計(jì)(c)學(xué)生成績(jī)管理系統(tǒng)
- 計(jì)算機(jī)技術(shù)基礎(chǔ)(c語(yǔ)言)課程設(shè)計(jì)--簡(jiǎn)單潛艇大戰(zhàn)
- 計(jì)算機(jī)技術(shù)基礎(chǔ)(c語(yǔ)言)課程設(shè)計(jì)--模擬銀行打印
- 計(jì)算機(jī)技術(shù)基礎(chǔ)(c語(yǔ)言)課程設(shè)計(jì)---用c語(yǔ)言描繪玫瑰花
- c語(yǔ)言自定義計(jì)算機(jī)語(yǔ)言編譯器最終版
評(píng)論
0/150
提交評(píng)論