none 8 months ago
parent c7987e6fd1
commit 88571e318a

@ -1,6 +1,10 @@
from db import *
from math import floor
# DEBUG
from icecream import ic
ic.disable()
db = read_db()
# Составные
@ -18,7 +22,7 @@ def sround(num, parts):
good = False
while not good:
num = floor(num)
print(good, ' ', num)
ic(good, ' ', num)
st = 1 ; good = True
# Перебираем различное количество частей
while st < parts:
@ -97,8 +101,14 @@ def calc(el, amount, main = False):
# Считаем 1 часть
part = sround(amount/parts, parts)
# Динамический объём
# Нужен когда у вещества вход 20 а выход 10
#part_vol =
# Перебираем составные и делаем рекурсию
for i in comps:
ic(i)
if i[0] in db:
lpart = calc(i[0], part*i[1])
# Если наша часть больше чем составная
@ -107,6 +117,7 @@ def calc(el, amount, main = False):
# lpart - количество составного в итоге
# 50/3, часть = 16, ИТОГ: 16*3=48 <
if heat and not main:
recipe = [['heat']] + recipe
if heat and main:
@ -124,15 +135,14 @@ def calc(el, amount, main = False):
else:
recipe.append([i[0], part*i[1]])
# ЕСЛИ ЕСТЬ БАГИ ВЕРОЯТНО ЭТО ТУТ
# Если нету плазмы - соединяем вещества
# Если нету плазмы и нагрева - соединяем вещества
if main:
if ll_find(recipe, 'Плазма') == None and not heat:
print('START: ', recipe)
if ll_find(recipe, 'Плазма') == None and ll_find(recipe, 'heat') == None:
ic('START: ', recipe)
new_recipe = []
#for i in recipe:
while recipe != []:
print("ORIG:", recipe)
ic("ORIG:", recipe)
el = recipe[0]
new_recipe.append(el)
del recipe[0]
@ -142,28 +152,33 @@ def calc(el, amount, main = False):
# Если есть ещё такой элемент
while ll_find(recipe, el[0]):
# Если это отметка для нагрева
if el[0] == 'heat':
break
same_id = ll_find(recipe, el[0])
print('OLD: ', new_recipe[id][1])
ic('OLD: ', new_recipe[id][1])
new_recipe[id][1] += recipe[same_id][1]
print('NEW: ', new_recipe[id][1] + recipe[same_id][1])
ic('NEW: ', new_recipe[id][1] + recipe[same_id][1])
# Удаляем этот элемент
#recipe.pop( same_id )
del recipe[same_id]
print("NEW:", new_recipe)
ic("NEW:", new_recipe)
recipe = new_recipe
if main:
print('PART: ', part)
ic(part)
return [recipe, out*part]
else:
print(recipe)
print(el)
print('PART: ', part)
return part*parts
ic(recipe)
ic(el)
ic('PART: ', part)
# >>>>>>>>>>>>>>> Возможен баг <<<<<<<<<<<<
#return part*parts
# Возвращаем объём=часть*выход
return part*out
#print( calc("Лексорин", 100, True))
#print( calc("Бикаридин", 100, True))
@ -172,3 +187,16 @@ def calc(el, amount, main = False):
#print( calc("Криоксадон", 100, True) )
#print( calc("Гидроксид", 100, True) )
#print( calc("Пунктураз", 100, True) )
#print( calc("Эпинефрин", 100, True) )
#print( calc("Гидроксид", 100, True) )
#print( calc("Ацетон", 50, True) )
#print( calc("Фенол", 50, True) )
#print(calc("Бензол", 50, True))
#OK print( calc("Гидроксид", 50, True) )
#print( calc("", 100, True) )
#print( calc("", 100, True) )
#print( calc("", 100, True) )

@ -7,7 +7,6 @@ els = list(db.keys())
from dash import Dash, dcc, html, Input, Output,callback
app = Dash(__name__, title="SS14 Tools", update_title=None)
#### ФОРМАТ СТРАНИЦЫ ####
app.index_string = '''
@ -164,4 +163,4 @@ def update_output(reaction, amount):
if __name__ == '__main__':
# app.run(debug=True)
app.run(debug=False)
app.run(debug=False, port = 9000)

@ -71,7 +71,7 @@ class Reagent:
self.__category = init_data.get("category")
# raw значения которые обработаны
self.heat: bool = init_data.get("heat")
self.__heat: bool = init_data.get("heat")
@property
def name(self):
@ -95,6 +95,9 @@ class Reagent:
print(self.__category)
result.append(self.__category)
# Добавляем нужен ли нагрев
result.append(self.__heat)
if not self.__recipe:
return None
for item in self.__recipe:
@ -171,7 +174,12 @@ def load_recipes(url,name):
# print(item["id"])
if item["id"] not in content:
continue
content[item["id"]]["heat"] = "minTemp" in item
if "minTemp" in item:
content[item["id"]]["heat"] = True
else:
content[item["id"]]["heat"] = False
# if "minTemp" in item:
# print(item["minTemp"])
content[item["id"]]["reactants"] = {
element: {"amount": item["reactants"][element]["amount"], "reagent": element in content} for element in
item["reactants"]}

Loading…
Cancel
Save