2016-07-22 5 views
-1

Я очень новичок в программировании в 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; 
} 
+0

'guessCorrect' прямо влияет на' lblOutput.text', но вместо этого должен возвращать строковое значение. Ваша функция ничего не возвращает. –

+0

Я голосую, чтобы закрыть это как простую опечатку - вы забыли положить оператор 'return string;' в свою функцию 'guessCorrect'. Мой совет: потратьте больше времени на работу с некоторыми учебниками по ActionScript, пока вы не поймете, что функции немного лучше. – Brian

+0

Отсутствие возврата в этой функции не является даже основной проблемой. Этот цикл while заставит его работать навсегда при первом вызове, блокировании и сбое приложения. – alebianco

ответ

0

Когда функция заканчивается в нечто иное, чем :void, такие как ваши :int там потребности должна быть линия return. Понравилось:

function myFunction():int 
{ 
    var myVar: int = 5; 
    return myVar; 
} 
Смежные вопросы