author_scripts_examples

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
author_scripts_examples [2021/10/19 11:53]
phaust
— (текущий)
Строка 1: Строка 1:
-=====Типичные скрипты ===== 
  
-Примеры использования javascript в заданиях - вставлять в блок '​Скрипт Задания'​. 
- 
-====Скрыть Коды==== 
- 
-<code JavaScript>​ 
-$('#​out_codes'​).hide();​ 
-</​code>​ 
- 
-====Скрыть бонусы==== 
- 
-<code JavaScript>​ 
-$('#​out_bonuses'​).hide();​ 
-</​code>​ 
- 
-====Скрыть глобальные бонусы==== 
- 
-<code JavaScript>​ 
-$('#​out_global_bonuses'​).hide();​ 
-</​code>​ 
- 
-====На месте таймера автоперехода отображать время проведенное на задании==== 
- 
-<code JavaScript>​ 
-show_time_on_task();​ 
-</​code>​ 
- 
-Работает только если в задании нет автоперехода 
- 
-====Заменить '​Автопереход'​ на другое название==== 
- 
-<code JavaScript>​ 
-$('​span#​out_end_time'​).each(function(){$(this).html($(this).html().replace('​Автопереход',​ '​Время до закрытия зоны'​));​});​ 
-</​code>​ 
- 
-====Заменить '​Подсказка'​ на другое название==== 
- 
-<code JavaScript>​ 
-$('​span.hint_name'​).each(function(){$(this).html($(this).html().replace('​Подсказка',​ '​Возможное время до закрытия зоны'​));​});​ 
-</​code>​ 
- 
-====Заменить текст на кнопке '​Купить подсказку'​==== 
- 
-<code JavaScript>​ 
-$('​div#​out_hints'​).each(function(){$(this).html($(this).html().replace('​Взять подсказку',​ '​Купить задание'​));​});​ 
-</​code>​ 
- 
-====Олимпийка:​==== 
- 
-В текст задания пропишите ''​[olymp]''​ - это заменится на таблицу во время игры 
- 
-В скрипт задания пропишите:​ ''​olymp('​8.2'​)'';​ 
- 
-Вместо '​8.2'​ можно использовать '​4.2',​ '​16.2'​ или '​32.2'​ - это количество начальных кодов олимпийки 
- 
-Или если хотите оставить номера в кодах то: ''​olymp_with_numbers('​8.2'​)'';​ 
- 
-Если хочется отображать не вбитое слово, а что-то другое - то заводите бонус c тем же кодом, и в '​Текст после решение'​ в режими исходника вставляете ​ 
-<​code>​ 
-<​script>​olymp_value(n,​ '​html'​)</​script>​ 
-</​code>​ 
- 
- ''​n''​ - номер поля олимпийки 
- 
- ''​html''​ - просто текст или html который будет показан в ячейке 
- 
-Например:​ ''​olymp_value(n,​ '​Храмище'​)''​ 
- 
-[[https://​qeng.org/​game.php?​jump_to&​gid=3493&​task_id=42715|Пример в игре]] 
- 
-[[https://​qeng.org/​game.php?​jump_to&​gid=3493&​task_id=49134|Другой в игре]] 
- 
-====Отображение собранных штурмовых баллов в задании==== 
- 
-В текст задания пропишите Всего баллов:​ ''​[money]''​ 
- 
-В скрипт задания пропишите:​ ''​show_money();''​ 
- 
-====Обработчик ответа в задании==== 
- 
-Во все ответы вначале дописывает префикс ''​p_''​ 
- 
-<code JavaScript>​ 
-window.submitAnswerCallback= function(answer) { 
-  return '​p_'​ + answer; 
-} 
-</​code>​ 
-Если вернуть пустую строку - ответ не будет отправлен. 
- 
-[[https://​qeng.org/​game.php?​jump_to&​gid=3493&​task_id=52080|Пример в игре]] 
- 
-=====Скрипты в бонусах и подсказках===== 
-Надо переключить редактирование в режим исходника. 
- 
-====Автоматически вбить код, если ещё не был вбит==== 
-<code JavaScript>​ 
-<script type='​text/​javascript'>​enter('​Код который надо вбить'​)</​script>​ 
-</​code>​ 
- 
-====Составные коды в бонусах/​штрафных подсказках==== 
- 
-В режиме исходника в ответ на бонус/​подсказку добавьте ​ 
-<code JavaScript>​ 
-<​script>​code_part(номер_составного_кода,​ '​частькода',​ число_составных_частей)</​script>​ 
-</​code>​ 
- 
-  * ''​номер_составного_кода''​ - Это порядковый номер составного кода, если их несколько. Не следует путать с **номер части кода**. Если код один - то ставьте 0. 
-  * ''​частькода''​ - в кавычках часть строки вашего кода, даже если число, то используйте кавычки - части будут собираться по порядку отображения на странице. 
-  * ''​число_составных_частей''​ - Сколько всего составных частей кода. 
- 
-Не забудьте добавить итоговый собранный код или бонус, иначе страница будет все время перегружаться в попытке вбить несуществующий код. 
- 
-===== Вызов скрипта при обновлении задания ===== 
-Если надо что-то вызывать во всех играх каждый раз, когда обновляется задание - то можно прописать это в общий HTML заголовок для игры: 
-<​code>​ 
- 
-<​script>​ 
-document.addEventListener("​DOMContentLoaded",​ function() { 
-  function common_task_script() { 
-    console.log('​test'​);​ 
-  }    ​ 
-  let old_task_script = task_script;​ 
-  task_script = function() { 
-    old_task_script();​ 
-    common_task_script() 
-  }; 
-  common_task_script();​ 
-}); 
-</​script>​ 
- 
-</​code>​ 
  • author_scripts_examples.1634644417.txt.gz
  • Последние изменения: 2021/10/19 11:53
  • phaust