Browse Source

Calculate best resource value

JoostSijm 6 years ago
parent
commit
a90dcec611
1 changed files with 27 additions and 11 deletions
  1. 27 11
      factories/factories.py

+ 27 - 11
factories/factories.py

@@ -1,6 +1,8 @@
 """Calculate production in different factories"""
 
 import json
+import copy
+
 
 from rival_regions_calc import Item, WorkProduction
 
@@ -23,8 +25,8 @@ with open('resources.json') as file:
 
 
 WP = WorkProduction()
-WP.user_level = 95
-WP.work_exp = 80000 + 200 * 350
+WP.user_level = 80
+WP.work_exp = 80000 + 200 * 250
 WP.nation_bonus = True
 WP.profit_share = 75
 
@@ -38,7 +40,7 @@ def calculate_wage(resource_name, factory):
     WP.factory_level = factory['level']
     WP.department_bonus = DEPARTMENTS[resource_name]
     WP.resource_max = REGIONS[str(factory['region_id'])]['resources'][resource_name]
-    WP.wage_percentage = factory['wage']
+    WP.wage_percentage = factory['wage_percentage']
     WP.tax_rate = REGIONS[str(factory['region_id'])]['tax'][resource_name]
     WP.calculate()
     return WP.wage() * PRICE[resource_name]
@@ -56,9 +58,8 @@ def print_per_resource():
     """Print wages per resource"""
     for resource_name, factories in RESOURCES.items():
         print(resource_name)
-        for factory in sorted(factories.values(), key=lambda k: k['wage'], reverse=True):
-            print('{:30} {:>12}'.format(
-                factory['name'],
+        for factory in sorted(factories.values(), key=lambda k: k['wage']):
+            print('{}'.format(
                 int(factory['wage']),
             ))
 
@@ -91,19 +92,34 @@ def print_factory_list():
             ))
 
 
-
 def main():
     """Main function"""
 
     for resource_name, factories in RESOURCES.items():
+        factory = None
+        factory_id = None
         for factory_id, factory in factories.items():
-            wage = calculate_wage(resource_name, factory)
-            RESOURCES[resource_name][factory_id]['wage'] = wage
+            factory = factory
+            factory_id = factory_id
 
-    # print_per_resource()
-    print_all()
+        RESOURCES[resource_name][factory_id]['wage'] = calculate_wage(resource_name, factory)
+
+        for i in range(factory['level'], 221, 5):
+            new_factory_id = int(factory_id) + i - 150
+            new_factory = copy.copy(factory)
+            new_factory['level'] = i
+            new_factory['name'] = i
+            new_factory['wage'] = calculate_wage(resource_name, new_factory)
+            RESOURCES[resource_name][str(new_factory_id)] = new_factory
+
+    print_per_resource()
+    # print_all()
     # print_factory_list()
 
 
+def print_json(json_text):
+    """Print data to console"""
+    print(json.dumps(json_text, sort_keys=True, indent=4))
+
 if __name__ == '__main__':
     main()