как случайные вопросы во Flash CS3 - PullRequest
0 голосов
/ 18 октября 2011

Я создал игру с множественным выбором, используя flash cs5.созданная мною программа работает, но она не показывает того, что я ожидаю, чтобы это произошло.


Я сталкиваюсь с несколькими ошибками (которые на самом деле не являются ошибками в кодах).Вот некоторые из этих так называемых ошибок:

  1. вы видите, я хотел бы, чтобы мои вопросы, взятые из файла xml, были случайными, я знаю, что код, который должен использоваться, var random=Math.ceil(Math.random()*30); При этом он должен случайным образом 1 число только из вопросов в XML, что в общей сложности 30.я не знаю, где и как я должен вставить код.

  2. В игре игрок должен ответить на вопрос правильно, если ответ правильный, он должен перейти на табло.иначе он должен показать следующий вопрос и посчитать неправильный ответ. 5% будут вычтены из общей оценки за каждый неправильный ответ.но проблема в том, показывает ли он правильный или неправильный ответ, он все еще не идет на табло

  3. я еще не вставил таймер, которыйважно / необходимо для игры.Я все еще пытаюсь выяснить, как это сделать, так как таймер укажет вычет в счете.вот мысль: например, в каждой игре (или битве) определенное количество времени будет уделяться игроку (скажем, 20 секунд), игрок должен правильно ответить на вопросы в течение установленного срока.ответил правильно, он должен перейти к следующему кадру (показывает счет), иначе будет вычтено 5% от общего балла

Я думаю, я мог бы справиться с таймером, но яМне действительно понадобится ваша помощь на первых 2, мой партнер все еще очень новичок во флэш.мы уже потратили много времени на отладку кода, но не смогли найти решение проблемы.заранее спасибо за помощь.

Вот некоторые коды в программе (на самом деле основной код)

function QuizItem (question) {this.question = question;this.answers = new Array ();this.numOfAnswers = 0;this.correctAnswer = 0;this.getQuestion = function () {вернуть this.question;} this.addAnswer = function (answer, isCorrectAnswer) {this.answers [this.numOfAnswers] = answer;if (isCorrectAnswer) this.correctAnswer = this.numOfAnswers;this.numOfAnswers ++;}

this.getAnswer=function(answerNumberToGet)
{
    return this.answers[answerNumberToGet];
}

this.getCorrectAnswerNumber=function()
{
    return this.correctAnswer;
}

this.checkAnswerNumber=function(userAnswerNumber)
{
    if (userAnswerNumber==this.getCorrectAnswerNumber())
        gotoAndPlay("Correct");
    else
        gotoAndPlay("Wrong");
}
this.getNumOfAnswers=function()
{
    return this.answers.length; 
}
 }

 function onQuizData(success)
 {
var quizNode=this.firstChild;
var quizTitleNode=quizNode.firstChild;  
title=quizTitleNode.firstChild.nodeValue;

var i=0;
// <items> follows <title>
var itemsNode=quizNode.childNodes[1];
while (itemsNode.childNodes[i])
{
    var itemNode=itemsNode.childNodes[i];
    // <item> consists of  <question> and one or more <answer>
    // <question> always comes before <answer>s (node 0 of <item>)
    var questionNode=itemNode.childNodes[0];
    quizItems[i]=new QuizItem(questionNode.firstChild.nodeValue);
    var a=1;        
    // <answer> follows <question>
    var answerNode=itemNode.childNodes[a++];
    while (answerNode)
    {
        var isCorrectAnswer=false;
        if (answerNode.attributes.correct=="y")
            isCorrectAnswer=true;
        quizItems[i].addAnswer(answerNode.firstChild.nodeValue, isCorrectAnswer);
        // goto the next <answer>
        answerNode=itemNode.childNodes[a++];
    }
    i++;
}
gotoAndPlay("Start");
 }

 var quizItems=new Array();
 var myData=new XML();
 myData.ignoreWhite=true;
 myData.onLoad=onQuizData;
 myData.load("quiz1.xml");
 stop();

1 Ответ

0 голосов
/ 18 октября 2011

У вас здесь много проблем.Я расскажу только о том, как вы должны загружать XML-тест и общую процедуру отображения случайного элемента из списка вопросов:

...