← Все вопросы

Как задать спрайту вопрос и получить ответ от игрока в Scratch?

Задан 21 месяц назад363 просмотров2 ответа
9

Делаю викторину, где кот спрашивает, а игрок печатает ответ. Как в скретче спросить что-то у игрока и проверить, что он написал?

2 ответа

13
✓ Принятый ответ — помог автору

Для вопросов игроку есть блок «спросить … и ждать» из голубой полки «Сенсоры». 💬 Он показывает окошко для ввода внизу экрана, и игра ждёт, пока игрок напечатает ответ.

А то, что игрок написал, попадает в особый блок «ответ» (тоже в «Сенсорах»).

Пример — кот спрашивает имя:

когда нажат зелёный флажок
спросить «Как тебя зовут?» и ждать
сказать (соединить «Привет, » (ответ)) 2 секунд

Кот спросит имя, ты впишешь, например, «Маша», и он скажет «Привет, Маша!». 😊

Теперь викторина с проверкой — нужен блок «если … иначе» и сравнение из «Операторов»:

когда нажат зелёный флажок
спросить «Сколько будет 2 плюс 2?» и ждать
если <ответ = 4> то
    сказать «Правильно!» 2 секунд
иначе
    сказать «Неверно, попробуй ещё» 2 секунд

Как это работает:

  1. спросить … и ждать — показывает вопрос и ждёт ввода.
  2. ответ — хранит то, что напечатал игрок.
  3. если ответ = 4 — сравниваем ответ с правильным.

Частая ошибка: проверять ответ ещё до блока «спросить». Сначала спрашиваем, потом сравниваем «ответ» — порядок важен, ведь Scratch читает скрипт сверху вниз. ✅

Для викторины из многих вопросов используй переменную «Очки» и прибавляй балл за каждый верный ответ. 🏆

4

Маленькая, но частая засада: при сравнении текста Scratch не различает большие и маленькие буквы, но различает лишние пробелы. Если игрок написал «4 » с пробелом, сравнение «ответ = 4» может не сойтись.

Для чисел это редко мешает, а вот для слов лучше задавать вопросы так, чтобы ответ был коротким и понятным («да/нет», одно слово). Так викторина будет честной. 🙂

Ваш ответ

Войдите, чтобы ответить на вопрос.