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

正文內(nèi)容

vb課程設(shè)計(jì)報(bào)告書-展示頁

2025-06-07 22:49本頁面
  

【正文】 參考文獻(xiàn)……………………………………………………六、課程設(shè)計(jì)小結(jié)………………………………………………一、題目簡介本題目旨在設(shè)計(jì)與一個(gè)可進(jìn)行人機(jī)互動的小游戲,其名字為“井字棋”。對于這個(gè)小游戲,相信大家也并不陌生,其規(guī)則是:在一個(gè)3*3的棋盤上輪流落子,當(dāng)有三個(gè)相同顏色的棋子連成一行時(shí),那方勝利。題目的難度相對不高,但牽涉到眾多的知識點(diǎn)。課程設(shè)計(jì)步驟與計(jì)劃如下:(1)確定設(shè)計(jì)題目:“井字棋”游戲的設(shè)計(jì)與開發(fā)。(3)程序設(shè)計(jì):根據(jù)需求分析的結(jié)果,進(jìn)行界面及編程設(shè)計(jì)。(5)程序改進(jìn):對校正后的程序進(jìn)行改正,試行。程序主要要求實(shí)現(xiàn)以下幾個(gè)功能:1. 可以進(jìn)行人機(jī)相互博弈;2. 每次只能走一步棋,且落子的地方不可以繼續(xù)落子;3. 可以判斷出輸贏,并且當(dāng)判斷出輸贏后,程序停止,未滿的棋盤不可以繼續(xù)落子;4. 可以選擇是電腦先走還是“人”先走;為了實(shí)現(xiàn)以上幾點(diǎn)可以設(shè)計(jì)程序主界面如圖1所示 這個(gè)主界面已經(jīng)可以大體上實(shí)現(xiàn)上述要求,它包括一個(gè)Command1控件數(shù)組,一個(gè)Option1控件數(shù)組,一個(gè)Label1控件,一個(gè)Command2控件和一個(gè)form1控件。根據(jù)功能和系統(tǒng)分析,可以設(shè)計(jì)出系統(tǒng)的主流程圖,如圖2所示。隨后,判斷有沒有選擇誰先開始落子,是“人”還是計(jì)算機(jī)先。 窗體form1這是啟動窗體,用到屬性主要有Activate、Load。,我設(shè)計(jì)的“井字棋”游戲的棋盤是由一個(gè)Command控件數(shù)組來實(shí)現(xiàn)的。但是我們知道,只通過Caption屬性是不能實(shí)現(xiàn)這個(gè)目的的,通過查閱資料知道,Command有一個(gè)Tag屬性,它本身沒有具體屬性,需要通過程序賦予具體的數(shù)值。所以在程序運(yùn)行之前,必須將所有Command的Tag值變?yōu)?,這樣“人”才能子在棋盤上落子,而這個(gè)事件觸發(fā)的必須很早,所以用到了form的Activate屬性,在Form_Activate)事件下編寫程序使得Command的屬性Tag的值全部變?yōu)?。設(shè)置一個(gè)表達(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。 圖5,“人”持黑子 按鈕Comamnd控件數(shù)組 在上面窗體的介紹中,我們已經(jīng)知道,棋盤是由按鈕控件Command來實(shí)現(xiàn)的。首先,為什么棋盤是由數(shù)組來實(shí)現(xiàn),而不是九個(gè)獨(dú)立的Command按鈕?第一, 創(chuàng)建方便。這樣出來的其余八個(gè)按鈕的大小形狀都相同,方便排版。在窗體的介紹中,我提到了數(shù)組a(9),通過給a(9)賦值來代替Command控件數(shù)組。在棋盤繪制好,棋子設(shè)定好的情況下,如何來實(shí)現(xiàn)下棋的目的呢?這也是這個(gè)小游戲最難的地方。所以計(jì)算機(jī)一方面要不讓你贏的比賽,另一方面它自己還要不段尋找贏的機(jī)會。下面,是計(jì)算機(jī)和“人”在進(jìn)行博弈時(shí)的流程圖NoN0Yes人是否繼續(xù)落子是否滿足勝利條件開始 結(jié)束Yes雙方輪流落子對話框提示Label輸贏顯示 現(xiàn)在堆流程圖分析。這就是所謂的搶占有利位置。當(dāng)人機(jī)走的步數(shù)超過2步時(shí),計(jì)算機(jī)會首先判斷“人“在占了5位置后,下一步有沒有勝利的可能,此時(shí)人的情況有(1,5)、(2,5)、(3,5)、(4,5)、(6,5)、(7,5)、(8,5)、(9,5)、八種情況,所以此時(shí)電腦的主要任務(wù)就是堵子。當(dāng)“人”沒有占領(lǐng)5位置后,電腦需要進(jìn)行8種計(jì)算判斷。Case 1 “人”有沒有占了(2,3)、(4,7)兩個(gè)位置,若是的話,計(jì)算機(jī)會在1位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;Case 2 “人”有沒有占了(1,3)位置,若是的話,計(jì)算機(jī)會在2位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;Case 3 “人”有沒有占了(1,2)、(6,9)兩個(gè)位置,若是的話,計(jì)算機(jī)會在3位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;Case 4 “人”有沒有占了(1,7)、(4,6)兩個(gè)位置,若是的話,計(jì)算機(jī)會在4位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;Case 6 “人”有沒有占了(3,9)位置,若是的話,計(jì)算機(jī)會在6位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;Case 7 “人”有沒有占了(1,4)、(8,9)兩個(gè)位置,若是的話,計(jì)算機(jī)會在7位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;Case 8 “人”有沒有占了(7,9)、位置,若是的話,計(jì)算機(jī)會在8位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;Case 9 “人”有沒有占了(3,6)、(7,8)兩個(gè)位置,若是的話,計(jì)算機(jī)會在9位置落子,若不是,計(jì)算機(jī)會按照原來的程序從1到9在沒有落子位置落子;上面程序已經(jīng)可以完成互奕的要求了。所以進(jìn)行過程中,要有一個(gè)判斷程序,不停地判斷是否已經(jīng)有一方獲得勝利了。包含1置的勝利情況有(1,2,3)、(1,4,7)、(1,5,9)三種情況;包含5位置的勝利情況有(1,5,9)、(2,5,8)、(3,5,6)、(4,5,6)四種情況。因?yàn)椋?,5,9)重復(fù)計(jì)算三次,總共只有3+4+32=8種情況將八種情況出現(xiàn)時(shí),對應(yīng)的Command的Tag值為1還是0即可知道是“人”還是計(jì)算機(jī)贏得了比賽。我的設(shè)計(jì)中最上面的兩個(gè)重疊在一起的Label是用來滾動顯示歡迎語、贊美語和鼓勵(lì)語的。字幕的滾動用到了計(jì)時(shí)器Timer控件,而且要讓字幕產(chǎn)生連續(xù)滾動效果,必須要用兩個(gè)Label在事件Timer1_Timer ()中才能實(shí)現(xiàn)。其具體情況如圖所示: 游戲運(yùn)行時(shí) 窗口中顯示除此之外我還設(shè)計(jì)了兩個(gè)對話框用來提示玩家。所以,合理的使用一些小程序也是蠻有用的。這個(gè)真心是困擾我很久,而且沒用很好的辦法解決。即是在程序中自己創(chuàng)建一個(gè)事件shuying(x,y,z),用x、y、z代表棋盤的位置。前文中已經(jīng)提到用Command的Tag值來表示棋子,所以我們對于任意一個(gè)shu
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1