Please or Регистрация to create posts and topics.

Как создать тест?

12

Проштудировала весь форум и руководство пользователя, но никак не получается создать нужный мне тест.

В первом параграфе у меня:

points = 0;
\ <hr><center>ЗАДАНИЕ I</center><hr>
\ <br>Что входит в состав литосферы Земли?
\ а) [[ верхний слой мантии Земли| ЗАДАНИЕ 2 {points = points+0}]]
\ б) [[ земная кора и нижняя часть мантии Земли; | ЗАДАНИЕ 2 {points = points+0}]]
\ в) [[ нижний слой мантии Земли; | ЗАДАНИЕ 2 {points = points+0}]]
\ г) [[ земная кора и верхняя часть мантии Земли | ЗАДАНИЕ 2 {points = points+1}]]

Во втором параграфе:

\ <hr><center> ЗАДАНИЕ II </center><hr>
\ Литосферу называют…
\ а) [[внутренним слоем Земли; |ЗАДАНИЕ 3 {points = points+0}]]
\ б) [[твердой оболочкой Земли; |ЗАДАНИЕ 3 {points = points+1}]]
\ в) [[внешним слоем Земли; |ЗАДАНИЕ 3 {points = points+0}]]
\ г) [[воздушной оболочкой Земли; |ЗАДАНИЕ 3 {points = points+0}]]

И так далее в последнем я получаю количество набранных баллов.

print ('Количество набранных баллов: '+points);
\ <br>
if (points >= 1 && points <= 20) {
\ Не плохо
} else if (points >= 21 && points <= 40) {
\ Хорошо
} else if (points >= 41 && points <= 60) {
\ Отлично
} else {
\ Молодец!
}

Это всё хорошо, но хотелось бы, чтобы игрок сразу видел правильно или не правильно он ответил. Может можно как-то подсветить текст красным, если не верно, зелёным, если верно.  А то просто перебрасывает на новый параграф и результат виден только в конце.

Если не трудно, помогите новичку

И ещё есть куча вопросов, но похоже на форуме долго никто не задерживается

 

Можно попробовать так:

points = 0;
var ссылка = link("земная кора и верхняя часть мантии Земли",function() {
points = points+1
message("Это правильный ответ! <br> [[следующий вопрос|ЗАДАНИЕ 2]]");
});
\ <hr><center>ЗАДАНИЕ I</center><hr>
\ <br>Что входит в состав литосферы Земли?
\ а) [[ верхний слой мантии Земли| ЗАДАНИЕ 2 {points = points+0}]]
\ б) [[ земная кора и нижняя часть мантии Земли; | ЗАДАНИЕ 2 {points = points+0}]]
\ в) [[ нижний слой мантии Земли; | ЗАДАНИЕ 2 {points = points+0}]]
print("г) " + ссылка);

Спасибо!

Хоть Вы откликнулись!

А можно еще такое сообщение вывести, если ответ не верный? (т.е. если правильно - одно сообщение, если не правильно - второе сообщение).

Вот доработанный код трех параграфов:

 

Первый, с вопросами:

points = 0;
ответ_получен_1 = 0;

var ссылка_правильно = link("земная кора и верхняя часть мантии Земли",function() {
popup("правильно");
});
var ссылка_неправильно_1 = link("верхний слой мантии Земли",function() {
popup("неправильно");
});
var ссылка_неправильно_2 = link("земная кора и нижняя часть мантии Земли",function() {
popup("неправильно");
});
var ссылка_неправильно_3 = link("нижний слой мантии Земли",function() {
popup("неправильно");
});
\ <hr><center>ЗАДАНИЕ I</center><hr>
\ <br>Что входит в состав литосферы Земли?
print("а) " + ссылка_неправильно_1);
print("<br>б) " + ссылка_неправильно_2);
print("<br>в) " + ссылка_неправильно_3);
print("<br>г) " + ссылка_правильно);

Второй, для правильных ответов (название параграфа: правильно):

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 2]].");
} else {
points = points+1;
ответ_получен_1 = 1;
print("Это правильный ответ, переходите к [[следующему|ЗАДАНИЕ 2]].");
}

Третий, для неправильных (название параграфа: неправильно):

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 2]].");
} else {
points = points-1;
ответ_получен_1 = 1;
print("Это неправильный ответ, переходите к [[следующему|ЗАДАНИЕ 2]].");
}

Цитата: play-and-study от 21.08.20, 19:32

Вот доработанный код трех параграфов:

 

Первый, с вопросами:

points = 0;
ответ_получен_1 = 0;

var ссылка_правильно = link("земная кора и верхняя часть мантии Земли",function() {
popup("правильно");
});
var ссылка_неправильно_1 = link("верхний слой мантии Земли",function() {
popup("неправильно");
});
var ссылка_неправильно_2 = link("земная кора и нижняя часть мантии Земли",function() {
popup("неправильно");
});
var ссылка_неправильно_3 = link("нижний слой мантии Земли",function() {
popup("неправильно");
});
\ <hr><center>ЗАДАНИЕ I</center><hr>
\ <br>Что входит в состав литосферы Земли?
print("а) " + ссылка_неправильно_1);
print("<br>б) " + ссылка_неправильно_2);
print("<br>в) " + ссылка_неправильно_3);
print("<br>г) " + ссылка_правильно);

Второй, для правильных ответов (название параграфа: правильно):

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 2]].");
} else {
points = points+1;
ответ_получен_1 = 1;
print("Это правильный ответ, переходите к [[следующему|ЗАДАНИЕ 2]].");
}

Третий, для неправильных (название параграфа: неправильно):

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 2]].");
} else {
points = points-1;
ответ_получен_1 = 1;
print("Это неправильный ответ, переходите к [[следующему|ЗАДАНИЕ 2]].");
}

О, спасибо!!!

Я уже хотела бросить эту затею с игрой, что-то у меня всё идёт не так.

Благодарю

Помогите, пожалуйста, найти ошибку!

Сделала всё, по рабочему коду play-and-study

Но что-то пошло не так. Понимаю, что отнимаю время на мою тягомотину из 30 вопросов, но всё же, может подскажите. Очень нужно для конкурса завершить игру, а я ёще на начальном этапе застряла.

Всего 30 вопросов, сделала 30 параграфов правильно и 30 неправильно (т.к. потом хочу повесить на каждую ветку бонусы). В Беларуси 10 балльная система оценивания, по шкале из 30 заданий каждое количество баллов приравнивается к отметке (на последнем скрине).

При подсчете количества баллов - выдаёт неверный результат.

Пытаюсь показать на скринах

 

Загруженные файлы:
  • Вам нужно войти, чтобы просматривать прикрепленные файлы..

Да помогите, же!

Уже и глобальную переменную пробовала, всё равно при подсчёте выдаёт количество набранных баллов 1.

Что я делаю не так?

1) Параграф "Задание 1"

points = 0;
ответ_получен_1 = 0;

var ссылка_правильно = link("земная кора и верхняя часть мантии Земли",function() {
popup("правильно");
});
var ссылка_неправильно_1 = link("верхний слой мантии Земли",function() {
popup("неправильно");
});
var ссылка_неправильно_2 = link("земная кора и нижняя часть мантии Земли",function() {
popup("неправильно");
});
var ссылка_неправильно_3 = link("нижний слой мантии Земли",function() {
popup("неправильно");
});
\ <hr><center>ЗАДАНИЕ I</center><hr>
\ <br>Что входит в состав литосферы Земли?
print("а) " + ссылка_неправильно_1);
print("<br>б) " + ссылка_неправильно_2);
print("<br>в) " + ссылка_неправильно_3);
print("<br>г) " + ссылка_правильно);

2) Параграф "ПРАВИЛЬНО"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 2]].");
} else {
points = points+1;
ответ_получен_1 = 1;
print("Это правильный ответ, переходите к [[следующему|ЗАДАНИЕ 2]].");
}

3) Параграф "НЕПРАВИЛЬНО"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 2]].");
} else {
points = points-1;
ответ_получен_1 = 1;
print("Это неправильный ответ, переходите к [[следующему|ЗАДАНИЕ 2]].");
}

4) Параграф "Задание 2"

points = 0;
ответ_получен_1 = 0;
var ссылка_правильно = link("Осадочный, «базальтовый»",function() {
popup("правильно2");
});
var ссылка_неправильно_1 = link("Осадочный, «минеральный, «базальтовый»",function() {
popup("неправильно2");
});
var ссылка_неправильно_2 = link("Осадочный, «гранитный», «базальтовый»",function() {
popup("неправильно2");
});
var ссылка_неправильно_3 = link("Осадочный, «гранитный»",function() {
popup("неправильно2");
});
\ <hr><center>ЗАДАНИЕ 2</center><hr>
\ <br> Из каких слоев состоит океаническая кора?
print("а) " + ссылка_неправильно_1);
print("<br>б) " + ссылка_неправильно_2);
print("<br>в) " + ссылка_неправильно_3);
print("<br>г) " + ссылка_правильно);

5) Параграф "ПРАВИЛЬНО2"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 3]].");
} else {
points = points+1;
ответ_получен_1 = 1;
print("Это правильный ответ, переходите к [[следующему|ЗАДАНИЕ 3]].");
}

6) Параграф "НЕПРАВИЛЬНО2"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 3]].");
} else {
points = points-1;
ответ_получен_1 = 1;
print("Это неправильный ответ, переходите к [[следующему|ЗАДАНИЕ 3]].");
}

7) Параграф "Задание 3"

points = 0;
ответ_получен_1 = 0;
var ссылка_правильно = link("12 баллов",function() {
popup("правильно3");
});
var ссылка_неправильно_1 = link("100 баллов",function() {
popup("неправильно3");
});
var ссылка_неправильно_2 = link("10 баллов",function() {
popup("неправильно3");
});
var ссылка_неправильно_3 = link("1000 баллов",function() {
popup("неправильно3");
});
\ <hr><center>ЗАДАНИЕ 3</center><hr>
\ <br> По какой сейсмической шкале оценивается степень разрушительного действия на поверхности?
print("а) " + ссылка_неправильно_1);
print("<br>б) " + ссылка_неправильно_2);
print("<br>в) " + ссылка_неправильно_3);
print("<br>г) " + ссылка_правильно);

8) Параграф "ПРАВИЛЬНО3"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 4]].");
} else {
points = points+1;
ответ_получен_1 = 1;
print("Это правильный ответ, переходите к [[следующему|ЗАДАНИЕ 4]].");
}

9) Параграф "НЕПРАВИЛЬНО3"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[следующему|ЗАДАНИЕ 4]].");
} else {
points = points-1;
ответ_получен_1 = 1;
print("Это неправильный ответ, переходите к [[следующему|ЗАДАНИЕ 4]].");
}

10) Параграф "Задание 4"

points = 0;
ответ_получен_1 = 0;
var ссылка_правильно = link("Жерло",function() {
popup("правильно4");
});
var ссылка_неправильно_1 = link("Кратер",function() {
popup("неправильно4");
});
var ссылка_неправильно_2 = link("Боковой кратер",function() {
popup("неправильно4");
});
var ссылка_неправильно_3 = link("Остывающая лава",function() {
popup("неправильно4");
});
\ <hr><center>ЗАДАНИЕ 4</center><hr>
\ <br> Какая часть вулкана обозначена на рисунке знаком вопроса?
print("а) " + ссылка_неправильно_1);
print("<br>б) " + ссылка_неправильно_2);
print("<br>в) " + ссылка_неправильно_3);
print("<br>г) " + ссылка_правильно);

11) Параграф "ПРАВИЛЬНО4"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[итогам|итог]].");
} else {
points = points+1;
ответ_получен_1 = 1;
print("Это правильный ответ, переходите к [[итогам|итог]].");
}

12) Параграф "НЕПРАВИЛЬНО4"

if(ответ_получен_1 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[итогам|итог]].");
} else {
points = points-1;
ответ_получен_1 = 1;
print("Это неправильный ответ, переходите к [[итогам|итог]].");
}

13) Параграф "итог"

print ('Количество набранных баллов: '+points);
\ <br>
if (points >= 1 && points <= 2) {
\ Не плохо
} else if (points >= 3 && points <= 4) {
\ Хорошо
} else {
}

Переменная ответ_получен_1  это для первого вопроса. Для второго будет ответ_получен_2, для третьего ответ_получен_3 и т.д.

Цитата: play-and-study от 14.09.20, 08:49

Переменная ответ_получен_1  это для первого вопроса. Для второго будет ответ_получен_2, для третьего ответ_получен_3 и т.д.

Так будет только в параграфах с вопросами, или и в параграфах "правильно", "неправильно"?

Параграф "Задание 4"

points = 0;
ответ_получен_4 = 0;

Параграф "ПРАВИЛЬНО4"

if(ответ_получен_4 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[итогам|итог]].");
} else {
points = points+1;
ответ_получен_4 = 1;

Параграф "НЕПРАВИЛЬНО4"

if(ответ_получен_4 == 1) {
print("Вы уже ответили на этот вопрос, переходите к [[итогам|итог]].");
} else {
points = points-1;
ответ_получен_4 = 1;

Пробовала по-разному, всё равно в ответе результат 1 балл

Уберите "points = 0;" из всех заданий, кроме первого.

12