Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Начисление балов в тесте! (http://www.flasher.ru/forum/showthread.php?t=158159)

Freemanof 16.06.2011 02:33

Начисление балов в тесте!
 
Код AS1/AS2:

stop();
var score:Number = 0;
function es():Void{
score++;
nextFrame();
}
function no():Void{
nextFrame();
}
btn1.onPress = es;
btn2.onPress = btn3.onPress = btn4.onPress = no;

При этом коде идет начисление в +1 балл, а мне нужно сделать так, чтобы вопросы были не равновесны! Как этого добиться.... подскажите пожалуйста!

olexandr 16.06.2011 14:30

Код AS1/AS2:

switch (_currentFrame) {
  case 5: score+=2; break;
  case 10: score+=3; break;
  default: score+=1; break;
}

ответ в 5 и 10 кадре (вопросе) дадут 2 и 3 бала прироста соответственно, остальные все по 1

Freemanof 16.06.2011 14:51

спасибо! Респект!

Добавлено через 2 часа 6 минут
еще вопросик маленький!! возможно ли реализовать просмотр неправильных ответов без права исправления, просто как отчет!
спасибо за потраченное время!

olexandr 16.06.2011 23:39

заведите массив для неправильных ответов и складируйте туда номера кадров, где были неверные ответы
Код AS1/AS2:

var _arr:Array = [];
function no():Void{
  _arr.push(_currentframe);
  nextFrame();
}


Freemanof 17.06.2011 10:23

Вложений: 1
Цитата:

Сообщение от olexandr (Сообщение 1004106)
Код AS1/AS2:

switch (_currentFrame) {
  case 5: score+=2; break;
  case 10: score+=3; break;
  default: score+=1; break;
}

ответ в 5 и 10 кадре (вопросе) дадут 2 и 3 бала прироста соответственно, остальные все по 1

Что-то я погорячился с работоспособностью функции! не начисляет, а если и начисляет, то некорректно.
помогите не могу найти что не так!
плюс вопрос по массиву: Как сделать к нему обращение!
Спасибо за помощь!

Freemanof 17.06.2011 20:46

Код AS1/AS2:

stop();
var score:Number = 0;
function es10():Void{
score+=10;
nextFrame();
}
function es15():Void{
score+=15;
nextFrame();
}
function no():Void{
nextFrame();
}
btn1.onPress = es10;
btn2.onPress = btn3.onPress = btn4.onPress = no;
//а на следующем кадре
btn1.onPress = es15;
btn2.onPress = btn3.onPress = btn4.onPress = no;

Вот и получаются разные очки за ответы :)))))

Добавлено через 1 час 13 минут
В тесте 12 фреймов, на каждом вопрос.
Рандомный выбор вопросов по следующему коду
Код AS1/AS2:

var questions = []
 
for (var i = 0; i < 12; i++)
{
        questions[i] = i;
}
 
function nextQuestionNumber() : Number //
{
        var index = Math.floor(Math.random() * questions.length);
        return questions.splice(index, 1)[0];
}
// Кнопка перехода на следующий фрейм
gotoAndStop(nextQuestionNumber());

Когда все 12 фреймов проходят не происходит переход на фрейм с результатом теста.
Как дописать понять не могу!

И еще вопросик маленький-маленький... :) Как допустим сделать так, чтобы из 20 вопросов показало лишь 10 случайных, а затем на фрейм с результатом
Спасибо за портаченное время!

alex_195 17.06.2011 22:27

У тебя результат в 13 фрейме? А вобщем без разницы. Вначале заведи переменную и при попадании в новый твой рандомный кадр добавляй к этой переменной 1, если значение переменной будет 12 - команда перейти в 13 кадр.

Freemanof 17.06.2011 23:24

хм.... я не силен в коде, можно поподробнее!
P/S/ я только учусь....

alex_195 18.06.2011 12:11

Не знаю как у тебя происходит переход от кадра к кадру, но если автоматически,то в первом кадре пишешь:
Код AS1/AS2:

var n:Number = 0;
onEnterFrame = function() {
if(n>=12) {
_root.gotoAndStop(13);
}

и в каждом кадре с вопросом теста пишешь:
Код AS1/AS2:

n++

если же переход делаешь по кнопе, то для кнопки пишешь:
Код AS3:

кнопка.onRelease = function() {
твой рандомный переход по кадрам;
n++;
if(n>12) {
_root.gotoAndStop(13);
}


Freemanof 19.06.2011 01:25

Последний вопросик!
Код AS1/AS2:

var questions = []
 
for (var i = 0; i <= 13 ; i++)
 
{
        questions[i] = i;
}

в этом коде диапазон фреймов с 1 по 13, т.е. меньше 13 а как сделать от 2 до 13?????

Добавлено через 11 часов 32 минуты
тьфу.... все разобрался! i=2 )))
Спасибо за помощь! :)


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

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