City manager - Kariel-Myrr/Walk_City GitHub Wiki

Краткое руководство использования класса CityManager

Вызов класса: var city : CityManager(this, num)

где num: 1 - если игра новая, 0 - если продолжить игру

Функции:

download() (Загрузка всех параметров из базы данных)
unload() (Перенос всех данных в базу данных)
trying() (Возвращает количество строк в таблице CityData, т.е. если возвращает не 0, то в базе данных есть информация)
city() (Возвращает класс CityData с параметрами)
inventory() (Возвращает класс InventoryData с параметрами)
protection() (Возвращает класс ItemProtection с параметрами)
resource() (Возвращает класс ItemResource с параметрами)
weapon() (Возвращает класс ItemWeapon с параметрами)


  • Атака города

    Аргументы: at: City, def: City
    1. получить урон атакующего города
    2. получить здоровье атакованного города
    3. отнять от здоровья атакованного города атаку атакующего города
      Если жизней <= 0, то active = 0
  • Торговля

    Аргументы: first: City, second: City
    1. Узнать количество отдаваемого/получаемого дерева/камня/железа/еды/воды
    2. Если обмен возможен, то обменять
  • Сбор ресурсов

    Аргументы: city: City, place: Place(this)
    1. Узнать количество отдаваемого/получаемого дерева/камня/железа/еды/воды
    2. Если обмен возможен, то обменять
  • Перемещение

    Аргументы: city: City, map: Map
    1. Узнать координату перемещения
    2. Если соответствует параметрам скорости города, то запомнить
  • Триггер перехода хода

    • Перемещение
    1. Если новая координата указана, то переместить
    2. Отнять еду/воду пропорционально перемещению в манхетенской системе,
      где цена перехода между площадками (1 еденица) х (кол. жителей)
    3. Если кол. еды/воды отрицательно, то active = 0
  • Смена оружия

    1. Узнать номер оружия со склада
    2. Переместить его на номер первого слота
      Если в первом слоте есть однослотовое оружее, то переместить на второй слот и поместить оружие со склада
      Если во втором слоте есть однослотовое оружее, то переместить на склад и поместить оружие с первого слота
      Если в первом слоте есть двухслотовое оружее, то переместить на склад и поместить оружие со склада
    3. Сделать перещёт атаки
  • Крафт

    1. Оружее
      1. Узнать номер оружия из списка рецептов
      2. Если нехватает ресурсов, закончить процесс
      3. Если нехватает места на складе, то узнать номер оружия со склада и выкинуть его
      4. Поместить оружие на склад и вычесть из инвентаря ресурсы
    1. Броня
      1. Узнать номер брони из списка рецептов
      2. Если нехватает ресурсов, закончить процесс
      3. Если была броня, то выкинуть её и помесить в слот броню и вычесть из инвентаря ресурсы
      4. Сделать перещёт брони