Перейти к содержимому

Уроки · 5

Если

В уроке «Ввод с клавиатуры» встретилась такая запись:

if is_key_down(KeyCode::Up) {
draw_circle(center_x, center_y, 100.0, YELLOW);
}

Называется такая конструкция — условный оператор, а ключевое слово у неё — if. Сразу после if пишется условие, а следом, в фигурных скобках, — код, который от этого условия зависит: выполняется он или нет.

Условие — это что-то, что оказывается либо верным, либо неверным: в примере выше это “зажата ли сейчас стрелка вверх”. Если условие верно — всё, что внутри фигурных скобок, выполняется, как самый обычный код. Если неверно — всё, что внутри, просто пропускается целиком, будто его там и не было, и программа сразу идёт дальше, к тому, что написано после if.

Поэтому кружок из примера выше появляется на экране, только пока клавиша зажата: отпустил клавишу — условие стало неверным, и строчка draw_circle на этом кадре вообще не выполняется.

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

  • if условие { ... } — условный оператор: код в фигурных скобках выполняется, только если условие верно.
  • Если условие неверно, код внутри фигурных скобок пропускается целиком, и программа идёт дальше, к тому, что написано после if.
  • Одно и то же условие может быть верным на одном кадре и неверным на следующем — тогда и решение, выполнять код внутри или нет, каждый раз принимается заново.