resources - съдържа събраните от потребителя ресурси
SQL code:
user_id
total_gold
total_iron
total_stone
Пример:
Потребителя в момента има:
* Злато - 1500
* Желязо - 300
* Камък - 765
________________________________________
resources_per_min - съдържа по колко ресурси да събира на минута(ако искаш ги пази и на час, просто ще трябва да делиш на 60)
SQL code:
user_id
gold_per_min
iron_per_min
stone_per_min
Пример:
Потребителя на час трябва да прави:
* Злато - 840 (или по 14 на минута)
* Желязо - 180 (или по 3 на минута)
* Камък - 540 (или по 9 на минута)
________________________________________
Процес на минута: (работа на scheduler-a)
Тик 1:
* Злато = 1500 + 14 = 1514
* Желязо = 300 + 3 = 303
* Камък = 765 + 9 = 774
Тик 2:
* Злато = 1514 + 14 = 1528
* Желязо = 303 + 3 = 306
* Камък = 774 + 9 = 783
... продължава надолу ...
________________________________________
Строеж на желязна мина за потребител Х:
1. Взимаме ресурси за построяването
* Злато = 1528 - 180 = 1348
* Желязо = 306 - 30 = 276
* Камък = 783 - 83 = 700
2. Регистрира се задача, която трябва да се изпълни след 10 минути
3. След 10 минути се изпълнява задачата
4. Желязната мина вече трябва да дава по 300 на час(5 на мин)
5. Ъпдейт на resources_per_min
* Злато - 840 (14 на мин) - не се променя
* Желязо - (стари 180 (3 на мин) ) - 300 (5 на мин) -
само тази колона променяме от UpdateResourcesPerMinJob* Камък - 540 (9 на мин) - не се променя
_________________________________________
след 10 минути (предполагаемото време за построяването на новата сграда) ресурсите са следните:
* Злато = 1348 + (14з./мин * 10 мин) = 1488
* Желязо = 276 + (3ж./мин * 10 мин) = 306
* Камък = 700 + (9к./мин * 10 мин) = 790
(Тези са се обновявали през това време от scheduler-a)
От тука вече имаме построена сграда и нова стойност за добива на желязо
... Тик 13:
* Злато = 1488 + 14 = 1502
* Желязо = 306 +
5 = 311
* Камък = 790 + 9 = 799
Тик 14:
* Злато = 1502 + 14 = 1516
* Желязо = 311 +
5 = 316
* Камък = 799 + 9 = 808
И т.н.
Баси, трябва да напиша статия. Аз колкото неща описах тука и както ги описах трябва да си търся и авторско право, хаха.
