下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、益智游戲(一) 1.實(shí)踐目標(biāo)(1)掌握數(shù)組的使用。(2)初步學(xué)會(huì)循環(huán)結(jié)構(gòu)的算法和程序設(shè)計(jì)。(3)熟練掌握VB程序的調(diào)試和運(yùn)行。 2.任務(wù)描述參考圖11-1,設(shè)計(jì)一個(gè)益智游戲程序。窗體中電燈從左到右依次編號(hào)分別為1,2,3,10,單擊某電燈下方的按鈕,則該電燈以及編號(hào)是當(dāng)前電燈整數(shù)倍的電燈都同時(shí)改變狀態(tài)(原來(lái)亮的變?yōu)闇纾瓉?lái)滅的變?yōu)榱粒?,同時(shí)狀態(tài)發(fā)生改變的電燈下方按鈕標(biāo)題也相應(yīng)改變。圖11-1所示為單擊了4號(hào)電燈下方開(kāi)關(guān)后的狀態(tài)。一個(gè)特殊的燈是1號(hào)燈,單擊1號(hào)燈下方開(kāi)關(guān),則只有1號(hào)燈自身會(huì)發(fā)生狀態(tài)改變。程序運(yùn)行時(shí),所有電燈都是滅的。游戲的目標(biāo)是用最少的開(kāi)關(guān)操作次數(shù)將所有電燈變亮。圖11-1 單擊
2、4號(hào)燈開(kāi)關(guān)后所有電燈的狀態(tài) 3.操作提示(1)分析問(wèn)題。為了提高程序自動(dòng)化處理的程度,采用控件數(shù)組來(lái)表示10盞燈的“滅”和“亮”的狀態(tài),同時(shí)用控件數(shù)組來(lái)表示10盞燈下方對(duì)應(yīng)的開(kāi)關(guān)(命令按鈕)。具體方法是用控件數(shù)組Image0(1)、Image0(2)、Image0(10)表示10盞滅掉的燈,用控件數(shù)組Image1(1)、Image1(2)、Image1(10)表示10盞點(diǎn)亮的燈,同時(shí)用控件數(shù)組Command1(1)、Command1(2)、Command1(10)依次表示1、2、10號(hào)燈下方的開(kāi)關(guān)(命令按鈕)。程序運(yùn)行時(shí)如果單擊了某電燈下方按鈕,則該電燈的編號(hào)就會(huì)通過(guò)變量Index(實(shí)際就是命
3、令按鈕的編號(hào))返回給程序。我們的程序只需讓編號(hào)為Index以及Index整數(shù)倍的電燈進(jìn)行狀態(tài)改變即可。如果用變量S保存總操作次數(shù),則需要該變量并在Form_Load( )事件驅(qū)動(dòng)程序中初始化為零。(2)設(shè)計(jì)界面。打開(kāi)實(shí)踐十“開(kāi)關(guān)燈程序“對(duì)應(yīng)的工程文件,利用界面中已有的控件Image0、Image1、Command1,通過(guò)復(fù)制和粘貼操作,分別產(chǎn)生前面問(wèn)題分析時(shí)所要求的三個(gè)控件數(shù)組,并將Image0()控件數(shù)組至于Image1()控件數(shù)組的后方。另外,向窗體中添加2個(gè)標(biāo)簽Label1和Label2,1個(gè)文本框Text1(用來(lái)顯示總操作次數(shù))。如圖11-2所示。Image0(1)Image1(1)C
4、ommand1(1)Image0(2)Image1(2)Label2Label1圖11-2 界面設(shè)計(jì)中的各控件數(shù)組布局 最后,需要將標(biāo)簽Label2的Caption屬性值設(shè)置為“祝賀你!開(kāi)啟了你的程序之燈!”,Visible屬性值設(shè)置為“False”(使得一開(kāi)始該對(duì)象的標(biāo)題不能顯示,當(dāng)所有燈變亮后才顯示)。(3)設(shè)計(jì)算法。單擊命令按鈕Command1(Index)后,程序進(jìn)行處理的總體算法如下:開(kāi)始Index<>1?對(duì)編號(hào)為Index整數(shù)倍的燈及開(kāi)關(guān)進(jìn)行相應(yīng)處理對(duì)1號(hào)燈及其開(kāi)關(guān)進(jìn)行相應(yīng)處理結(jié)束YN保存操作總次數(shù)的變量s值增加1在文本框Text1中顯示s的值逐個(gè)判斷10盞燈的當(dāng)前狀態(tài)
5、所有燈都變亮?YN使標(biāo)簽Label2可見(jiàn)上面“對(duì)編號(hào)為Index整數(shù)倍的燈及開(kāi)關(guān)進(jìn)行相應(yīng)處理”部分的算法可進(jìn)一步細(xì)化。要將所有編號(hào)是Index整數(shù)倍的燈及按鈕進(jìn)行狀態(tài)改變,只需設(shè)計(jì)一個(gè)循環(huán)結(jié)構(gòu),循環(huán)變量i賦初值為Index,以后每執(zhí)行一次循環(huán)體,讓循環(huán)變量i值增加Index即可。此部分算法用自然語(yǔ)言描述為:ißIndex;如果當(dāng)前i值沒(méi)有超過(guò)10則轉(zhuǎn)向,否則轉(zhuǎn)向;如果當(dāng)前編號(hào)為i的電燈原來(lái)狀態(tài)為“滅”,則轉(zhuǎn)向否則轉(zhuǎn)向;將編號(hào)為i的電燈狀態(tài)變?yōu)椤傲痢保幪?hào)為i的按鈕的標(biāo)題改為“關(guān)”,轉(zhuǎn)向;將編號(hào)為i的電燈狀態(tài)變?yōu)椤皽纭?,編?hào)為i的按鈕的標(biāo)題改為“開(kāi)”,轉(zhuǎn)向;ißi+1;算法結(jié)
6、束。(4)編寫(xiě)程序。根據(jù)算法描述,完善下列程序,并將其輸入到Private Sub Command1_Click(Index As Integer)事件驅(qū)動(dòng)程序中。If Index <> 1 Then '單擊第一個(gè)燈以外的開(kāi)關(guān) For i = Index To 10 Step If Image1(i).Visible = False Then Image1(i).Visible = Command1(i).Caption = Else Image1(i).Visible = False Command1(i).Caption = "開(kāi)" End If N
7、ext i Else '單擊第一個(gè)燈的開(kāi)關(guān) If Image1(1).Visible = False Then Image1(1).Visible = True Command1(1).Caption = "關(guān)" Else Image1(1).Visible = False Command1(1).Caption = "開(kāi)" End If End If s = s + 1 Text1.Text = Str(s) f = True For i = 1 To 10 '逐個(gè)判斷所有電燈的狀態(tài) If Image1(i).Visible = Fal
8、se Then f = False Next i If f Then Label2.Visible = True (5)運(yùn)行調(diào)試程序。運(yùn)行完成的VB應(yīng)用程序并進(jìn)行相應(yīng)的操作,觀(guān)察運(yùn)行結(jié)果,若有錯(cuò)則修改程序直至正確。 【擴(kuò)展與提高】(6)對(duì)上述程序進(jìn)行改進(jìn),使程序能有20盞電燈以及相應(yīng)的開(kāi)關(guān)。(7)根據(jù)實(shí)踐結(jié)果分析,并在下方描述能得到最少總操作次數(shù)的開(kāi)關(guān)燈方法: _。 4.相關(guān)練習(xí)(1)分析下列兩段程序并寫(xiě)出程序運(yùn)行結(jié)果:s = 0For i = 1 To 10 s = s + iNext iPrint ss = 0: i = 1Do While i <= 10 s = s + i i = i + 1Loo
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球騎行臂套和腿套行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球氫氣純度儀行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 多多收項(xiàng)目可行性研究報(bào)告
- 中國(guó)化妝品玻璃容器行業(yè)市場(chǎng)深度研究及投資戰(zhàn)略規(guī)劃報(bào)告
- 2025年中國(guó)耐溫型過(guò)濾器行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年非合金鋼項(xiàng)目可行性研究報(bào)告
- 復(fù)合聚錄乙烯熱穩(wěn)定劑可行性研究報(bào)告申請(qǐng)建議書(shū)
- 燈具零部件行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年度公共廁所環(huán)境監(jiān)測(cè)系統(tǒng)承包施工合同
- 2025年度知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓與授權(quán)合同范本
- 人教版2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 【人教版化學(xué)】必修1 知識(shí)點(diǎn)默寫(xiě)小紙條(答案背誦版)
- 江蘇省無(wú)錫市2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 全國(guó)第三屆職業(yè)技能大賽(無(wú)人機(jī)駕駛(植保)項(xiàng)目)選拔賽理論考試題庫(kù)(含答案)
- 《奧特萊斯業(yè)態(tài)淺析》課件
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 國(guó)家安全教育課程教學(xué)大綱分享
- 養(yǎng)殖場(chǎng)獸醫(yī)服務(wù)合同
- 電氣工程及其自動(dòng)化基礎(chǔ)知識(shí)單選題100道及答案解析
- HR六大板塊+三支柱體系
評(píng)論
0/150
提交評(píng)論