Кроссворд или опрос

Делай хорошие дела и хорошие вещи многоразового использования.

Тема нашего обсуждения с Марией Жирковой в рамках курса ИКТ - подробности на вики http://wiki.nnspu.ru/

Мы попробуем использовать Scratch для создания студенческих проектов и раскатать на нем всю последовательность действий. При этом у нас участвуют студенты гуманитарных специальностей, которые совсем не думают и не знают про компьютерные науки и задают простые вопросы. Из набора таких вопросов и ответов и сложится или не сложится курс.

Тема, которую предложила Мария - создание поздравительного кроссворда.

Сценарий выглядит следующим образом:

  1. На экране школьная доска
  2. У доски появляется овечка и говорит заготовленный поздравительный текст
  3. На доске появляется кроссворд - такие специальные клеточки, которые нужно заполнить
  4. После этого овечка задает вопросы и ожидает получить ответы
  5. Поздравляемый в ответ на вопрос пишет ответ
  6. Если ответ правильный, то в клетках кроссворда появляется новое слово и овечка задает новый вопрос
  7. Если ответ неправильный, то овечка ругается или хвалит, но повторяет этот вопрос еще раз, пока поздравляемый не пишет правильный ответ
  8. Когда все вопросы заданы и правильно отвечены, поздравление заканчивается.

Базовой метафорой нашей работы остается театр, в котором действуют исполнители ролей. Обратите внимание, что героев может быть несколько. Это может быть поздравление, в котором действует только овечка - и тогда ей одной придется задавать вопросы и записывать ответы на доске. Я бы предложил здесь создать специального исполнителя, который будет спрашивать и записывать.

Создадим этого исполнителя. Назовем его crossquest

Конструкции, которые нам понадобятся для этого исполнителя:

Список, в котором он хранит вопросы.

Создаем в ящике переменные список.

Называем этот список "Вопросы". Делаем его "Только для этого объекта" - получаем "crossquest вопросы" - мы можем в этот контейнер добавлять сколько угодно вопросов. Нажимаем не значек + и в списке появляется новая строка.

Вопросы для кроссворда

Список для ответов

То же самое, что и с вопросами.

Теперь нам нужно, чтобы вопросы и ответы были связаны между собой. Чтобы вопросу номер 1 соответствовал ответ номер 1. Создаем переменную номер вопроса.

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

И в ответ на эту подсказку исполнитель устанавливает номер вопроса в 1 и начинает задавать вопросы. Вернее, он сам себе посылает указание или сообщение "Вопрос".

Дальше приходится разбираться с ответами. Если ответ правильный, то мы хвалим и переходим к следующему вопросу.

Если не правильный, то ругаемся и повторяем вопрос.

Тут у нас есть еще необходимый элемент проверки, а не кончились ли у нас уже вопросы? Если все вопросы уже заданы, то мы останавливаем скрипт. Перед тем как остановить скрипт мы можем еще отдельно похвалить и поздравить.

Чего у нас пока нет задачах и возможностях этого исполнителя? Он у нас пока ничего не писал на доске в клеточках. Как мы можем эту проблему решить? Может быть он будет хранить ответы не только в списке, но и в своих костюмах. Тогда в нужный момент он сможет  встать в нужное место на доске и отпечатать нужное слово.

Вот, кажется и все - у нас теперь есть очень полезный спрайт, внутри которого хранятся списки вопросов и ответов и умение проверять правильность ответов, которые дает пользователь. Теперь мы можем сохранить этот полезный спрайт, чтобы потом им делиться и помогать другим создавать свои собственные опросники.

 

Этот спрайт я могу послать по почте или разместить на вики для дальнейшего использования.