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

  Рет қаралды 17,246

Фронтенд Паштет

Фронтенд Паштет

Күн бұрын

Пікірлер: 67
@kamillayesa
@kamillayesa 3 жыл бұрын
Надо будет все эти мини упражнения повторить потом Главное про это не забыть
@homelessandhungry4529
@homelessandhungry4529 Жыл бұрын
Отличные видео. Без лишней воды, хорошая подача, приятно смонтировано, однозначно лайк
@rorka1252
@rorka1252 3 жыл бұрын
Отличные уроки! Спасибо. Основы кратко и без лишнего
@frontend-pashtet
@frontend-pashtet 3 жыл бұрын
Приятно это слышать)
@NoBrBrBr
@NoBrBrBr Жыл бұрын
Думал из уроков буду понимать синтаксис, а после одного взгляда на него у меня в голове всё встаёт на свои места). Ещё говор довольно медленный, что даже на 2x комфортно слушать
@alexivlas2277
@alexivlas2277 2 жыл бұрын
добавил проверку через 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')
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
Да, print хорошо помогает дебажить код
@nikitavideo55
@nikitavideo55 Жыл бұрын
Спасибо за урок! вот выполненное задание: 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") сделал проверку принтом
@Godot-tp4hm
@Godot-tp4hm Жыл бұрын
Cпасибо за уроки!
@freedomtorussia3005
@freedomtorussia3005 8 ай бұрын
Слышал у Булджатя, что If Elif и Else настолько универсальны, что весь програмный код Yandere Simulator - состоил только из таких строчек!
@Afermant
@Afermant 6 ай бұрын
Да, поэтому, яндере будет лагать на любом сверх компьютере
@JustD.
@JustD. 2 жыл бұрын
Уф, спасибо за этот курс! Теперь хотя бв чем то жизнь разнообразю:D
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
Добро пожаловать:) Развлекайся) Если буду вопросы, можешь в дискорд залетать. Там поможем.
@ЭльдарАбдушукуров
@ЭльдарАбдушукуров 2 жыл бұрын
лайк+подписка оформлена! Автор канала красавчик! Хотелось бы правда в комментах получить ответы к заданиям для сверки, я сам учитель математики скину всем своим ученикам ссылку на канал
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
Воу. Спасибо, Эльдар. К некоторым видео из этого курса народ пишет комментарии со своими решениями. Ещё раз спасибо за комментарий. Надеюсь, ученикам курс зайдёт.
@Nasral_2980
@Nasral_2980 4 ай бұрын
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)
@Илья-п4м3щ
@Илья-п4м3щ 2 жыл бұрын
4:12 получилось "меч, который наносит урон", а не наоборот
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
Да, это ошибка =(
@Qatweel
@Qatweel Жыл бұрын
Слава богу, я уж думал у меня глюки
@NobodyHere539
@NobodyHere539 3 жыл бұрын
Вот мне больше по душе писать по сишному ! && и тд, хотя это вроде как не труЪ практика для читаемости питоноподобных языков. Не перевариваю я эти not, and в коде.
@frontend-pashtet
@frontend-pashtet 3 жыл бұрын
Я тоже пишу по настроению && !=. Мне кажется, это чисто на вкус. Хорошо, что есть оба варианта
@thelonesnail
@thelonesnail 3 жыл бұрын
@@frontend-pashtet я раньше на си тоже писал, но когда узнал про not, and, or вряд ли уже смогу привыкнуть к &&, != и прочему(они мне сейчас кажуться какими-то непрактичными)
@frontend-pashtet
@frontend-pashtet 3 жыл бұрын
@@thelonesnail мне кажется, это что-то вроде некоторой механической привычки рук. Я думаю головой, что мне надо написать какое-то условие, а руки уже автоматом выполняют комбинацию клавиш. Но с точки зрения читаемости or, and выглядят значительно лучше
@thelonesnail
@thelonesnail 3 жыл бұрын
@@frontend-pashtet скорее всего
@Хаято-з2и
@Хаято-з2и 3 жыл бұрын
Спасибо ваще отличные уроки
@FreeGamesFGames
@FreeGamesFGames 6 ай бұрын
спс 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)
@EDEPEX
@EDEPEX 3 жыл бұрын
4:11 Извините, но здесь вроде как написано "если топор наносит огненный урон", или я что-то не так понял?
@frontend-pashtet
@frontend-pashtet 3 жыл бұрын
Получилось странное. Я сказал, «меч, который НЕ наносит огненный урон». Но НЕ забыл написать. Про топор было выше. Что конкретно не понятно?
@EDEPEX
@EDEPEX 3 жыл бұрын
@@frontend-pashtet Пардон, видимо я не очень внимательный.
@notagamedeveloper3805
@notagamedeveloper3805 2 жыл бұрын
И снова привет. Вопрос по упражнению. Я не понял, как проверить сразу две переменной словаря. То есть, если оружие имеет огненный урон ИЛИ топор с уроном более 10. if weapon["effect"] == "is_fire_damage" or weapon["name"] == "axe" Вот этот код проверяет огненный эффект или название оружия. Можно ли как то вместе с названием проверить сразу же и урон? Или надо будет дописывать еще: "И урон > 10"? Я надеюсь понятно объяснил
@notagamedeveloper3805
@notagamedeveloper3805 2 жыл бұрын
Так, я вроде бы понял
@notagamedeveloper3805
@notagamedeveloper3805 2 жыл бұрын
нет, я не понял :(
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
Да, надо ещё добавить and, но надо взять в скобки проверку названия и урона. Тогда будет такое условие: если угнанный урон ИЛИ (это топор с уроном более 10). Лучше всегда брать в скобки. Потому что есть такая штука, как приоритет операторов. И ИЛИ будет выполняться перед И. Короче, скобки делают все проще и читаемей.
@notagamedeveloper3805
@notagamedeveloper3805 2 жыл бұрын
@@frontend-pashtet спасибо! Про скобочки не знал. Я думаю можно это было упомянуть в ролике, но ладно. Извиняюсь за беспокойство
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
@@notagamedeveloper3805 да, думаю, стоило упомянуть. Я многое в угоду краткости опустил.
@-Cool_Fish-
@-Cool_Fish- Ай бұрын
func _ready(): var weapon = { "name": "axe", "damage": 12.5, "is_fire_damage": false } if weapon["is_fire_damage"] or (weapon["name"] == "axe" and weapon["damage"] > 10): print("True") else: print("False") if weapon["name"] == "bow" and weapon["damage"] < 5: print("True") else: print("False") if weapon["name"] == "axe": print("Axe") elif weapon["name"] == "sword": print("Sword") elif weapon["name"] == "bow": print("Bow")
@crosai
@crosai 2 жыл бұрын
Очень хороший видео-урок! Одного не могу понять, 4 отступа это ты имеешь ввиду два знака '>| >|' слева от цифры в начале строки?
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
Спасибо. 4 отступа это альтернатива ковычкам в других языках программирования для определения, что находится в теле вырожения/функции/условия. Если выражение находится внутри предыдущего if, то оно должно иметь 4 пробела начиная от той позиции, где находится if. Иначе оно не попадает в it и будет выполнено без условий. Надеюсь, получилось ответить.
@crosai
@crosai 2 жыл бұрын
@@frontend-pashtet Прости, мои знания программирования слишком низки чтоб понять что ты имеешь ввиду, когда закончу твою серию видео уроков буду углубляться дальше. Я просто не увидел никаких 4-х пробелов в момент объяснения тобой в видео принципа срабатывания, но увидел два знака ''>| >|' в начале строки, который вызываются нажатием клавиши Tab. 0:43 и вот я подумал, может быть ты и имел ввиду эти два знака как 4 отступа, ведь в случае true условия if срабатывает calculated_damage, который как раз таки в начале строки и обладает двумя знаками '>| >|'. Я прав?
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
@@crosai Понял, кажется. Спасибо за таймкод. Это символы >|, их Godot самостоятельно рисует как подсказку чтоли, чтобы проще было код читать. Вообще, можно использовать Tab для табуляции - она равна 4м пробелам. Я обычно так делаю.
@crosai
@crosai 2 жыл бұрын
@@frontend-pashtet Спасибо большое за помощь! :)
@dyadyabogdab
@dyadyabogdab 3 жыл бұрын
Вроде все понял, но не понятно как это применять на практие
@frontend-pashtet
@frontend-pashtet 3 жыл бұрын
Это нормально. Эти уроки чисто по языку программирования. Они не затрагивают элементов движка. Дальше уже необходимо смотреть уроки конкретных механик или пытаться делать игру. Так постепенно и сложится пазл.
@azazel7025
@azazel7025 3 жыл бұрын
Для чего нужен pass ?
@frontend-pashtet
@frontend-pashtet 3 жыл бұрын
Это просто заглушка, которая ничего не делает. Удобно использовать, когда создаёшь пустую функцию, условие, цикл. Тогда godot не ругается на синтаксическую ошибку. Чисто временная конструкция, чтобы весь редактор не был красным.
@azazel7025
@azazel7025 3 жыл бұрын
@@frontend-pashtet Пасыбочки)
@azazel7025
@azazel7025 3 жыл бұрын
@@frontend-pashtet И еще один вопрос параметр size() определяет длину символов в массиве?
@frontend-pashtet
@frontend-pashtet 3 жыл бұрын
@@azazel7025 нет, size() возвращает длину массива т.е. кол-во элементов массива. [10,20,30].size() вернет 3 т.к. там 3 элемента.
@azazel7025
@azazel7025 3 жыл бұрын
@@frontend-pashtet Ах да, кстати, Годоту не всеравно на кол-во пробелов? Просто вот я пишу код, тренеруюсь и когда я перешел на следующую строку просто нажав Enter, код не работал, когда уже переносил строку клавишами Shift + Enter тогда уже работал, это так неудобно..
@foxvicrot3457
@foxvicrot3457 11 ай бұрын
Привет немного запутан, почитав коменты, немного что-то понял. вот сделал задание 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("Это ни топор, ни меч, ни лук")
@frontend-pashtet
@frontend-pashtet 11 ай бұрын
Привет. Выглядит хорошо. Ты молодец, что закрепляешь на практике. Заходи к нам в дискорд. Там приятные люди. Если что, помогут разобраться discord.gg/5nM97GnJT4
@Game-nm7ts
@Game-nm7ts Жыл бұрын
If weapon ["name"]!="axe"or weapon ["is_fire_damage"]:pass Это означает что можно использовать любое оружие кроме топара
@0nec
@0nec 7 ай бұрын
Я так понял (либо оружие является топором, либо это любое другое оружие в том числе и топор, но с огненным уроном) проще говоря, что угодно, только не обычный топор
@Game-nm7ts
@Game-nm7ts Жыл бұрын
Извините но я не понел где вы говарили про отступы и то что там нет скобык пересматривал но не понял
@Game-nm7ts
@Game-nm7ts Жыл бұрын
Ну тоесть If weapon ["is_fire_damage"] 1 2 3 4 Отступа
@Game-nm7ts
@Game-nm7ts Жыл бұрын
Почему нет скобачек
@Game-nm7ts
@Game-nm7ts Жыл бұрын
Зачем нужен отступы
@Game-nm7ts
@Game-nm7ts Жыл бұрын
If 4 отступа почему будет работать
@Game-nm7ts
@Game-nm7ts Жыл бұрын
Что такое pass
@raenchuk
@raenchuk 2 жыл бұрын
Про скобочки не рассказал. А то начнут логические операции в домашке делать, а порядок поди разбери какой.
@frontend-pashtet
@frontend-pashtet 2 жыл бұрын
Да, это одно из того, что пришлось опустить. Я старался как можно короче сделать материал. Но это важная вещь, тут не поспоришь
Ozoda - Alamlar (Official Video 2023)
6:22
Ozoda Official
Рет қаралды 10 МЛН
Counter-Strike 2 - Новый кс. Cтарый я
13:10
Marmok
Рет қаралды 2,8 МЛН
Всё о Tilemap в Godot Engine 4
19:48
Oktopus Skills
Рет қаралды 49 М.
Минимум математики для Айтишников
16:12
Всё об указателях в C++ за 20 минут
20:00
Ozoda - Alamlar (Official Video 2023)
6:22
Ozoda Official
Рет қаралды 10 МЛН