Files
Elvenbane/main.py

78 lines
4.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import eb_engine
def main():
e = eb_engine.Engine()
e.main_loop()
if __name__ == "__main__":
# Отрисовка голой сетки, прокрутка, масштаб +
# Отрисовка спрайтов:
# - сделать масштабирование в соотв. с клеткой +
# - посмотреть класс спрайта или сделать свой +
# - добавить отрисовку существ и предметов с анимацией +
# - оптимизация - рисуем только те клетки, которые рядом с камерой
# - оптимизация - не рисуем клетки по отдельности - собираем из них одну поверхность и её рисуем
#
# Начало гуя:
# - общая идея гуя
# - кнопка отключить сетку
# - строка ввода
# - клик
# - вывод stdout на отдельную панель, полный экран, потом масштабирование всего под размер экрана
# Поиск пути, очередь задач для существ
# Редактор карты
# Охотник -> деревня
# Простой, но основательный гуй внизу экрана, глобальная карта и перемещение
# деревня на соседской локации и торговля с ней
# перемещение по воде, течение
#техдолг:
# pydantic instead of dataclasses?
# почитать про Surface, Display, доку к pygame-gui
# проверить дефолтдикт field и None = None
# изучить pypmler
# настроить логирование всего
# SLOP: load_sprites
# проверить у ллм на ошибки - РЕГУЛЯРНАЯ АКТИВНОСТЬ:
# - deepcopy +
# - общие +
main()
#
# !!! ДОБАВИТЬ ПРОКРУТКУ И МАСШТАБ КАРТЫ ДЛЯ МЫШИ !!!
#
# ДОДЕЛАТЬ move для Creature - хранить pos в объекте ???
#
# ПРОВЕРИТЬ МЕНЯЕТСЯ ЛИ ПЕРЕДАННЫЙ В ОБЪЕКТ cells и если да,
# перенести всё взаимодействие с картой в объекты, карта только хранит cells
# и готовит данные для отрисовки Render'ом
#
# ИГРОВОЙ ТАКТ? или только для действий их длительность?
#
# ПОСМОТРЕТЬ ПО КОММИТАМ ЗАЧЕМ БЫЛ НУЖЕН path_exists, удалить?
#
# добавил гуй, динамическая консоль, всё работает, но:
# - слоп, почистить
# - мини-баг - если первые вводимые буквы совпадают с клавишами управления, один раз успевает проскочить до лока. некритично.
# - при вводе текста нет прокрутки к концу
# - плавающий баг - если повводить текст, а потом закрыть консоль, игра не закроется по эскейпу.
#
# исправить поиск пути чтобы он учитывал других существ
#
#
# сделать активного юнита - отряд с кружочком выделения
# групповое выделение мышью
# группировка и движение отряда - алгоритм стаи?
#
#
#
# в дальнейшем вся отрисовка переедет в класс рендер,
# карта будет только вовзращать поверхность для отрисовки или даже просто Cells
# active_cell переедет в класс Control
#
# НАЙТИ В КОДЕ ГДЕ Я ТАК НЕ СДЕЛАЛ И ИСПРАВИТЬ - НАШЕЛ ОДНУ, ПОИСКАТЬ ЕЩЕ
#if a is None:
# print("a это точно None")
#
# Альтернатива
#if a is not None:
# print("a не None")