Спрайтовый движок, #4
Недавно купил ПК. Теперь работать стало удобней, чем на планшете. По движку. Работа по нему по-тихоньку продвигается. Хочу сделать возможность писать для движка на двух языках: на LUA и диалекте URQL. Игра на URQL должна иметь расширение urq, а игра на LUA должна иметь расширение lua. Имя игры должно быть одно: game.
То есть либо game.lua либо game.urq. Загрузчик движка сам определит расширение и при urq игре создаст временной файл game.lua на его основе, который и будет проигрывать.
Мой диалект URQL будет отличаться от известного URQL тем, что:
то есть нельзя писать будет btn go,вперёд
Первый параметр - текст названия предмета
Второй параметр - имя переменной предмета (может быть написан на русском или на английском). Обычно оно краткое для работы.
Третий параметр - количество предметов
Третий параметр необязательный, если предмет добавляется один
Второй параметр необязательный, если первым можно будет оперировать в программе: вычисления, проверки. Оперировать названием как переменной можно будет в том случае,
a) если в названии нет кавычек: газировка "Нарзан"
b) если в названии нет пробелов: Красная Шапка Короля
Для переменных могут подойти такие названия: Мешок, рукоятка, меч, рычаг, coins, gold ....
Команде inv- мне кажется достаточно иметь два параметра: переменную предмета и количество отнимаемых единиц
Например:
if gold > 5 then btn покупка, купить сок
btn покупка, купить конфету
btn покупка, купить цветок
end
В данном случае все команды от then до end будут выполняться при истинном условии
То есть либо game.lua либо game.urq. Загрузчик движка сам определит расширение и при urq игре создаст временной файл game.lua на его основе, который и будет проигрывать.
ОТЛИЧИЯ МОЕГО ДИАЛЕКТА URQ ЯЗЫКА
Мой диалект URQL будет отличаться от известного URQL тем, что:
- 1. условия if then else обязательно должны заканчиваться end
- 2. параметры команд от запятых должны отделяться пробелом: btn go, вперёд
то есть нельзя писать будет btn go,вперёд
- 3. команда инвентаря inv+ будет, скорее всего, отличаться дополнительным параметром [переменная: name var item]. Вот синтаксис её:
inv+ name item, name var item, quantity
inv+ название предмета, имя переменной, количество
inv+ Золотых монет, монет, 30Первый параметр - текст названия предмета
Второй параметр - имя переменной предмета (может быть написан на русском или на английском). Обычно оно краткое для работы.
Третий параметр - количество предметов
Третий параметр необязательный, если предмет добавляется один
Второй параметр необязательный, если первым можно будет оперировать в программе: вычисления, проверки. Оперировать названием как переменной можно будет в том случае,
a) если в названии нет кавычек: газировка "Нарзан"
b) если в названии нет пробелов: Красная Шапка Короля
Для переменных могут подойти такие названия: Мешок, рукоятка, меч, рычаг, coins, gold ....
Команде inv- мне кажется достаточно иметь два параметра: переменную предмета и количество отнимаемых единиц
- 4. отсутствие объединения команд &. В моём диалекте URQ команды нужно будет писать на новой строке
Например:
if gold > 5 then btn покупка, купить сок
btn покупка, купить конфету
btn покупка, купить цветок
end
В данном случае все команды от then до end будут выполняться при истинном условии
А всякие декораторы будешь добавлять в синтаксис?
ОтветитьУдалитьДвижок же спрайтовый, поэтому исходя из возможностей спрайтового модуля и буду действовать. Огорчу тем, что спрайтовый модуль не поддерживает avi и gif анимацию. Возможна будет только спрайтовая анимация. Графические изображения статичные и сейчас можно помещать разными способами и создавать клики по ним, но анимацию изображений пока еще не делал.
Удалить