本文適合讀者主要是入門讀者和對vb入門教學(xué)有興趣的朋友。條件判斷是計算機(jī)編程中完成主要邏輯結(jié)構(gòu)的流程控制語句。在vb中提供了if 條件表達(dá)式1 then [代碼部分]elseif 條件表達(dá)式2 then [代碼部分]else [代碼部分]end if
的控制流程來控制程序的執(zhí)行結(jié)構(gòu)。條件表達(dá)式?jīng)Q定了執(zhí)行條件的判斷。這里我們來舉個例子說明該控制流程的工作方法。 本例通過用vb實(shí)現(xiàn)一個猜拳程序來分析條件判斷語句。首先我們先來分析一下基本的猜拳規(guī)則:1. 猜拳包括三個基本的拳(石頭,剪刀,布)2. 勝負(fù)規(guī)則:石頭>剪刀 剪刀>布 布>石頭然后我們來考慮猜拳游戲的實(shí)現(xiàn),首先猜拳是由選手和電腦之間的比賽進(jìn)行的,電腦的猜拳我們通過隨機(jī)數(shù)來生成vb的隨機(jī)輸函數(shù)rnd函數(shù)可以生成0~1之間的隨機(jī)數(shù)我們通過int(rnd()*3)+1來實(shí)現(xiàn)生成【1~3】的隨機(jī)數(shù),表示(石頭,剪刀,布),而選手選擇的拳記錄在變量中playerguess,然后我們再來編寫規(guī)則來實(shí)現(xiàn)。對于編寫規(guī)則我們就可以運(yùn)用到上面所介紹的條件判斷的流程控制了。通過條件判斷的流程控制我們可以做如下比較,如果電腦出(石頭,剪刀,布)的一種,選手出的(石頭,剪刀,布)的一種,那么就有9種組合規(guī)則,因此這里就需要嵌套的條件判斷。 dim guess as string guesstimer.enabled = false guess = randguess(int(rnd() * 3) + 1) randlabel.caption = guess if guess = "石頭" then if playerguess = "rock" then titlelabel.caption = "玩家出'石頭' 電腦出'石頭' 雙方平" draw = draw + 1 elseif playerguess = "forfex" then titlelabel.caption = "玩家出'布' 電腦出'石頭' 玩家贏" win = win + 1 else 'playerguess="cloth" titlelabel.caption = "玩家出'剪刀' 電腦出'石頭' 電腦贏" own = own + 1 end if elseif guess = "剪刀" then if playerguess = "rock" then titlelabel.caption = "玩家出'石頭' 電腦出'剪刀' 玩家贏" win = win + 1 elseif playerguess = "forfex" then titlelabel.caption = "玩家出'剪刀' 電腦出'剪刀' 雙方平" draw = draw + 1 else 'playerguess="cloth" titlelabel.caption = "玩家出'布' 電腦出'剪刀' 電腦贏" own = own + 1 end if else 'guess="布" if playerguess = "rock" then titlelabel.caption = "玩家出'石頭' 電腦出'布' 電腦贏" own = own + 1 elseif playerguess = "forfex" then titlelabel.caption = "玩家出'剪刀' 電腦出'布' 玩家贏" win = win + 1 else 'playerguess="cloth" titlelabel.caption = "玩家出'布' 電腦出'布' 雙方平" draw = draw + 1 end if end if resultlabel.caption = "贏:" & win & "場" & "平:" & draw & "場" & "負(fù):" & own & "場"
同時我們統(tǒng)計贏,平,負(fù)的場數(shù)。

private sub clothcommand_click() playerguess = "cloth" guesstimer.enabled = true titlelabel.caption = "玩家準(zhǔn)備出'布'"end sub
private sub forfexcommand_click() playerguess = "forfex" guesstimer.enabled = true titlelabel.caption = "玩家準(zhǔn)備出'剪刀'"end sub
private sub form_load() redim randguess(3) randguess(1) = "石頭" randguess(2) = "剪刀" randguess(3) = "布" resultlabel.caption = "贏:" & win & "場" & "平:" & draw & "場" & "負(fù):" & own & "場" dim sum as single sum = 0 for i = 1 to 12 sum = sum + i next i msgbox sumend sub
private sub guesscommand_click() dim guess as string guesstimer.enabled = false guess = randguess(int(rnd() * 3) + 1) randlabel.caption = guess if guess = "石頭" then if playerguess = "rock" then titlelabel.caption = "玩家出'石頭' 電腦出'石頭' 雙方平" draw = draw + 1 elseif playerguess = "forfex" then titlelabel.caption = "玩家出'布' 電腦出'石頭' 玩家贏" win = win + 1 else 'playerguess="cloth" titlelabel.caption = "玩家出'剪刀' 電腦出'石頭' 電腦贏" own = own + 1 end if elseif guess = "剪刀" then if playerguess = "rock" then titlelabel.caption = "玩家出'石頭' 電腦出'剪刀' 玩家贏" win = win + 1 elseif playerguess = "forfex" then titlelabel.caption = "玩家出'剪刀' 電腦出'剪刀' 雙方平" draw = draw + 1 else 'playerguess="cloth" titlelabel.caption = "玩家出'布' 電腦出'剪刀' 電腦贏" own = own + 1 end if else 'guess="布" if playerguess = "rock" then titlelabel.caption = "玩家出'石頭' 電腦出'布' 電腦贏" own = own + 1 elseif playerguess = "forfex" then titlelabel.caption = "玩家出'剪刀' 電腦出'布' 玩家贏" win = win + 1 else 'playerguess="cloth" titlelabel.caption = "玩家出'布' 電腦出'布' 雙方平" draw = draw + 1 end if end if resultlabel.caption = "贏:" & win & "場" & "平:" & draw & "場" & "負(fù):" & own & "場"end sub
private sub guesstimer_timer() randlabel.caption = randguess(int(rnd() * 3) + 1)end sub
private sub rockcommand_click() playerguess = "rock" guesstimer.enabled = true titlelabel.caption = "玩家準(zhǔn)備出'石頭'"end sub
總結(jié):
本程序是一個簡單易懂的vb入門程序,通過該程序使剛起步的朋友在興趣中了解程序的基本邏輯結(jié)構(gòu)同時拋開了c的機(jī)器復(fù)雜性。
新聞熱點(diǎn)
疑難解答
圖片精選