예제 #1
0
void Questions::addQuest(Quest& quest)
{
    if (!quest.valid())
        return;
    int level = quest.level - 1;
    Q_ASSERT(level < MAX_QUEST_LIST && level >= 0);
    questVector.push_back(quest);
}
예제 #2
0
void Questions::readQuestion(QXmlStreamReader& load) {
    Quest q;
    //wyszukiwanie elementów w pętli
    do {
            if (load.isStartElement()) {
                if (load.name() == "level") {
                    q.level = load.readElementText().toInt();
                }
                else if (load.name() == "question") {
                    q.question = load.readElementText();
                }
                else if (load.name() == "a") {
                    q.A = load.readElementText();
                }
                else if (load.name() == "b") {
                    q.B = load.readElementText();
                }
                else if (load.name() == "c") {
                   q.C = load.readElementText();
                }
                else if (load.name() == "d") {
                    q.D = load.readElementText();
                }
                else if (load.name() == "proper") {
                     q.correct = load.readElementText().at(0); //nie może być puste!
                }
                else {
                    //qDebug() << load.name();
                }
            }

    } while (load.readNext() != QXmlStreamReader::EndElement && load.name().toString() != "quest");
    //jeżeli prawidłowe pytanie dodaje do odpowiedniej listy
    if (q.valid()) {
        addQuest(q);
    }
    else {
        qDebug() << "Quest nieprawidłowy! Question::readQuest";
        //qDebug() << questToString(q);
    }

}