PS: Все примеры внизу написаны не в 1 строчку, для вашего понимания и для того, чтобы можно было скопировать код и вставить его, достаточно при создании задания, убрать галку для "Включить автоперенос строк".
Здесь финальный сектор #13 должен быть объединением 4-х ячеек: #9, #10, #11, #12. Для олимпийки с объединением 3-х ячеек в одну, финальный сектор должен быть объединением 6-и ячеек.
Здесь финальный сектор #15 должен быть объединением 2-х ячеек: #13, #14. Для олимпийки с объединением 3-х ячеек в одну, вначале будут объеденены 3-и ячейки в 1 с каждой стороны, а финальная так же будет получена из 2-х.
- Олимпийка для ШТУРМОВОЙ игры:
<div class='olymp_wrapper' data-id='msh1'></div>
3. Генерация олимпийки.
Ниже будет создана олимпийка для 8 стартовых секторов, с объединением 2-х ячеек.
<script>createSimpleOlymp()</script>
аналогично
<script>createSimpleOlymp(8)</script>
Если мы хотим создать олимпийку с другим количеством стартовых секторов (не 8), тогда просто указываем любое число кратное 2-м.
Например, ниже будет создана олимпийка с 1024 стартовыми секторами:
<script>createSimpleOlymp(1024)</script>
Если нам нужна олимпийка с объединением 3-х ячеек в 1, тогда нам нужно указать число кратное 3-м, и число объединяемых ячеек.
Например, ниже будет создана олимпийка с 9-ю стартовыми секторами.
<script>createSimpleOlymp(9, 3)</script>
Так же можно создать олимпийку и с объединением 4-х ячеек в 1-у и т.д.
4. Две олимпийки в одном задании.
Для этого нам нужны 2-е div-обертки разного типа, для: бонусов и секторов. И две генерации олимпийки. Номера олимпиек определяются их добавлением в задании.
Например, ниже будут созданы 2-е олимпийки, для: бонусов и секторов. 1-я олимпийка для бонусов, 2-я - для секторов. Потому что 1-я div-обертка для бонусов, а за ней идет 2-я - для секторов. Во 2-ой генерации createSimpleOlymp(9, 3, 2), мы должны указать номер олимпийки = 2.
Иногда в олимпийках необходимо добавлять текст или картинки, для этого нужно добавить новую строчку в задание, после создания олимпийки. ВАЖНО: добавлять текст или картинки нужно в кавычках: одинарных или двойных.
Например, код (ниже) обновляет 1-ю ячейку на текст = вопрос, в 1-ой олимпийке.
Например, код (ниже) обновляет 10-ю ячейку на картинку с url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Red_Hat_logo.svg/220px-Red_Hat_logo.svg.png', во 2-ой олимпийке.
Для бонусной олимпийки, вы можете задать значения ячеек через текст бонусов. Можно добавлять: текст или ссылку на картинку. В случае с пустым бонусный заданием, будут пустые значения в ячейках олимпийки. В таком случае, весь блок с бонусами будет скрыт. Для загрузки заданий из бонусов в олимпийку используем следущий код (ниже):
<script> loadBonusesInOlymp() </script>
Если, в задании 2-е олимпийки, и бонусная олимпийка идет 2-ой, тогда в функции в параметрах пишем номер олимпийки = 2.
<script> loadBonusesInOlymp(2) </script>
ОШИБКИ И ПРЕДУПРЕЖДЕНИЯ ОБ ОЛИМПИЙКАХ
Шаг вправо, шаг влево - расстрел! А если серьезно, использование олимпиек будет проверено, и если что-то неправильно, вы получите сообщение, что не так.
Ошибки в заданиях и превью увидит только автор. Пример, ниже:
Предупреждения в сценарии помогут проверить заполненность всех секторов и дублирующие значения в олимпийке (эта проверка поможет в больших олимпийках).
Если вы сделали все правильно, то вы не увидите ошибок и предупреждений (выше).
РАБОТА ОЛИМПИЙКИ
1. Олимпийка для секторов.
Здесь без изменений. Добавляем олимпийку и добавляем столько секторов, сколько ячеек в олимпийке.
Блок с секторами над заданием отображаться не будут.
2. Олимпийка для бонусов.
Для бонусной олимпийки, нам необходимо прописать "Подсказки" в бонусах, именно они будут добавлены в олимпийку.
3. Олимпийка для бонусов с подгрузкой текста бонусов в олимпийку.
Для бонусной олимпийки, вы можете задать значения ячеек через текст бонусов. Можно добавлять: текст или ссылку на картинку. В случае с пустым бонусный заданием, будут пустые значения в ячейках олимпийки. В таком случае, весь блок с бонусами будет скрыт.
Игроки увидять:
Бонусы, которые будут спрятаны от игроков:
3. Олимпийка для ШТУРМОВОЙ игры с подгрузкой текста бонусов в олимпийку.
Важно добавить уникальныйdata-id для каждой олимпийки, и указать этот id, во всех функциях
PS: Все примеры внизу написаны не в 1 строчку, для вашего понимания и для того, чтобы можно было скопировать код и вставить его, достаточно при создании задания, убрать галку для "Включить автоперенос строк".
1. Олимпийка для секторов, на первом уровне 8 ячеек, объединяем в 2-е ячейки, на каждом следующем уровне.
5. Олимпийка для секторов, на первом уровне 4 ячейки, объединяем в 2-е ячейки, на каждом следующем уровне. Обновляем 1-ю ячейку, 6-ю ячейку и 7-ю ячейку.
8. Олимпийка для бонусов, на первом уровне 4 ячейки, объединяем в 2-е ячейки, на каждом следующем уровне. Загружаем в ячейки 1, 2 и 3 текст из бонусных заданий, в примере ниже добавлено, только 3 бонуса.
9. Если вы решили добавить олимпийку для ШТУРМОВОЙ игры, тогда необходимо добавить data-id для олимпиек. Ниже будет создана олимпийка для бонусов, на первом уровне 4 ячейки, объединяем в 2-е ячейки, на каждом следующем уровне. Обновляем ячейки, начиная с 4-й ячейки.
В div-обертку (ниже) будет добавляться будущая таблица с олимпийкой.
<div class='olymp_wrapper'></div>
Параметры:
- data-type: bonus(default) или sector. Задает тип олимпийки.
- data-layout: reverse, butterfly или butterfly_2. Default = ''. Задает вид олимпийки.
- data-id. Задает идентификатор в ШТУРМОВОЙ игре.
Обертка с дефолтными параметрами (ниже). Будет создана олимпийка для бонусов.
<div class='olymp_wrapper'></div>
2. Генерация.
Используем метод: createSimpleOlymp.
<script>createSimpleOlymp(27, 3, 2)</script>
Параметры, на примере выше:
- Кол-во секторов 1-о уровня (= 27). Default = 8.
- Кол-во объединяемых ячеек на следующем уровне (= 3). Default = 2.
- Номер олимпийки в задании (= 2, для задания с 2-я олимпийками в 1-м задании). Default = 1.
Вызов функции с дефолтными параметрами (ниже). Будет создана олимпийка, на первом уровне 8 ячеек, объединяем в 2-е ячейки, на каждом следующем уровне, для 1-ой олимпийки.
- Массив новых значений в кавычках (= ['вопрос 5', 'вопрос 6', 'вопрос 7']). Значение в кавычках, может быть текстом или ссылкой на картинку. В одной олимпийке может быть и текст и картинки.
- Номер ячейки, с которой начнем обновление (= 5). Default = 1.
- Номер олимпийки в задании (= 2, для задания с 2-я олимпийками в 1-ом задании). Default = 1.
Вызов функции с дефолтными параметрами (ниже). Будет обновлен текст с 1-ой ячейки на новый. Для 1-ой ячейки = 'Q'. Для 2-ой ячейки = 'W'. Для 3-ей ячейки = 'E', для 1-ой олимпийки.
<script>
updateCellsInOlymp(['Q', 'W', 'E'])
</script>
5. Загрузка бонусных заданий в олимпийку для бонусов.
Используем метод: loadBonusesInOlymp.
<script>
loadBonusesInOlymp(2)
</script>
Параметры, на примере выше:
- Номер олимпийки в задании (= 2, для задания с 2-я олимпийками в 1-ом задании). Default = 1.
Вызов функции с дефолтными параметрами (ниже). Будет обновлен текст с 1-ой ячейки на новый, задание бонуса #1 добавится в ячейку #1; задание бонуса #2 - в ячейку #2, и тд.
<script>
loadBonusesInOlymp()
</script>
Если есть вопросы пишите в личку или комментарии под постом, или если есть какие-то хотелки, пишите сделаю. Надеюсь это хоть немного облегчит создание заданий.