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