Другие возможности
Хотя цель игры заключается в отображении только 10 вопросов, ни одна строчка кода не ограничивает их число. Можно запросить большее или меньшее количество вопросов из файла Flashquiz.txt.
Вместе с выводом строки пользователю можно показывать некое сообщение. Например, при отображении строчки "8 out of 10" можно подбодрить пользователя следующим образом: "You know your planets!" (Вы знаете планеты!), а при двух правильных ответах из 10 будет выводиться сообщение "Go back to school" (Снова идите в школу).
Викторина с учетом времени
Исходный файл: Flashtrivia.fla
Теперь, когда у вас есть работающая программа викторины, можно кое-что добавить и создать более развернутый вариант викторины. Эта игра отличается от предыдущей совсем немногим [15] . Вы добавите более сложный подсчет очков, предоставляя игроку возможность набирать большее количество очков за быстроту, а также позволяя несколько раз отвечать на один вопрос и не терять очки за неправильный ответ.
Другая возможность – это случайность вывода ответов, то есть ответы будут перемешиваться, вследствие чего будут появляться на экране в произвольном порядке. Это упростит создание списка вопросов, так как первый ответ в файле данных всегда будет правильным ответом, но он не всегда будет отображаться для пользователя на первом месте.
На рис. 12.4 представлен основной кадр игры из ролика Flashtrivia.fla.
Рисунок 12.4. В этой игре при начислении очков принимается во внимание быстрота ответа
Задача проекта
Цель проекта состоит в создании развернутого варианта викторины, основанного на предыдущем ролике. Ответы будут представлены не в одной и той же последовательности, а каждый раз будут отображаться в произвольном порядке.
Потенциально каждый вопрос стоит 1000 очков. Но чем дольше пользователь думает над ответом, тем меньше очков получает. Если пользователь дает неправильный ответ, он теряет определенное число возможных очков. Когда же, наконец, пользователь даст правильный ответ, количество оставшихся возможных очков будет прибавлено к его счету.
Подход
Как и в предыдущем ролике, вопросы и ответы будут загружены из внешнего текстового файла. Однако текстовый файл будет немного отличаться. В предыдущей игре ответы были представлены в определенном порядке, и дополнительный элемент указывал, какой ответ верный. Сейчас же правильный ответ всегда будет располагаться первым, а далее будут следовать три неправильных ответа. Такое допустимо, так как ответы все равно будут перемешаны. Вот несколько строк из текстового файла flashtrivia.txt:
questions=The world’s first computer bug was actually a real bug
stuck in an early computer. What type of bug was it?:
Moth;Beetle;Fly;Worm:
Which is the world’s largest Island?:
Greenland;Iceland;Australia;New Zealand:
Besides humans, what other animal also has individual
fingerprints?:Koala Bears;Apes;Snakes;Frogs:
Вопросы=Какого типа был первый компьютерный вирус?
:Моль;Жук;Муха;Червь:
Как назывется самый большой остров в мире?
:Гренландия;Исландия;Австралия;Новая Зеландия:
Кроме людей, какие еще животные имеют уникальные отпечатки пальцев?
:Коалы;Обезьяны;Змеи;Лягушки.
...
Внимание!
Так же, как и при работе над предыдущим проектом, будьте внимательны: не вставьте нечаянно пустую строчку в конце текстового файла. Она появится, если вы нажмете клавишу Return или Enter после ввода последнего вопроса. Если в конце текстового файла будет вставлена пустая строка, она будет рассматриваться как одиннадцатый вопрос.
Перед тем как задается вопрос, ответы в новом массиве перемешиваются случайным образом. Правильный ответ может оказаться по счету любым из четырех вариантов. Его положение присвоено некоторой переменной.
Здесь будет использоваться такая же анимация, как и в предыдущей игре, но немного ускоренная. Вопрос будет появляться сразу же, без анимации, но ответы будут быстро "въезжать" справа. Количество возможных очков будет уменьшаться только после того, как все четыре ответа окажутся на месте.
Когда пользователь выбирает неправильный ответ, количество возможных очков уменьшается на определенную величину, но и выбранный ответ исчезает.
Подготовка ролика
В этом ролике четыре кадра. Первый загружает вопросы и ответы и помещает их в массив. Второй кадр содержит информацию о правилах игры.
В третьем кадре начинается само действие, отображается вопрос, четыре ответа, кнопка рядом с каждым ответом, количество возможных очков и счет, оба последних текстовых поля – динамические, первое связано с переменной potentialPoints,а второе – с переменной score.
Читать дальше
Конец ознакомительного отрывка
Купить книгу