Я очень новичок в программировании в ActionScript. Недавно я узнал о функциях, и мое задание состояло в том, чтобы создать игру для угадывания, в которой пользователь вводит диапазон, и компьютер будет генерировать случайное число в этом диапазоне. Затем пользователь догадывается, что это за номер.Функция не возвращает значение actioncript угадающая игра
Моя основная проблема заключается в том, что я получаю сообщение об ошибке «Функция не возвращает значение» для функции 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', но вместо этого должен возвращать строковое значение. Ваша функция ничего не возвращает. –
Я голосую, чтобы закрыть это как простую опечатку - вы забыли положить оператор 'return string;' в свою функцию 'guessCorrect'. Мой совет: потратьте больше времени на работу с некоторыми учебниками по ActionScript, пока вы не поймете, что функции немного лучше. – Brian
Отсутствие возврата в этой функции не является даже основной проблемой. Этот цикл while заставит его работать навсегда при первом вызове, блокировании и сбое приложения. – alebianco