Программа "Светофор"

Описание работы программы

  1. Черепаха рисует на холсте три окружности по вертикали.
  2. В каждой окружности рисует короткую толстую черную линию, похожую на квадрат с заливкой. Также прорисовывается ножка светофора.
  3. Пользователю программы пять раз задаются вопросы в случайном порядке: "На какой цвет надо стоять?", "На какой цвет надо приготовиться?", "На какой цвет надо идти?".
  4. В текстовом поле диалогового окна пользователь должен вписать ответ: "Красный", "Желтый" или "Зеленый".
  5. Если пользователь дал правильный ответ, то черепаха закрашивает на светофоре соответствующий квадрат этим цветом.
  6. Если пользователь дал неправильный ответ, то появляется диалоговое окно с сообщением об ошибке и правильным ответом.
  7. В конце на холсте выводится оценка ответов пользователя, которая зависит от количества правильных ответов (от 0 до 5).

Создание программы

Светофор

Светофор состоит из трех окружностей, отличающихся между собой только координатой y:

сброс
толщина_пера 3
иди 170, 100
повтори 36 {
  вперёд 5
  направо 10
}
иди 170, 159
повтори 36 {
  вперёд 5
  направо 10
}
иди 170, 218
повтори 36 {
  вперёд 5
  направо 10
}

Далее рисуем три квадрата в окружностях с помощью очень толстой линии:

толщина_пера 40
назад 1
иди 198, 156
назад 1
иди 198, 215
назад 1
иди 199, 253
толщина_пера 10
назад 100
В конце ножка светофора:
толщина_пера 10
назад 100

"Включение" и "выключение" светофора

Программа должна уметь менять цвет любого из трех черных квадратов на соответствующий ему красный, желтый или зеленый. Поскольку изменение цвета должно происходить в результате определенных действий пользователя и несколько раз, то лучше оформить "включение-выключение" определенных "ламп" с помощью функций:

выучи красный {
  иди 198, 98
  цвет_пера 255,0,0
  толщина_пера 40
  назад 1
  цвет_пера 0,0,0
  иди 198, 156
  назад 1
  иди 198, 215
  назад 1
}
 
выучи желтый {
  иди 198, 98
  толщина_пера 40
  назад 1
  цвет_пера 255,255,0
  иди 198, 156
  назад 1
  цвет_пера 0,0,0
  иди 198, 215
  назад 1
}
 
выучи зеленый {
  иди 198, 98
  толщина_пера 40
  назад 1
  иди 198, 156
  назад 1
  цвет_пера 0,255,0
  иди 198, 215
  назад 1
  цвет_пера 0,0,0
}

Обратите внимание, в каждой функции предусмотрено закрашивание черным ранее окрашенных в иные цвета квадратов.

Диалог с пользователем

$оценка = 0
повтори 5 {
  $число = случайное 0.5,3.5
  $число = округли $число
  если $число == 1 {
    $ответ = спроси "На какой цвет надо стоять?"
    если $ответ == "Красный" {
      красный
      $оценка = $оценка + 1
    }
    иначе {
      сообщение "Не правильно. Стоять нужно на красный цвет!"
    }
  }
  если $число == 2 {
    $ответ = спроси "На какой цвет надо приготовиться?"
    если $ответ == "Желтый" {
      желтый
      $оценка = $оценка + 1
    }
    иначе {
      сообщение "Не правильно. Приготовиться нужно на желтый цвет!"
    }
  }
  если $число == 3 {
    $ответ = спроси "На какой цвет надо идти?"
    если $ответ == "Зеленый" {
      зеленый
      $оценка = $оценка + 1
    }
    иначе {
      сообщение "Не правильно. Идти нужно на зеленый цвет!"
    }
  }
}  
 
иди 250,250
напиши "Ваша оценка: " + $оценка

В переменной $оценка храним количество правильных ответов пользователя.
Чтобы программ задавала вопросы в случайном порядке, используем переменную $число, в которой хранится случайное число от 0.5 до 3.5 округленное до целого, т.е. 1, 2 или 3.

Создано