国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

舉例通過VB編寫猜拳游戲來講述條件語句

2024-07-21 02:30:06
字體:
供稿:網(wǎng)友

本文適合讀者主要是入門讀者和對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ù)。

 

整個程序設(shè)計:

程序界面設(shè)計

程序源代碼:

private playerguess as stringprivate randguess() as stringprivate win as singleprivate own as singleprivate draw as single

 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ù)雜性。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德化县| 淮阳县| 南开区| 南部县| 蒲城县| 宜宾市| 乌海市| 新绛县| 景泰县| 讷河市| 抚州市| 大冶市| 民权县| 明光市| 苍梧县| 塔河县| 丰台区| 安塞县| 双城市| 西峡县| 板桥市| 江津市| 游戏| 阳谷县| 阿瓦提县| 垦利县| 东莞市| 乡城县| 炉霍县| 射洪县| 长白| 龙陵县| 通辽市| 安顺市| 土默特右旗| 鄯善县| 来宾市| 平安县| 平安县| 眉山市| 巩义市|