VB應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)
VB應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)
VB應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)
VB應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁(yè)
VB應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE11實(shí)驗(yàn)報(bào)告課程名稱VisualBasic程序設(shè)計(jì)教程實(shí)驗(yàn)項(xiàng)目名稱VB應(yīng)用程序設(shè)計(jì)班級(jí)與班級(jí)代碼實(shí)驗(yàn)室名稱(或課室)實(shí)驗(yàn)樓401專業(yè)任課教師學(xué)號(hào):姓名:實(shí)驗(yàn)日期:2010年12月20日廣東商學(xué)院教務(wù)處制實(shí)驗(yàn)?zāi)康暮鸵笫炀氄莆詹?yīng)用VB窗體和常用控件的屬性、方法和事件。掌握自定義數(shù)據(jù)類型的定義和使用,能熟練運(yùn)用常用內(nèi)部函數(shù)和用戶交互函數(shù)(Inputbox與Msgbox函數(shù))。掌握順序結(jié)構(gòu)程序、選擇結(jié)構(gòu)程序和循環(huán)結(jié)構(gòu)程序設(shè)計(jì),進(jìn)一步理解運(yùn)用VB應(yīng)用程序的編程機(jī)制。掌握控件數(shù)組在程序設(shè)計(jì)中的應(yīng)用方法和技巧。掌握菜單設(shè)計(jì)方法,定時(shí)器、圖形框和圖像框的常用屬性、事件、方法及其使用。實(shí)驗(yàn)環(huán)境WindowsXP操作系統(tǒng)VisualBasic6.0中文版實(shí)驗(yàn)內(nèi)容和原理實(shí)驗(yàn)內(nèi)容:編輯一個(gè)小游戲——井字過(guò)三關(guān),要求玩家在規(guī)定時(shí)間內(nèi)完成該游戲。游戲規(guī)則:需要兩位玩家,一個(gè)打圈“○”,一個(gè)打叉“×”,輪流在3乘3的格上打自己的符號(hào),最先以橫、豎、斜連成一線則為勝。如果雙方都下得正確無(wú)誤,將得平局。實(shí)驗(yàn)分析與原理:用timer設(shè)計(jì)一個(gè)倒計(jì)時(shí),可控制玩家在規(guī)定時(shí)間完成。用9個(gè)數(shù)組圖像控件排成3乘3格子,利用鼠標(biāo)click事件觸發(fā)各相應(yīng)圖像框顯示圈或叉的圖像。利用窮舉法分別從橫、豎、斜判斷每個(gè)方格是否為同一圖像,從而定出勝利一方。實(shí)驗(yàn)設(shè)計(jì)流程界面設(shè)計(jì):考慮到“井字過(guò)三關(guān)”為兒童益智類游戲,應(yīng)盡量將界面設(shè)計(jì)得親切、可愛(ài),吸引玩家。游戲界面如下圖:首先設(shè)置窗口的picture屬性載入一張可愛(ài)背景,同時(shí)加上兩個(gè)載入Q版頭像的圖形框;為了界面美觀,使用菜單編輯器裝載開(kāi)始、退出游戲等功能按鍵;然后用9個(gè)載入白底的圖象框作為游戲方格;加入幾個(gè)標(biāo)簽分別顯示玩家名稱、剩余時(shí)間和提示信息等。程序設(shè)計(jì):點(diǎn)擊菜單中的“開(kāi)始”進(jìn)入游戲,讓玩家輸入各自名稱并顯示,之后開(kāi)啟并清空全部圖像框(變空白),信息框顯示提示信息,然后開(kāi)始計(jì)時(shí)。代碼如下:PrivateSub開(kāi)始_Click()player1=InputBox("請(qǐng)輸入玩家1名稱","玩家1","player1")player2=InputBox("請(qǐng)輸入玩家2名稱","玩家2","player2")Fori=0To8Image(i).Enabled=TrueImage(i).Picture=LoadPicture("bai.jpg")Nextiname1.Caption=player1name2.Caption=player2msg.Caption="提示:"+player1+"先出手"Timer1.Enabled=TrueEndSub游戲中點(diǎn)擊“重來(lái)”,同樣開(kāi)啟并清空全部圖像框,然后重新計(jì)時(shí)。代碼如下:PrivateSub重來(lái)_Click()Fori=0To8Image(i).Picture=LoadPicture("bai.jpg")Image(i).Enabled=TrueNextiTimer1.Enabled=Truemsg.Caption="提示:"+player1+"先出手"EndSub點(diǎn)擊菜單“退出”則立刻退出游戲。代碼如下:PrivateSub退出_Click()EndEndSub利用數(shù)組控件,即每個(gè)圖像框控件Image(i)有自己的編號(hào)(i從0到8),按3乘3方格從左到右順序排列安放。游戲中點(diǎn)擊各個(gè)圖像框,將交替出現(xiàn)圈和叉圖形,然后進(jìn)行判斷。利用窮舉法,從橫、豎、交叉方向列出可能出現(xiàn)的各種連成一線的情況,即分出勝負(fù),在提示標(biāo)簽里提示并彈出信息框。另外在判斷過(guò)程中加入變量以確定是否分出勝負(fù),如果下完全部格子還未分出勝負(fù),則雙方以平局結(jié)束并提示。代碼如下:PrivateSubImage_Click(indexAsInteger)'交替使用圈圈和叉叉Times_number=Times_number+1IfTimes_numberMod2<>0ThenImage(index).Picture=qqmsg.Caption="提示:輪到"+player2+"出手"ElseImage(index).Picture=ccmsg.Caption="提示:輪到"+player1+"出手"EndIf'判斷勝負(fù):'從格子橫方向進(jìn)行判斷:Fori=0To6Step3IfImage(i).Picture=qqAndImage(i+1).Picture=qqAndImage(i+2).Picture=qqThenwiner=1EndIfIfImage(i).Picture=ccAndImage(i+1).Picture=ccAndImage(i+2).Picture=ccThenwiner=2EndIfNexti'從格子豎方向進(jìn)行判斷:Fori=0To2IfImage(i).Picture=qqAndImage(i+3).Picture=qqAndImage(i+6).Picture=qqThenwiner=1EndIfIfImage(i).Picture=ccAndImage(i+3).Picture=ccAndImage(i+6).Picture=ccThenwiner=2EndIfNexti'從格子兩邊交叉方向進(jìn)行判斷:IfImage(0).Picture=qqAndImage(4).Picture=qqAndImage(8).Picture=qqThenwiner=1EndIfIfImage(0).Picture=ccAndImage(4).Picture=ccAndImage(8).Picture=ccThenwiner=2EndIfIfImage(2).Picture=qqAndImage(4).Picture=qqAndImage(6).Picture=qqThenwiner=1EndIfIfImage(2).Picture=ccAndImage(4).Picture=ccAndImage(6).Picture=ccThenwiner=2EndIf'結(jié)束后不能繼續(xù)Ifwiner=1Orwiner=2ThenFori=0To8Image(i).Enabled=FalseNextiTimer1.Enabled=False開(kāi)始.Enabled=TrueEndIf'提示標(biāo)簽顯示勝負(fù)以及彈出信息框Ifwiner=1Thenmsg.Caption=player1+"勝出"b=MsgBox(player1+"勝利",,"結(jié)束")EndIfIfwiner=2Thenmsg.Caption=player2+"勝出"b=MsgBox(player2+"勝利",,"結(jié)束")EndIf'下完全部格子沒(méi)分出勝負(fù):IfTimes_number=9Andwiner=0Thenmsg.Caption="雙方平局"開(kāi)始.Enabled=Truea=MsgBox("雙方平局",,"結(jié)束")EndIfEndSub為游戲設(shè)置倒計(jì)時(shí),當(dāng)超過(guò)時(shí)間未能完成游戲,則彈出信息框提示玩家并結(jié)束游戲。代碼如下:PrivateSubTimer1_Timer()Ifm<>0ThenIfs=0Thenm=m-1s=59Elses=s-1EndIfElseIfs<>0Thens=s-1ElseLabel1.Caption="時(shí)間結(jié)束!"msg.Caption="未完成"c=MsgBox("已超時(shí),請(qǐng)重新開(kāi)始...",,結(jié)束)Timer1.Enabled=FalseFori=0To8Image(i).Enabled=FalseNextiEndIfEndIfIfm<>0Ors<>0ThenLabel1.Caption="剩余時(shí)間:"+Str(m)+"分"+Str(s)+"秒"EndIfEndSub調(diào)試過(guò)程反復(fù)運(yùn)行游戲進(jìn)行調(diào)試,發(fā)現(xiàn)各種程序漏洞:還沒(méi)點(diǎn)擊開(kāi)始就可以在方格進(jìn)行游戲;可以在同一方格重復(fù)點(diǎn)擊使其改變……經(jīng)過(guò)多次調(diào)試,程序已經(jīng)相對(duì)完善。測(cè)試選取的情況及運(yùn)行結(jié)果玩家1取勝,將分為三種練成一線的情形(橫、豎、斜)。如圖:玩家2取勝,情形如上(橫、豎、斜)。如圖:雙方平局,即下完全部格子,橫、豎、斜都未能練成一線。如圖:實(shí)驗(yàn)報(bào)告總結(jié)與心得體會(huì)這個(gè)學(xué)期我們學(xué)習(xí)了VisualBasic程序設(shè)計(jì)這門課程,它是可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開(kāi)發(fā)Windows環(huán)境下的各類應(yīng)用程序。課程知識(shí)的實(shí)用性很強(qiáng),因此實(shí)驗(yàn)就顯得非常重要。從開(kāi)始上這門課到現(xiàn)在,已經(jīng)做了不少的實(shí)驗(yàn)。所以在做這次VB應(yīng)用程序設(shè)計(jì)的實(shí)驗(yàn)前,我以為也是很簡(jiǎn)單,不就是兩下子編好程序然后將實(shí)驗(yàn)報(bào)告寫(xiě)完就大功告成。直到?jīng)Q定了編寫(xiě)“井字過(guò)三關(guān)”這一小游戲后,才知道其實(shí)不是這么簡(jiǎn)單的。從游戲界面的設(shè)計(jì)到實(shí)現(xiàn)每個(gè)功能的程序代碼的編寫(xiě),無(wú)一不是經(jīng)過(guò)反復(fù)的驗(yàn)證測(cè)試而成功完成的。特別是每一段程序代碼的編寫(xiě),靠的都是細(xì)心以及多次的調(diào)試修改。為了這個(gè)程序及實(shí)驗(yàn)報(bào)告,實(shí)在花費(fèi)了我不少的時(shí)間和精力,不過(guò)我相信學(xué)到的知識(shí)與付出是成正比。通過(guò)這次VB應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn),不僅加深了我對(duì)VB的認(rèn)識(shí),達(dá)到了一些如掌握VB程序設(shè)計(jì)及編輯等各項(xiàng)實(shí)驗(yàn)?zāi)康暮鸵?,而且我覺(jué)得更重要的是實(shí)驗(yàn)過(guò)程中培養(yǎng)了我在實(shí)踐中獨(dú)立思考、研究問(wèn)

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論