Показано с 1 по 20 из 120

Тема: Emigration 2

Древовидный режим

  1. #33
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    иммиграция с учетом пантеона

    общая формула конверсии в религию:
    процент конверсии x = 100/p где p - население города после иммиграции, применяется ко всем представленным в городе религиям (см пример с копенгагеном выше).

    алгоритм религиозной миграции:
    1. если мигрирует атеизм - делаем конверсию в атеизм.
    2. если мигрирует пантеон - смотрим, основал ли владелец города пантеон player:HasCreatedPantheon().
    2.a. если основал - делаем конверсию в пантеон.
    2.b. если не основал - делаем конверсию в атеизм.
    3. если мигрирует религия - смотрим, есть ли в городе пантеон (число последователей пантеона > 0)
    3.a. если пантеона нет - конвертируем в религию.
    3.b. если пантеон есть, производим специальную конверсию (не пользуемся общей формулой конверсии):
    - сохраняем число атеистов и язычников в городе: af, pf
    - конвертируем 100*(1+1/pf)% пантеона в атеизм
    - конвертируем 1 атеиста в религию, x = 100/(af+pf+1)
    - конвертируем pf атеистов назад в пантеон, x = 100*pf/(af+pf)

    пример:
    целевой город - 3 жителя, 100 очков атеизм (1п), 200 очков пантеон (2п)
    af = 1, pf = 2.
    приезжает индуист.
    конвертируем 100*(1+1/pf)=150% пантеона в атеизм, получаем 400 атеизма, 0 пантеона (очки давления не могут уйти в минус)
    конвертируем атеиста в религию, x = 100/(1+2+1)=25% = 100 очков получает индуизм, в атеизме остается 300
    конвертируем атеистов в пантеон, x = 100*2/(1+2)=67% или 201 очков
    результирующее распределение:
    4 жителя, 100 индуизм (1п), 100 атеизм (1п), 201 пантеон (2п)


    эмиграция с учетом пантеона

    если в городе есть пантеон,
    1. сохраняем исходное число атеистов и язычников af, pf
    2. сливаем 100% пантеона в атеизм и дальше делаем по обычному алгоритму (см пост №55); при эмиграции язычника перелив в другие религии будет делаться из атеизма.
    3. по окончании конвертируем атеистов назад в пантеон:
    3.a. если эмигрировал атеист, x = 100*pf/(pf+af-1)
    3.b. если эмигрировал язычник, x = 100*(pf-1)/(pf-1+af)
    3.c. иначе x = 100*pf/(pf+af)


    ps я думаю этот алгоритм мне самому нужно будет закодировать, займусь этим послезавтра
    продвинь это сообщение в соцсеть:  
    Последний раз редактировалось Peter; 08.03.2016 в 22:24.
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters