Если быть честным, то прогресс за один день. В течении второго ничего добиться не получилось.
Краткий обзор
Сменился графический движок (теперь он на OpenGL), добавились новые команды и название старых было изменено, добавился новый юнит и введены характеристики, добавилось возможность запомнить по одному юниту каждого типа. Теперь за ход выполняется не одна команда, а множество команд, которые могут быть выполнены и независимы. Например, рабочий может либо сходить, либо построить базу, но вместе эти действия совершить нельзя.
Юниты
Сокращения: HP - жизни, AT - атака, T - тип, M - графическое отображение
Рабочий. HP - 2, AT - 0, T - 0, M - конус, остриём вниз.
База. HP - 20, AT - 0, T - 1, M - шар.
Башня. HP - 10, AT - 1, T - 3, M - параллелепипед. На каждом ходе башня атакует клетки во все 4 направления.
Команды
Курсивом помечаются аргументы функции.
move x y d - юнит с координатами (x, y) перемещается в направление d
build x y t d - юнит с координатами (x, y) строить здание типа t в направление d
basecreate x y t - база с координатами (x, y) производит юнита типа t
mworker x y - запомнить рабочего с координатами (x, y)
mbase x y - запомнить базу с координатами (x, y)
mwmove d - запомненный рабочий перемещается в направлении d
mwbuild t d - запомненный рабочий строит здание t в направлении d
mbcreate t - запомненная база производит юнита типа t
| - разделитель, введён чтобы облегчить восприятие алгоритма. Отделяет команды созданные для одного шага.
Скрины
В ближайших планах на реализацию
Реализовать запоминание потенциально бесконечного числа юнитов каждого типа. Ввести команды, реализующие однотипные действия (циклы). Добавить импорт моделек. Приделать интерфейс (этим я собственно сегодня полдня и занимался - пытался совместить OpenGL и Qt, не прочитав толком ни одно статьи про их совмещение. Пока не получилось. Будем пробывать дальше).
Благорадрность
Комментариев нет:
Отправить комментарий