Actionscript 3 函数不返回值actionscript猜测游戏

Actionscript 3 函数不返回值actionscript猜测游戏,actionscript-3,Actionscript 3,我对actionscript编程非常陌生。我最近刚刚学习了函数,我的任务是创建一个猜测游戏,用户输入一个范围,计算机将在这个范围内生成一个随机数。然后用户猜测数字是多少 我的主要问题是,我得到了函数guessCorrect()的错误“函数不返回值”。我不明白为什么会发生这种情况,也不知道如何解决。此外,如果您碰巧看到任何其他错误,请告诉我。非常感谢你的帮助 我试过了,但得到了同样的结果 这是我的密码: btnGuess.addEventListener(MouseEvent.CLICK, g

我对actionscript编程非常陌生。我最近刚刚学习了函数,我的任务是创建一个猜测游戏,用户输入一个范围,计算机将在这个范围内生成一个随机数。然后用户猜测数字是多少

我的主要问题是,我得到了函数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;
}
b语言添加事件列表(MouseEvent.CLICK,猜测数字);
//全局变量
var计数=0;
var-myGuess:int;
答案:int;
var-highNumber:int;
变量lowNumber:int;
函数猜测数(e:MouseEvent):void{
//设置变量
highNumber=int(txtinHighValue.text)
lowNumber=int(txtinLowValue.text)
答案=随机整数(高数、低数);
myGuess=int(txtinGuess.text);
lblOutput.text=guessCorrect(myGuess、Answer、count);
}
函数randomWholeNumber(高编号:int,低编号:int):int
{
返回Math.floor((高数字-低数字+1)*Math.random()+低数字);
}
**函数guessCorrect(myGuess:int,Answer:int,count:int):字符串{
while(我猜!=答案){
如果(myGuess<答案){
lblOutput.text=“猜测到低位-重试!”
计数++
}
else if(myGuess>答案){
lblOutput.text=“猜中高度-再试一次!”
计数++
}
else if(myGuess==答案){
lblOutput.text=“这是一场比赛,你赢了!”
计数++
}
}
}**
lblGuesses.text=“猜测:+=count
btnNewGame.addEventListener(MouseEvent.CLICK,GuessNumber);{
计数=0;
highNumber=0;
lowNumber=0;
}

当函数以非
:void
结束时,例如您的
:int
需要有
返回
行。看起来像:

function myFunction():int
{
    var myVar: int = 5;
    return myVar;
}

guessCorrect
直接影响
lblOutput.text
,但应返回字符串值。你的函数没有返回任何东西。我投票决定以一个简单的输入错误来结束它——你忘了输入一个
返回字符串guessCorrect
函数中的code>语句。我的建议是:花更多的时间学习一些Actionscript教程,直到你更好地理解函数为止。函数中缺少的返回甚至不是主要问题。while循环将使它在第一次调用时永远运行,阻塞并崩溃应用程序。