Skip to content

Latest commit

 

History

History
48 lines (41 loc) · 2.72 KB

File metadata and controls

48 lines (41 loc) · 2.72 KB

Симулатор на разпространение на зарази

Постановка

Това е без особено значение. Въпросът е да има някакво съдържание, което да манипулираме в последствие.

  • Градове, села
    • отворени
    • затворени
  • Хора (животни?)
    • податливи - качество на личната хигиена?
    • заразени - видимо и неявно, от колко време?
    • излекувани
  • Гражданска активност
    • висока
    • ограничена
    • междуградски пътувания? (при нас - телепортация)
  • Заразата
    • Радиус на предаване (@TODO better word)
    • Вероятност за предавне болен → здрав
    • Инкубационен период
    • Време за възстановяване
  • Здравна система
    • Капацитет
    • Скорост на реакция при поява на болен

Същественото

Искаме да направим програма, която:

  • По зададени параметри

    • как? CLI, STDIN, file
  • симулира

    • движи хората по градовете, заразява ги, лекува ги
  • "в реално време"

    • напр. 10 пъти в секунда обновява състоянието си и го изкарва на потребителя
  • разпространение на зараза

    • Организира в паметта целия разглеждан свят
    • По зададени от нас правила отразява, "извършва" разпространението
  • и се съобразява със следното: Keep it simple, stupid! Simple е условно понятие. По-конкретно имаме предвид принципи като следните:

    • На "едно място" има "малко" код (more info)
      • Една клас се грижи за "едно нещо"
      • Една функция върши "едно действие"
      • Един файл от програмата има една цел, обединява функции (структури) с обща "тема"
    • Не правим "излишни движения"
      • Например, функция, отбелязваща човек като 'здрав', няма нужда да записва това във файл