Условные операторы if, elif, else/ Введение в GDScript для начинающих/ Прожиточный минимум GDScript

preview_player
Показать описание
Серия коротких уроков для начинающих разработчиков игр на бесплатном open source движке Godot Engine.

Данный урок посвящен условным операторам if, elif, else. А также операторам сравнения. Также он кратко затрагивает тему приведения типов.

В серию входят 5 коротких уроков:

------------ Полезные ресурсы по Godot на русском ------------

---------------------------

---------------------------
Присоединяйтесь
Рекомендации по теме
Комментарии
Автор

Надо будет все эти мини упражнения повторить потом
Главное про это не забыть

kamillayesa
Автор

Отличные видео. Без лишней воды, хорошая подача, приятно смонтировано, однозначно лайк

homelessandhungry
Автор

Отличные уроки! Спасибо. Основы кратко и без лишнего

rorka
Автор

Думал из уроков буду понимать синтаксис, а после одного взгляда на него у меня в голове всё встаёт на свои места). Ещё говор довольно медленный, что даже на 2x комфортно слушать

NoBrBrBr
Автор

Слышал у Булджатя, что If Elif и Else настолько универсальны, что весь програмный код Yandere Simulator - состоил только из таких строчек!

freedomtorussia
Автор

добавил проверку через print

var weapon = {
'name': 'axe',
'damage': 20,
'is_fire_damage': true
}

if weapon['is_fire_damage'] or weapon['name'] == 'axe':
print('true')
else:
print ('false')


if weapon['damage'] < 5 and weapon['name'] == 'bow':
print('true')
else:
print ('false')

if weapon['name'] == 'axe' or weapon['name'] == 'sword' or weapon['name'] == 'bow':
print('true')
else:
print ('false')

alexivlas
Автор

Спасибо за урок! вот выполненное задание:

func _ready():


var weapon = {
"name": "bow",
"damage": 3,
"is_fire_damage": false
}
if (weapon["name"] == "axe" and weapon["damage"] > 10) or weapon["is_fire_damage"]:
print("nice")

if weapon["damage"] < 5 and weapon["name"] == "bow":
print("nice2")

if weapon["name"] == "axe" or weapon["name"] == "sword" or weapon["name"] == "bow":
print("nice3")
сделал проверку принтом

nikitavideo
Автор

func _ready():

var weapons = {
"name": "axe",
"damage": 9,
"is_fire_damage": true
}



if weapons["is_fire_damage"] or weapons["name"] == "axe" and weapons["damage"] > 10:
print(true)
else:
print(false)

if weapons["damage"] < 5 and weapons["bow"]:
print(true)
else:
print(false)


if weapons["name"] == "axe" or weapons["name"] == "sword" or weapons["name"] == "bow":
print(true)
else:
print(false)

Nasral_
Автор

Уф, спасибо за этот курс! Теперь хотя бв чем то жизнь разнообразю:D

JustD.
Автор

лайк+подписка оформлена! Автор канала красавчик! Хотелось бы правда в комментах получить ответы к заданиям для сверки, я сам учитель математики скину всем своим ученикам ссылку на канал

ЭльдарАбдушукуров
Автор

Вот мне больше по душе писать по сишному ! && и тд, хотя это вроде как не труЪ практика для читаемости питоноподобных языков. Не перевариваю я эти not, and в коде.

NobodyHere
Автор

4:12 получилось "меч, который наносит урон", а не наоборот

Илья-пмщ
Автор

Привет немного запутан, почитав коменты, немного что-то понял. вот сделал задание



var weapon = {
"name":"axe",
"damage": 20,
"is_fire_damage": true
}

if weapon["is_fire_damage"] or (weapon["name"] == "axe" and weapon["damage"] > 10):
print("Это огненное оружие, топор, который наносит больше 10 урона")
else:
print("Это не топор, который наносит огненный урон больше 10")

if weapon["damage"] < 5 and weapon["name"] == "bow":
print("Это оружие (лук) наносит менее 5 урона")
else:
print("Это оружие не наносит менее 5 урона и оно не лук")

if weapon["name"] == "axe" or "sword" or "bow":
print("Это топор или меч или лук")
else:
print("Это ни топор, ни меч, ни лук")

foxvicrot
Автор

Очень хороший видео-урок! Одного не могу понять, 4 отступа это ты имеешь ввиду два знака '>| >|' слева от цифры в начале строки?

crosai
Автор

И снова привет.
Вопрос по упражнению.
Я не понял, как проверить сразу две переменной словаря.
То есть, если оружие имеет огненный урон ИЛИ топор с уроном более 10.
if weapon["effect"] == "is_fire_damage" or weapon["name"] == "axe"
Вот этот код проверяет огненный эффект или название оружия. Можно ли как то вместе с названием проверить сразу же и урон? Или надо будет дописывать еще: "И урон > 10"? Я надеюсь понятно объяснил

notagamedeveloper
Автор

спс


extends Node2D



func _ready():

var axe = {
"name": "axe",
"damage": 30,
"effect": null
}
var bow = {
"name": "bow",
"damage": 15,
"effect": "fire"
}
var sword = {
"name": "sword",
"damage": 25,
"effect": "bleeding"
}

var inventory = axe
var test = 0

if inventory["effect"] == "fire" or inventory["name"] == "axe":
test = test+1
pass
else:
pass

if inventory["damage"] < 5 and inventory["name"] == "bow":
test = test+1
pass
else:
pass

if inventory["name"] == "axe" or inventory["name"] == "bow" or inventory["name"] == "sword":
test = test+1
pass
else:
pass

print(test)

FreeGamesFGames
Автор

If weapon ["name"]!="axe"or weapon ["is_fire_damage"]:pass
Это означает что можно использовать любое оружие кроме топара

Game-nmts
Автор

Вроде все понял, но не понятно как это применять на практие

dyadyabogdab
Автор

4:11 Извините, но здесь вроде как написано "если топор наносит огненный урон", или я что-то не так понял?

EDEPEX
Автор

Извините но я не понел где вы говарили про отступы и то что там нет скобык пересматривал но не понял

Game-nmts