That post hinted that I've been doing setting up my classes wrong, so I'm retrying it again:
Code:
class Pop:
def __init__ (self, name, percentage, number_labor, number_total, agricultural_land, agricultural_land_percentage, cash_crop_land, cash_crop_land_percentage, pasture_land, pasture_land_percentage, total_agricultural_land, agricultural_efficiency, grain_produced, cash_crop_produced, cattle_produced, food_produced, food_demanded):
self.name = name
self.percentage = percentage
self.number_labor = number_labor
self.number_total = number_total
self.agricultural_land = agricultural_land
self.agricultural_land_percentage = agricultural_land_percentage
self.cash_crop_land = cash_crop_land
self.cash_crop_land_percentage = cash_crop_land_percentage
self.pasture_land = pasture_land
self.pasture_land_percentage = pasture_land_percentage
self.total_agricultural_land = total_agricultural_land
self.agricultural_efficiency = agricultural_efficiency
self.grain_produced = grain_produced
self.cash_crop_produced = cash_crop_produced
self.cattle_produced = cattle_produced
self.food_produced = food_produced
self.food_demanded = food_demanded
def agricultural_efficiency (self, agricultural_efficiency):
self.agricultural_efficiency == min (100, self.number_labor * 500 / self.total_agricultural_land)
def grain_produced (self, grain_produced):
self.grain_produced == self.agricultural_efficiency * self.agricultural_land * Grain_Acreage * 0.01
def cash_crop_produced (self, grain_produced):
self.cash_crop_produced == self.agricultural_efficiency * self.cash_crop_land * Cash_Crop_Acreage * 0.01
def cattle_produced (self, grain_produced):
self.cattle_produced == self.agricultural_efficiency * self.pastoral_land * Cattle_Acreage * 0.01
label start:
python:
Aristocracy = Pop("Aristocracy", percentage = 5, number_labor = 2000, number_total = 5000, agricultural_land = 128000, agricultural_land_percentage = 80, cash_crop_land = 20000, cash_crop_land_percentage = 100, pasture_land = 18000, pasture_land_percentage = 90, total_agricultural_land = 166000, agricultural_efficiency = 0, grain_produced = 0, cash_crop_produced = 0, cattle_produced = 0, food_produced = 0, food_demanded = 100000)
Yeomanry = Pop ("Yeomanry", percentage = 17, number_labor = 6800, number_total = 17000, agricultural_land = 32000, agricultural_land_percentage = 20, cash_crop_land = 0, cash_crop_land_percentage = 0, pasture_land = 2000, pasture_land_percentage = 10, total_agricultural_land = 34000, agricultural_efficiency = 100, grain_produced = 320000, cash_crop_produced = 0, cattle_produced = 3000, food_produced = 323000, food_demanded = 204000)
Serf = Pop ("Serf", percentage = 60, number_labor = 24000, number_total = 60000, agricultural_land = 0, agricultural_land_percentage = 0, cash_crop_land = 0, cash_crop_land_percentage = 0, pasture_land = 0, pasture_land_percentage = 0, agricultural_efficiency = 72, grain_produced = 921600, cash_crop_produced = 0, cattle_produced = 19440, food_produced = 941040, food_demanded = 720000)
It returned an error
Code:
TypeError: __init__() takes exactly 18 non-keyword arguments (11 given)
While running game code:
- script at line 60 of D:\Ren'Py\renpy-6.12.0\Test/game/script.rpy
- python at line 62 of D:\Ren'Py\renpy-6.12.0\Test/game/script.rpy.
What has gone wrong?
EDIT: The situation's changed a little. Post edited to reflect that.