Yogurt
Потом просто сотри все это
🦥Alex Fails
/setrules Тут можно обсуждать все, что связанно с луа – движки, интерпретаторы/компиляторы, питухан-биндинги, скрипты на сталкер: Тени Чернобыля и пр. Срачи не желательны, но если уж сильно бомбит, то разрешаю, но в рамках чата и не переходить сильно на личности.
⚠️За нарушения правил – предупреждения, а затем бан на срок от 1 дня до ∞.
❗️Если считаешь, что тебя несправедливо забанили, пиши @AlexFails в личку. Возможно, тебя разбанят.
❗️Также предлагайте интересные материалы, помечая их соответствующими хештегами (к примеру, #lua, #engine, #physics и пр.)
Yogurt
#lua #love2d #cocos2d
У меня тут пара туториалов на хабре есть
https://habrahabr.ru/users/yegorf1/topics/
Yogurt
(Хэштег #lua сомнительный)
Yogurt
(имхо)
🦥Alex Fails
Да, в рамках чата он избыточен, но для поиска по тегам во всех чатах он поможет отфтльтровать
Snusmumriken
Хех, обнаружил что с одним luasocket можно достаточно легко замутить бота.
Yogurt
В смысле?
Yogurt
мне кажется писать бота на луа нет никакого выиграша перед питоном
🦥Alex Fails
В смысле?
Дык бот на тг - это веб-приложение, которое делает хттп-запросы
🦥Alex Fails
Snusmumriken
В смысле?
Ну, обычные http-запросы. Можно не париться с ssl/https. Выигрыш - штука всегда относительная. У меня есть полный комплект всякой фигни, который делает из lua-скрипта сервис/демон. Догадываешься что это значит?
Yogurt
Мне кажется, что всякие там Руби, ноды и питоны оптимальны для этого дела
Yogurt
Yogurt
Спорно
Yogurt
на луа нет либ для этого
Yogurt
Хотя можно юзать telegram-cli в режиме бота
Yogurt
и это упрощает все
Yogurt
но теи не менее это как-то костыльон имхо
Yogurt
Ну для этого нужно настроить прием и парсинг json'а
Yogurt
А если что-то более крутое, то еще и обертку под api
Snusmumriken
Хех, все уже схвачено моими конечными автоматами и колбеками.
Yogurt
тогда ладно
Yogurt
Я думал ты говоришь про ванильную луашку
🦥Alex Fails
Yogurt
http://lua-users.org/wiki/JsonModules
Snusmumriken
Конечные автоматы с колбеками - это мои либы жеж. Я писал парсер простого json (довольно медленный из-за обилия string.match/string.gsub), но использую cjson ибо сишная либа, парсит гораздо быстрее чем тот же питон, имеет safemode и прочую фигню. Не понимаю, правда, чем подключенная библиотека мешает ванильной lua быть ванильной. Это же не полная либа для ботов.
Snusmumriken
В общем, тут вопрос уровня абстракции компонентов. Чем ниже уровень абстракции тем больше свобода, но для бота телеграмма, очень низкий уровень абстракции н е нужен.
Кстати, я знаю где это можно применить в работе.
Например, набор ботов, которые прицеплены к сервачкам (у меня на работе, произвольные lua-скрипты цепляются к БД) и мониторят состояние серверов. Плюс набор команд управления серверами, а ля 'запусти этот bat/sh', и лишний бот, который напрямую слинкован с остальными серверами и отслеживает их падения, с уведомлялками.
Snusmumriken
Хех, утащил чтобы посмотреть как работает.
FailsBot
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆ FailsBot
🦥Alex Fails
Snusmumriken
Хех, это на мою попытку "сделать вжух" пол дня назад? :3
FailsBot
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆ FailsBot
Snusmumriken
О да
🦥Alex Fails
🦥Alex Fails
У него есть еще инлайн-вжух
Anonymous
Доброе утро!
Anonymous
Ребята, а какие книги для начинающих посоветуете? Я веду Твиттер @backendsecret и хотела бы поделиться с интересующимся Lua
Anonymous
И, конечно, почитать
Anonymous
Онлайн ресурсы помимо документации тоже подойдут
Alejandro Jeditobe
Alejandro Jeditobe
По луа книжка Роберта Иерусалимского
Anonymous
Спасибо большое!
Иван
блин
Иван
рано отправил
Иван
Привет, человеки. Пишу игрулю на луа, а язык знаю очень поверхностно. Особо разбираться времени нет (а то хрен я её когда до играбильного состояния допишу). Поэтому буду спрашивать тут всякую тупость.
Итак. Допустим есть в игре такое понятие, как комната (карта с квадратными клетками). У неё есть имя, размер, двумерный массив клеток. Клетки-то меня и озадчили.
Дело в том, что клетки могут быть очень разными: проходимыми/непроходимыми, простреливаемыми/не простреливаемыми, разрушаемыми/не разрушаемыми, просматриваемыми/не просматриваемыми (видно ли то что находится на них), с разными текстурами/анимациями. Даже с разным поведением (так что тут методы нужны, а не свойства).
Получается у клетки есть интерфейс (набор методов), а его реализаций может быть очень много. Думаю сделать базовый класс Cell, в котором все методы тупо возвращают каке-то дефолтные значения (скажем при "просьбе" юнита шагнуть на эту клетку никак не менять его позицию, при попытке отрисовать отдавать тупо чёрный цвет, при подлёте снаряда удалять его даже без взрыва и т.п.). Потом сделать каталог с классами-наследниками, которые бы как-то переопределяли эти методы (например лава позволяла бы зайти в неё, но тут-же убивала с анимацией "сгорание") .
Далее, я так понимаю, мне нужна будет фабрика, которая будет делать что-то в роде:
function CellFabric(type)
return require('cells/'~type):new()
end
И тогда, имея карту в виде двумерного массива имён типов клеток:
{
{'wall', 'road', 'wall', 'wall', 'water', 'underwaer_road', 'water'},
{'wall', 'road', 'road', 'road', 'road', 'road', 'water'},
{'wall', 'wall', 'lava', 'road', 'wall', 'wall', wall'},
{'wall', 'lava', 'lava', 'hell_road','lava','lava'},
{'wall', 'lava', 'lava', 'hell_road','lava','lava'}
}
Можно будет тупо в двойном цикле построить целевой массив клеток:
for x = 1, map.length do
for y = 1, map[x].length do
room.map[x][y] = CellFabric(map[x][y])
end
end
Правильно я рассуждаю?
Yogurt
Аааа
ты из явы пришел, да?
Иван
неа
Yogurt
Зачем фабрики?
Просто класс (прототип)
Yogurt
http://lua-users.org/wiki/SimpleLuaClasses
Иван
Зачем фабрики?
Просто класс (прототип)
Я думаю затем, чтобы экземпляр конкретного класса можно было получить, имея например строку с его именем или что-то в таком духе (не знаю пока в каком формате карты будут).
Yogurt
Ладно, это уже ваше дело как реализовывать, фишка в том, что вам нужн класс Cell а дальше страдайте с ним как хотите
Yogurt
(:
Tverd
Всем привет!
Иван
Привет
Tverd
Тут читал про фабрики. Очень рекомендую посмотреть на исходники diablorl и doomrl
Yogurt
У него есть сайлент мод?
Yogurt
А то раздражает
Tverd
Есть
Tverd
Парни, а кто-нить юзал макросы в луа? Есть несколько либ, типа metalua и luamacro. Но насколько я понял, они оба используют lpeg. А есть что-то на чистом луа? И желательно минималистичное...
Snusmumriken
Просто модуль на lua, который грузит другие модули :)
Загрузчик, кстати, должен быть аналогичен require, то есть, шастать по package.path и дефолтным путям, ища существующий файл.
Yogurt
Сниф, это ты навеялся соседним чатиком?
Yogurt
Темы подозрительно похожи
Dmitry
всем привет
Yogurt
Прив
Dmitry
а есть такой канал по bash
Yogurt
БашОргу или Башу?
🦥Alex Fails
Dmitry
спасибо
Dmitry
bash
Dmitry
не bash.org
Dmitry
pro.linux - нет такого
Yogurt
pro.linux
Операционная система Linux. Взамен старой-доброй группы pro.linux с которой и началась вся серия групп pro.*, т.к. создатель её покинул нас и новые участники не могут добавиться.
https://telegram.me/joinchat/Be4rsT7VI1LxrHaMR3pezQ
#linux #unix #nix #tux #os #arch #fedora #ubuntu #gentoo
Dmitry
спс