Представь, что в игре есть несколько ловушек, и каждая должна наносить игроку 20 урона.
Можно каждый раз писать одно и то же:
health = health - 20
print("Получен урон")
А можно один раз собрать эту логику в функцию:
function takeDamage()
health = health - 20
print("Получен урон")
end
Теперь, когда нужно нанести урон, достаточно написать:
takeDamage()
И всё 😎
Функция — это кусочек кода, которому мы дали имя, чтобы потом вызывать его сколько угодно раз.
В игре можно сделать функции:
openDoor()
giveCoins()
healPlayer()
spawnEnemy()
И код уже начинает читаться почти как инструкция для самой игры.
🔥 Но есть штука ещё полезнее — функции могут принимать значения:
function takeDamage(damage)
health = health - damage
end
Теперь одна функция умеет наносить разный урон:
takeDamage(10)
takeDamage(50)
takeDamage(100)
Маленький шип отнял 10 HP, меч — 50, огромный босс зарядил на сотку 💀
И вот тут программирование начинает становиться реально удобным.
Переменные хранят данные.
Условия принимают решения.
Циклы повторяют действия.
А функции собирают действия в понятные команды.
Ну что, пока всё понятно? 👀
Если где-то уже начали путаться переменные, циклы и функции — пишите в комментариях.
Завтра соединяем всё вместе и разбираем события в Roblox — как игра понимает, что игрок нажал кнопку, коснулся блока или зашёл на сервер 🎮