Option Explicit Dim WshShell, lngResult, intCount, strData, arrstrData, strPresentation Dim datTimeNow, arrstrPortrait(14), arrstrTitle, arrstrJoke(3) Dim intIndex, btnCode Const STR_CHEETAH = "Your rank is *** Cheetah ***. That's very fast!" Const STR_EAGLE = "Your rank is *** Eagle ***. That's fast!" Const STR_RABBIT = "Your rank is *** Rabbit ***. That's pretty good." Const STR_GOAT = "Your rank is *** Goat ***. That's a little slow." Const STR_TURTLE = "Your rank is *** Turtle ***. You need to more practise." Const INT_RATE = 1000 Const INT_TEST_TIME = 5 strPresentation = "欢迎来到反应力测试游戏,等下看到弹出的对话框请您以最" & _ "快的速度点击,我们会记录您的速度,一共5组练习,我们会记录您5组题中的平" & _ "均速度作为成绩并评分,准备好了吗,准备好了我们就开始吧!" arrstrPortrait(0) = "╭︿︿︿╮" & vbNewLine & _ "{/ o o /}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶ ︶︶ " arrstrPortrait(1) = "╭︿︿︿╮" & vbNewLine & _ "{/ $ $ /}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶ ︶ ︶ " arrstrPortrait(2) = "╭︿︿︿╮" & vbNewLine & _ "{/-◎◎-/}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(3) = "╭︿︿︿╮" & vbNewLine & _ "{/ X o /}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(4) = "╭︿︿︿╮" & vbNewLine & _ "{/-■■-/} " & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶ ︶ ︶ " arrstrPortrait(5) = "╭︿︿︿╮" & vbNewLine & _ "{/ # # /}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(6) = "╭︿︿︿╮" & vbNewLine & _ "{/ ︿︿ /}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶ ︶ ︶ " arrstrPortrait(7) = "╭︿︿︿╮" & vbNewLine & _ "{/-●●-/} " & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(8) = "╭︿︿︿╮" & vbNewLine & _ "{/ 0 0 /}" & vbNewLine & _ " ( (qp) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(9) = "╭︿︿︿╮" & vbNewLine & _ "{/-★★-/}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(10) = "╭︿︿︿╮" & vbNewLine & _ "{/ @ @ /}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(11) = "╭︿︿︿╮" & vbNewLine & _ "{/ . . /}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶ ︶ ︶ " arrstrPortrait(12) = "╭︿︿︿╮" & vbNewLine & _ "{/-⊙⊙-/}" & vbNewLine & _ " ( (oo) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(13) = "╭︿︿︿╮" & vbNewLine & _ "{/ - - /}" & vbNewLine & _ " ( (..) ) " & vbNewLine & _ " ︶︶︶ " arrstrPortrait(14) = "╭︿︿︿╮" & vbNewLine & _ "{/ ·· /} " & vbNewLine & _ " ( (00) ) " & vbNewLine & _ " ︶︶︶ " arrstrTitle = Array("猪", "财迷心窍猪", "戴眼睛猪", "独眼龙猪", "酷酷猪", _ "茫然猪", "眉开眼笑的猪", "墨镜猪", "生气猪", "时髦猪", "头晕目眩猪", _ "小眼猪", "眼镜猪", "悠闲自在猪", "猪头") arrstrJoke(0) = _ "That's too slow... What do you think?" & vbNewLine & vbNewLine & _ _ " (()__(() " & vbNewLine & _ " / / " & vbNewLine & _ " ( / / / " & vbNewLine & _ " / o o / " & vbNewLine & _ " (_()_)__/ / " & vbNewLine & _ " / _,==.____ / " & vbNewLine & _ " ( |--| ) " & vbNewLine & _ " //_.|__|'-.__//_ " & vbNewLine & _ " / ( / /" & vbNewLine & _ " / / ( /" & vbNewLine & _ " ) '._____) / " & vbNewLine & _ " (((____.--(((____/ " arrstrJoke(1) = _ "Are you sleeping ? Zzzz..." & vbNewLine & vbNewLine & _ _ " /~~~~~/ /~~~~~/ " & vbNewLine & _ " | (~' ~~~) | " & vbNewLine & _ " / /__________/ / " & vbNewLine & _ " /~:::::::: ~/ " & vbNewLine & _ " /~~~~~~~-_| :::::::: |_-~~~~~~~/" & vbNewLine & _ " / ======= /| ::A::; A :|/ ====== / " & vbNewLine & _ " ~-_____-~ | _----------------_::| ~-____-~ " & vbNewLine & _ " |/~ ~/| " & vbNewLine & _ " / / " & vbNewLine & _ " ( () () ) " & vbNewLine & _ " `/ ./' " & vbNewLine & _ " ~-_______________-~ " & vbNewLine & _ " /~~~~/ " & vbNewLine & _ " | | " & vbNewLine & _ " | | " & vbNewLine & _ " (________) " & vbNewLine & _ " () " arrstrJoke(2) = _ "I like your food.. Hey, I'm coming!" & vbNewLine & vbNewLine & _ _ " .+`+. " & vbNewLine & _ " .-./ _=_ /.-. " & vbNewLine & _ " { (,(oYo),) }} " & vbNewLine & _ " {{ | ^ |} } " & vbNewLine & _ " { { /(---)/ }} " & vbNewLine & _ " {{ }'-=-'{ } } " & vbNewLine & _ " { { }._:_.{ }} " & vbNewLine & _ " {{ } -:- { } } " & vbNewLine & _ " {_{ }`===`{ _} " & vbNewLine & _ " ((((/) (/))))" arrstrJoke(3) = _ "I'm very hungry!" & vbNewLine & vbNewLine & _ _ " ,%%%%%%%%, " & vbNewLine & _ " ,%%//%%%%//%% " & vbNewLine & _ " ,%%%/c "" J/%%%" & vbNewLine & _ " %. %%%%/ o o /%%%" & vbNewLine & _ " `%%. %%%% _ |%%%" & vbNewLine & _ " `%% `%%%%(__Y__)%%'" & vbNewLine & _ " // ;%%%%`/-/%%%' " & vbNewLine & _ " (( / `%%%%%%%' " & vbNewLine & _ " // .' | " & vbNewLine & _ " // / / | | " & vbNewLine & _ " /// ) | | " & vbNewLine & _ " / /_ | |__ " & vbNewLine & _ " (___________))))))) " Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Popup strPresentation, 0, "反应力测试", 64 Do For intCount = 1 To INT_TEST_TIME PlayGame Next arrstrData = Split(Trim(strData), " ", -1, 1) For intCount = 0 To INT_TEST_TIME - 1 arrstrData(intCount) = CDbl(arrstrData(intCount)) Next lngResult = Round((arrstrData(0) + arrstrData(1) + arrstrData(2) + _ arrstrData(3) + arrstrData(4)) / INT_TEST_TIME, 3) If lngResult < 0.18 Then btnCode = MsgBox("Your score is " & lngResult & "." & vbNewLine & _ STR_CHEETAH & vbNewLine & "Do you want to play again?", _ vbInformation + vbYesNo, "Game Result") ElseIf lngResult >= 0.18 And lngResult < 0.22 Then btnCode = MsgBox("Your score is " & lngResult & "." & vbNewLine & _ STR_EAGLE & vbNewLine & "Do you want to play again?", _ vbInformation + vbYesNo, "Game Result") ElseIf lngResult >= 0.22 And lngResult < 0.25 Then btnCode = MsgBox("Your score is " & lngResult & "." & vbNewLine & _ STR_RABBIT & vbNewLine & "Do you want to play again?", _ vbInformation + vbYesNo, "Game Result") ElseIf lngResult >= 0.25 And lngResult < 0.28 Then btnCode = MsgBox("Your score is " & lngResult & "." & vbNewLine & _ STR_GOAT & vbNewLine & "Do you want to play again?", _ vbInformation + vbYesNo, "Game Result") Else btnCode = MsgBox("Your score is " & lngResult & "." & vbNewLine & _ STR_TURTLE & vbNewLine & "Do you want to play again?", _ vbInformation + vbYesNo, "Game Result") End If Loop While btnCode = 6 '**************************************************************************** Sub PlayGame WScript.Sleep GetDelayTime datTimeNow = Timer intIndex = GetPorIndex btnCode = WshShell.Popup(arrstrPortrait(intIndex), 1, "快点我吧 - " & _ arrstrTitle(intIndex), 0) If CInt(btnCode) = -1 Then lngResult = 1 WshShell.Popup arrstrJoke(GetJokIndex), 4, "+_+!", 0 Else lngResult = Round(Timer - datTimeNow, 3) End If MsgBox lngResult strData = strData & lngResult & " " End Sub '**************************************************************************** Function GetJokIndex Randomize GetJokIndex = Round(3 * Rnd) End Function Function GetPorIndex Randomize GetPorIndex = Round(14 * Rnd) End Function Function GetDelayTime Randomize GetDelayTime = Round((4 * Rnd) + 1, 3) * INT_RATE End Function