Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.06.2010, 01:04
FreeLion вне форума Посмотреть профиль Отправить личное сообщение для FreeLion Найти все сообщения от FreeLion
  № 1  
Ответить с цитированием
FreeLion

Регистрация: Jun 2010
Адрес: Сосковская область, Кашира
Сообщений: 5
По умолчанию викторина. начисление баллов за ответы.

Здравствуйте, у меня такой вопрос: я сейчас пишу викторину в флэш и встала такая задача, это начисление баллов за ответы. Пока совершенно не представляю как реализовать такую функцию. Может кто подскажет?

Старый 21.06.2010, 07:59
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 2  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
Множество вопросов, у каждого вопроса подмножество ответов и вес ответа в баллах (0/1 или как там у вас будет). Как реализовать - только ваше предпочтение - самое простое массивы.

Старый 21.06.2010, 11:34
FreeLion вне форума Посмотреть профиль Отправить личное сообщение для FreeLion Найти все сообщения от FreeLion
  № 3  
Ответить с цитированием
FreeLion

Регистрация: Jun 2010
Адрес: Сосковская область, Кашира
Сообщений: 5
Ну у меня был самый просотой вариант -это назначать за правельный ответ 1 балл и минусовать на 1 балл за не правельный. Но мои познания в коди совершенно нулевые...поэтому даже "массив" мне не о чем не говорит. Если не сложно подскажте как это сделать подробнее.

П.с. У меня на каждый ответ стаит баттон видимо на который нужно вешать или + или - балла.

Старый 21.06.2010, 13:43
fessor вне форума Посмотреть профиль Отправить личное сообщение для fessor Найти все сообщения от fessor
  № 4  
Ответить с цитированием
fessor

Регистрация: Oct 2009
Сообщений: 101
вообще-то тестов с отрицательными результатами я не видел, так что неправильный ответ=0, правильный =+1

теперь к задаче - нужно текстовое поле с вопросом и 4 кнопки ответов (с динамическим текстом внутри

массив вопросов и массив ответов
Код AS1/AS2:
var question:Array=["Вопрос 1","Вопрос 2",...,"Вопрос последний"];
var answers:Array=["ответ 1.1","ответ 1.2","ответ 1.3",...,"Вопрос последний"];
//ответов в 4 раза больше чем вопросов
шаг первый задать вопрос из списка и показать варианты ответов
шаг второй по нажатию на кнопку проверить правильный ответ или нет и перейти к следующему вопросу (шаг первый)

Старый 21.06.2010, 13:50
NoCD вне форума Посмотреть профиль Отправить личное сообщение для NoCD Найти все сообщения от NoCD
  № 5  
Ответить с цитированием
NoCD
 
Аватар для NoCD

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
Вот мое виденье викторины:
Вложения
Тип файла: zip victorina.zip (7.0 Кб, 63 просмотров)

Старый 21.06.2010, 14:23
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 6  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
fessor, непонятно каким образом хранится массив ответов - все ответы на все вопросы в одномерном массиве?

первое что приходит на ум - сделал бы вот так:

Код AS1/AS2:
var tests:Array = [
["Question1", [{answer:"Answer1_1", flag:0}, {answer:"Answer1_2", flag:0}, {answer:"Answer1_3", flag:1}]],
["Question2", [{answer:"Answer2_1", flag:0}, {answer:"Answer2_2", flag:1}]],
["Question3", [{answer:"Answer3_1", flag:1}, {answer:"Answer3_2", flag:0}, {answer:"Answer3_3", flag:0}, {answer:"Answer3_4", flag:0}]]
];
 
for (var i:Number=0;i<tests.length;i++){
	var question:String = tests[i][0];
	var asnwersArray:Array = tests[i][1];
	trace("Вопрос: " + question);
	for (var j:Number=0; j<asnwersArray.length;j++){
		trace("        Вариант ответа: "+asnwersArray[j].answer+" (правильный "+(asnwersArray[j].flag==1 ? "ДА" : "НЕТ" )+")");
	}
}
и как результат:
Код:
Вопрос: Question1
        Вариант ответа: Answer1_1 (правильный НЕТ)
        Вариант ответа: Answer1_2 (правильный НЕТ)
        Вариант ответа: Answer1_3 (правильный ДА)
Вопрос: Question2
        Вариант ответа: Answer2_1 (правильный НЕТ)
        Вариант ответа: Answer2_2 (правильный ДА)
Вопрос: Question3
        Вариант ответа: Answer3_1 (правильный ДА)
        Вариант ответа: Answer3_2 (правильный НЕТ)
        Вариант ответа: Answer3_3 (правильный НЕТ)
        Вариант ответа: Answer3_4 (правильный НЕТ)

Старый 21.06.2010, 16:13
FreeLion вне форума Посмотреть профиль Отправить личное сообщение для FreeLion Найти все сообщения от FreeLion
  № 7  
Ответить с цитированием
FreeLion

Регистрация: Jun 2010
Адрес: Сосковская область, Кашира
Сообщений: 5
У меня два вопроса к Вам, дорогие профи

1. Это все же как реализовать всю туже функцию начисления баллов в данной среде

2. Есть ли возможность оптимизации данного проекта в более компакный и упрощенный вид

Вот ссылка на сам файл http://narod.ru/disk/22090403000/Viktorina.fla.html


Заранее спасибо за любые ответы и предложения.

Если что вот мой скайп : "magic_mag_"


Последний раз редактировалось FreeLion; 21.06.2010 в 16:58.
Старый 23.06.2010, 00:36
fessor вне форума Посмотреть профиль Отправить личное сообщение для fessor Найти все сообщения от fessor
  № 8  
Ответить с цитированием
fessor

Регистрация: Oct 2009
Сообщений: 101
Juice_Green огромное спасибо за код, теперь я знаю как без многострочного объявления добавлять вложенные переменные в массив!

FreeLion посмотрел исходник... вам будет сложно понять что от вас тут хотят. Судя по коду в кнопках (в каждой из нескольких десятков) и отдельным кадрам - вопросам с вариантами ответов о программировании есть только отдаленное представление.
Код AS1/AS2:
//в самом первом кадре объявите переменную
var win:Number=0;
//потом, ТОЛЬКО в кнопках правильных ответов (одна на слайд) напишите
win++
//в конце теста сделайте проверку на прохождение теста
if(win>10){
 //переходим к экрану для победителей
 gotoAndPlay(150)
}else{
 //переходим к экрану для проигравших
 gotoAndPlay(170)
}
и начните читать хоть какие-нибудь учебники по программированию (объектно-ориентированное не пробуйте - это следующий шаг)


Последний раз редактировалось fessor; 23.06.2010 в 00:57.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:12.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.