【问题标题】:Coverting codes into Array but same output将硬币转换为数组但输出相同
【发布时间】:2017-01-12 02:16:06
【问题描述】:

我目前正在使用 as3 进行识别测验,我这里有一个代码实际上是通过按钮工作的,我只想问是否可以将我的代码转换为数组语句但最终得到相同的输出?我真的很喜欢让我的代码成为一个数组,因为它非常灵活,谢谢大家

   var answer:String = answer.text.toLowerCase();
   if (answer == "allan joshua mccartney" || answer =="mccartney" 
   || answer == "allan" || answer =="joshua" || answer == "joshua mccartney" || answer =="allan joshua" || answer == "allan mccartney") {
score = score +1;
gotoAndStop(2);

正如您所看到的,我的代码正在运行,但是完成一个识别测验需要非常长的代码,因为有很多可能的答案,我听说数组是处理这一堆可能答案的最佳方法。谢谢大家

【问题讨论】:

  • 我认为您没有通过 ActionScript 教程和学习。我的个人建议是republicofcode.com
  • 我强烈建议您先学习基本知识,然后开始制作应用程序。(如果您到目前为止还没有)

标签: arrays actionscript-3 flash if-statement


【解决方案1】:

你的答案列表:

var answersList:Array=new Array("answer1","answer2","answer3");//the list of correct answers

然后:

var answer:String = answer.text.toLowerCase();
if(answersList.indexOf(answer)>-1){//check if the answer is in the answers list
    score++;// the short form of "score=score +1;
    //the rest of the code

编辑

检查答案是否包含多个答案:

使用循环检查answersList中的项目:

var numAnswers:uint=0;//number of answers found in the answer.
for(var i:uint=0;i<answerslist.length;i++){
    if(answer.indexOf(answersList[i])>-1){
        numAnswers++;
    }
}
numAnswers;//now this variable contains number of answers found in the answer.

当然,它没有那么复杂并且有一些问题,例如它的答案可能包含额外的字符,这些字符不会被此代码跟踪。或者一些不同的答案可能是彼此的一部分,并且不会被跟踪。你应该自己做。

我希望这会有所帮助。

【讨论】:

  • 先生,对不起,我实际上是 Flash 新手,这是我在学校的项目。我会试试的,先生,我会尽快更新你,谢谢
  • 不客气。也希望你早日成为 ActionScript 大师。
  • 杀手,先生,请问我是否同时输入了 answer1 和 answer2,例如 answe1 是 john answer2 是 paul,我输入了 john paul。仍然会使答案正确吗?
  • @JarvisLorenzD.PAlad 在这个例子中不,它不会。但在编程中,一切皆有可能。我编辑了我的答案以使其成为可能。
  • 哇,先生,你真棒,我真的很佩服你在编程方面你是如此灵活的人。谢谢
猜你喜欢
  • 2019-07-08
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
相关资源
最近更新 更多