TOWER DEFENSE

Смысл игры: По дороге идут противники, желающие дойти до финиша.
            Игрок ставит башни, который убивают противников.
            Необходимо уничтожить все волны врага.

Реализация: Для создания игры был использован модуль PyGame.
            В начале игры создается объект класса Game.
            В него загружается вся информация, также загружается игровое поле.
            Базовым классом и основой всей игры является класс Rectangle,
            который позволяет отображать на экране все объекты.
            
            Класс World служит для создания мира, дороги. Мир состоит из клеток
            различного типа: трава, камни, дорога и указатели пути для врагов.
            Для создания игрового мира использовался паттерн "Фабричный метод".
            Этот паттерн позволил легко создавать клетки, имеющие различные
            параметры.
            Игровая карта состоит из чисел(0-3), где каждое число отвечает своей
            клетке. В мире игры есть массив фабрик, каждая из которых производит
            клетку определенного типа в зависимости от числа.
            
            Игрок может располагать свои башни только на
            клетках с травой.
            Башни было задумано читать из специального файла для того, чтобы их
            можно было настраивать и, к примеру, для определенного уровня
            загружать другие башни.
            При создании башен применяется паттерн "Строитель". Его
            использование позволило легко создавать и изменять башни, меняя
            всего лишь конфиг с башнями. 

            Всеми монстрами управляет один общий класс, EnemyController. 
            Волны монстров будут читаться в файле с миром и загружаться в класс.
            Для создания монстров будет также применен паттерн "Фабричный
            метод", так как с его помощью можно легко создавать различные типы
            одних и тех же объектов.
            
План        В перспективе будут доработаны башни (установлены их характеристики,
на будущее: возможность ставить на поле), добавлены волны врагов различного
            типа, экономика (игрок зарабатывает деньги за убийства и
            покупает/прокачивает башни), расширено меню и улучшен интерфейс. 
