-1
我是非常新的動作編程。我最近才瞭解到函數,我的任務是創建一個猜測遊戲,用戶輸入一個範圍,計算機將在此範圍內生成一個隨機數。用戶然後猜測數字是什麼。功能不會返回值動作猜謎遊戲
我的主要問題是,我得到函數guessCorrect()的錯誤「函數不返回值」。我不明白爲什麼會發生這種情況,或者如何解決這個問題。另外,如果偶然發生其他錯誤,請告訴我。非常感謝您的幫助。
- 我曾嘗試將其與回報,但得到了同樣的結果
這裏是我的代碼:
btnGuess.addEventListener(MouseEvent.CLICK, guessNumbers);
//Global Variables
var count = 0;
var myGuess:int;
var Answer:int;
var highNumber:int;
var lowNumber:int;
function guessNumbers(e:MouseEvent):void {
//Set Variables
highNumber = int(txtinHighValue.text)
lowNumber = int(txtinLowValue.text)
Answer = randomWholeNumber(highNumber, lowNumber);
myGuess = int(txtinGuess.text);
lblOutput.text = guessCorrect(myGuess, Answer, count);
}
function randomWholeNumber(highNumber:int,lowNumber:int):int
{
return Math.floor((highNumber - lowNumber + 1) * Math.random() + lowNumber);
}
**function guessCorrect(myGuess:int, Answer:int, count:int):String {
while (myGuess != Answer) {
if (myGuess < Answer) {
lblOutput.text = "Guess to low - try again!"
count ++
}
else if (myGuess > Answer) {
lblOutput.text = "Guess to high - try again!"
count ++
}
else if (myGuess == Answer){
lblOutput.text = "It's a match - you win!"
count ++
}
}
}**
lblGuesses.text = "Guessess: " += count
btnNewGame.addEventListener(MouseEvent.CLICK, guessNumbers); {
count = 0;
highNumber = 0;
lowNumber = 0;
}
'guessCorrect'直接影響'lblOutput.text',但應該返回字符串值。你的函數不返回任何東西。 –
我投票結束這個簡單的錯字 - 你忘了在'guessCorrect'函數中放置一個'return string;'語句。我的建議:花更多的時間來處理一些Actionscript教程,直到你更好地理解函數。 – Brian
該功能缺失的回報甚至不是主要問題。 While循環會在第一次調用時永久運行,從而阻塞和崩潰應用程序。 – alebianco