2016-08-21 17 views
1

所以我有點虧了。我一直在爲這個劇本編寫一個「猜數字」遊戲,到目前爲止我已經成功了。現在這項任務要求,當用戶猜測得太高或太低時,應該給他們更好的線索,看看他們有多遠。VBScript猜數

例如,如果用戶離開了50個號碼,它應該通知他們他們很冷。如果他們是30個數字,他們是溫暖的,10個數字,他們很熱...

我不能指出這一部分。

任何幫助,非常感謝。

Initialization Section 

Option Explicit 

Const cGreetingMsg = "Pick a number between 1 - 100" 

Dim intUserNumber, intRandomNo, strOkToEnd, intNoGuesses 

intNoGuesses = 0 

'Main Processing Section 

'Generate a random number 
Randomize 
intRandomNo = FormatNumber(Int((100 * Rnd) + 1)) 

'Loop until either the user guesses correctly or the user clicks on  Cancel 
Do Until strOkToEnd = "yes" 

    'Prompt user to pick a number 
    intUserNumber = InputBox("Type your guess:",cGreetingMsg) 
    intNoGuesses = intNoGuesses + 1 

    'See if the user provided an answer 
    If Len(intUserNumber) <> 0 Then 

    'Make sure that the player typed a number 
    If IsNumeric(intUserNumber) = True Then 

     'Test to see if the user's guess was correct 
     If FormatNumber(intUserNumber) = intRandomNo Then 
     MsgBox "Congratulations! You guessed it. The number was " & _ 
      intUserNumber & "." & vbCrLf & vbCrLf & "You guessed it " & _ 
      "in " & intNoGuesses & " guesses.", ,cGreetingMsg 
     strOkToEnd = "yes" 
     End If 

     'Test to see if the user's guess was too low 
     If FormatNumber(intUserNumber) < intRandomNo Then 
     MsgBox "Your guess was too low. Try again", ,cGreetingMsg 
     strOkToEnd = "no" 
     End If 

     'Test to see if the user's guess was too high 
     If FormatNumber(intUserNumber) > intRandomNo Then 
     MsgBox "Your guess was too high. Try again", ,cGreetingMsg 
     strOkToEnd = "no" 
     End If 

    Else 
     MsgBox "Sorry. You did not enter a number. Try again.", ,  cGreetingMsg 
    End If 

    Else 
    MsgBox "You either failed to type a value or you clicked on Cancel.  " & _ 
     "Please play again soon!", , cGreetingMsg 
    strOkToEnd = "yes" 
    End If 

Loop 

回答

0

您的問題可能是S.O.的主題。無論如何,我會給你一個提示,因爲我一直在你的鞋子...

這是否響鈴?

coldThresHold = 20 

If userNumber = intRandomNo + coldThresHold Then YouGuessed() 
Else If userNumber > intRandomNo + coldThresHold Then YouAreCold() 
Else If userNumber > intRandomNo Then YouAreHot() 
Else If userNumber < intRandomNo - coldThresHold Then YouAreCold() 
Else userNumber < intRandomNo Then YouAreHot()