freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vb課程設(shè)計報告書(已修改)

2025-06-10 22:49 本頁面
 

【正文】 .. . . .. Visual Basic課程設(shè)計報告書姓名: 學(xué)院:機電工程學(xué)院 班級:11機自A4班學(xué)號:20114819049指導(dǎo)老師:實訓(xùn)時間:實訓(xùn)地點:14號樓目 錄一、題目簡介……………………………………………………二、設(shè)計思路與總體方案………………………………………三、設(shè)計過程中遇到的主要問題與解決方案…………………四、設(shè)計中尚存的不足之處……………………………………五、參考文獻(xiàn)……………………………………………………六、課程設(shè)計小結(jié)………………………………………………一、題目簡介本題目旨在設(shè)計與一個可進(jìn)行人機互動的小游戲,其名字為“井字棋”。對于這個小游戲,相信大家也并不陌生,其規(guī)則是:在一個3*3的棋盤上輪流落子,當(dāng)有三個相同顏色的棋子連成一行時,那方勝利。這個小程序可以加深我們對這學(xué)期的vb基礎(chǔ)知識的印象,使理論升華為實際操作,同時有助于我們培養(yǎng)我們的邏輯思維能力和解決問題的能力。題目的難度相對不高,但牽涉到眾多的知識點。而且有些知識課堂上并沒有講過,這就讓我們不得不自己去查詢資料,進(jìn)行設(shè)計,所以,還是有一定的難度的。課程設(shè)計步驟與計劃如下:(1)確定設(shè)計題目:“井字棋”游戲的設(shè)計與開發(fā)。(2)需求分析:分析系統(tǒng)需要實現(xiàn)什么樣的功能。(3)程序設(shè)計:根據(jù)需求分析的結(jié)果,進(jìn)行界面及編程設(shè)計。(4)程序檢驗:對編好的程序進(jìn)行測試,校對。(5)程序改進(jìn):對校正后的程序進(jìn)行改正,試行。(6)編寫報告:編寫設(shè)計報告書。程序主要要求實現(xiàn)以下幾個功能:1. 可以進(jìn)行人機相互博弈;2. 每次只能走一步棋,且落子的地方不可以繼續(xù)落子;3. 可以判斷出輸贏,并且當(dāng)判斷出輸贏后,程序停止,未滿的棋盤不可以繼續(xù)落子;4. 可以選擇是電腦先走還是“人”先走;為了實現(xiàn)以上幾點可以設(shè)計程序主界面如圖1所示 這個主界面已經(jīng)可以大體上實現(xiàn)上述要求,它包括一個Command1控件數(shù)組,一個Option1控件數(shù)組,一個Label1控件,一個Command2控件和一個form1控件。二、設(shè)計思路與總體方案 用到哪些控件、難點分析、所使用的模塊、過程、變量、數(shù)組、自定義數(shù)據(jù)類型及其相互關(guān)系??必要時給出系統(tǒng)結(jié)構(gòu)圖等圖表。根據(jù)功能和系統(tǒng)分析,可以設(shè)計出系統(tǒng)的主流程圖,如圖2所示。 主要程序流程圖NoYesYesNo結(jié)束是否滿足勝利條件雙方輪流落子是否選擇誰先開始初始化開始對話框提示 由程序主流程圖,可以看出,程序剛啟動時,需要對程序進(jìn)始化處理。隨后,判斷有沒有選擇誰先開始落子,是“人”還是計算機先。若果沒有選擇誰先開始下棋,系統(tǒng)則彈出對話框,如圖3所示 當(dāng)選擇了某一方先下棋后,程序運行,按照每人一步的原則進(jìn)行下去,直至一方獲得勝利。 窗體form1這是啟動窗體,用到屬性主要有Activate、Load。下面我配合圖和文字講述下這兩個屬性在程序中的主要作用。,我設(shè)計的“井字棋”游戲的棋盤是由一個Command控件數(shù)組來實現(xiàn)的。通過改變控件Command的Caption來達(dá)到“人”和計算機下棋的結(jié)果。但是我們知道,只通過Caption屬性是不能實現(xiàn)這個目的的,通過查閱資料知道,Command有一個Tag屬性,它本身沒有具體屬性,需要通過程序賦予具體的數(shù)值。這個發(fā)現(xiàn)讓我很興奮,這代表我們可以給Tag賦予不同的值0、1,當(dāng)Tag的值為0是,Command的Click事件將會使Caption的值變?yōu)椤啊瘛?,而電腦下棋時則是先將Caption的值變?yōu)椤啊稹?,與此同時將所在Command的Tag值變?yōu)?,這樣“人”就無法在電腦落子的地點繼續(xù)下棋。所以在程序運行之前,必須將所有Command的Tag值變?yōu)?,這樣“人”才能子在棋盤上落子,而這個事件觸發(fā)的必須很早,所以用到了form的Activate屬性,在Form_Activate)事件下編寫程序使得Command的屬性Tag的值全部變?yōu)?。程序如下:For i = 1 To 9 a(i).Caption = a(i).Tag = 0 39。設(shè)置一個表達(dá)式用來存儲程序中需要的額外數(shù)據(jù),0代表人 Next i a(i)為數(shù)組,主要是為了方便后面的程序編寫,它的具體屬性,在Form的Load事件中編寫,程序如下: Private Sub Form_Load() For i = 1 To 9 Set a(i) = Command1(i 1) 39。給a(i)賦值使其有具體含義 Next iEnd Sub “棋子”的效果我們可以從圖4和圖5看到。 圖5,“人”持黑子 按鈕Comamnd控件數(shù)組 在上面窗體的介紹中,我們已經(jīng)知道,棋盤是由按鈕控件Command來實現(xiàn)的。它的Tag屬性這里上面已經(jīng)詳細(xì)介紹了,這里就不再多提。首先,為什么棋盤是由數(shù)組來實現(xiàn),而不是九個獨立的Command按鈕?第一, 創(chuàng)建方便。數(shù)組的創(chuàng)建是通過先繪制一個Command控件,調(diào)整大小后榮國復(fù)制粘貼來得到的。這樣出來的其余八個按鈕的大小形狀都相同,方便排版。第二, 程序設(shè)計方便。在窗體的介紹中,我提到了數(shù)組a(9),通過給a(9)賦值來代替Command控件數(shù)組。而且,用數(shù)組也不至于因為程序繁冗而混亂。在棋盤繪制好,棋子設(shè)定好的情況下,如何來實現(xiàn)下棋的目的呢?這也是這個小游戲最難的地方。這相當(dāng)于給計算機編寫一個智能程序,使得計算機能夠和“人”進(jìn)行博弈。所以計算機一方面要不讓你贏的比賽,另一方面它自己還要不段尋找贏的機會。這樣的話,計算機必須進(jìn)行多步計算與判斷,設(shè)計時程序就比較繁多。下面,是計算機和“人”在進(jìn)行博弈時的流程圖NoN0Yes人是否繼續(xù)落子是否滿足勝利條件開始 結(jié)束Yes雙方輪流落子對話框提示Label輸贏顯示
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1