diff --git a/reworked/calc.py b/reworked/calc.py new file mode 100644 index 0000000..1d5cfb9 --- /dev/null +++ b/reworked/calc.py @@ -0,0 +1,36 @@ +def expand_recipe(recipe, recipes, main = False): + global expanded + + ok = False + part = 1 + while not ok: + ok = True + for el in recipe: + if el in recipes: + if part % recipes[el].out != 0: + ok = False + part += 1 + expanded = {} + break + else: + expand_recipe(recipes[el].comps, recipes) + else: + if el in expanded: + expanded[el] += recipe[el]*part + else: + expanded[el] = recipe[el]*part + +def calc(element, amount, recipes): + # TODO: Пока только выводит расширенную версию рецепта + recipe, out = recipes[element].comps, recipes[element].out + + global expanded + expanded = {} + expand_recipe(recipe, recipes, True) + + return expanded + + +from parse import * +#print( load_recipes() ) +print( calc('Dylovene', 100, load_recipes()) )