Логические операторы, часть 3
Часть раздела Основы путешествия по GDScript на Coddy. Урок 24 из 92.
В одном выражении можно объединить несколько условий. Чтобы проверить, является ли число положительным и чётным:
var number := 6
var is_positive := number > 0
var is_even := number % 2 == 0
var result := is_positive and is_even # trueВы также можете записать условия напрямую, без дополнительных переменных:
var result := number > 0 and number % 2 == 0С or достаточно одного истинного условия. -4 — отрицательное число, поэтому результат будет true, хотя -4 не является нечётным:
var number := -4
var negative_or_odd := number < 0 or number % 2 != 0 # trueСначала GDScript вычисляет not, затем and, а потом or. Скобки меняют порядок:
var level := 3
var has_key := false
var has_map := true
print(level >= 5 and (has_key or has_map)) # false
print(level >= 5 and has_key or has_map) # trueЧтобы проверить, что значение находится в диапазоне, запишите два сравнения, соединённые оператором and: level >= 1 and level <= 10. GDScript сообщает об ошибке для математической записи 1 <= level <= 10.
Задание
ЛегкоИгрок хочет исследовать подземелье. Переменные level, has_key и has_map уже объявлены. Объяви ещё три:
can_enter:levelне меньше5and у игрока есть ключ or картаcan_find_treasure: у игрока есть ключ and карта andlevelне меньше10is_lost: у игрока нет ключа и нет карты, orlevelменьше3
Используй and, or и not. При заданных значениях вывод будет таким:
Can enter: true
Can find treasure: false
Is lost: falseПопробуйте сами
extends Node
func _ready():
var level := 7
var has_key := true
var has_map := false
# Объявите can_enter, can_find_treasure и is_lost ниже
# Не изменяйте строки ниже
print("Can enter: ", can_enter)
print("Can find treasure: ", can_find_treasure)
print("Is lost: ", is_lost)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияСокращённая запись арифметических операцийПовторение — простая математикаОператоры сравнения7Основы ввода и вывода
ВыводВывод с переменнымиФорматирование строкВводПреобразование типовПовторение — до 120Повторение — истина или ложь5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор для разделения счёта
Приветственное сообщениеВвод данных11FizzBuzz с неожиданным поворотом
Обзор игрыФункция FizzBuzz14Массивы: продвинутый уровень
Срезы массивовОператоры последовательностейПринадлежностьСортировка и обратный порядок3Переменные. Часть 2
Объявление типаВывод типаКонстантыПовторение — инициализация переменныхПреобразование типов6Принятие решений
Оператор ifЕсли — иначеПовторение: простой калькуляторВложенные условия if — elseОператор match9Циклы
Цикл forЦикл whileBreakContinueПовторение — факториалФункция rangeВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Онлайн-компилятор GDScript