Исправление рецептов с плазмой, теперь они смешаны в 1 кучу

main
none 8 months ago
parent 16a4a5b2fa
commit 864e7ed15b

@ -62,10 +62,18 @@ def sround(num, parts):
num -= 1 num -= 1
return num return num
# Поиск элемента в списке рецепта
def ll_find(ll, pat):
find = False
for i in range(len(ll)):
if ll[i][0] == pat:
return i
return None
def calc(el, amount, main = False): def calc(el, amount, main = False):
global db, recipe global db, recipe
if main: if main:
recipe = {} recipe = [] #{}
comps = db[el][2:] # Получаем составные comps = db[el][2:] # Получаем составные
out = db[el][0] #Количество на выходе out = db[el][0] #Количество на выходе
@ -108,12 +116,57 @@ def calc(el, amount, main = False):
for i in comps: for i in comps:
if i[0] not in db: if i[0] not in db:
if i[0] == 'Плазма': if i[0] == 'Плазма':
recipe[i[0]] = 1 #recipe[i[0]] = 1
# Проверяем есть ли уже плазма
#exist = False
#for chk in recipe:
# if chk[0] == 'Плазма':
# exist = True
# break
#if not exist:
if ll_find(recipe, 'Плазма') == None:
#recipe.append([i[0], 1])
recipe = [[i[0], 1]] + recipe
else: else:
if i[0] not in recipe: #if i[0] not in recipe:
recipe[i[0]] = part*i[1] # recipe[i[0]] = part*i[1]
else: #else:
recipe[i[0]] += part*i[1] # recipe[i[0]] += part*i[1]
recipe.append([i[0], part*i[1]])
# ЕСЛИ ЕСТЬ БАГИ ВЕРОЯТНО ЭТО ТУТ
# Если нету плазмы - соединяем вещества
if main:
if ll_find(recipe, 'Плазма') == None:
print('START: ', recipe)
new_recipe = []
#for i in recipe:
while recipe != []:
print("ORIG:", recipe)
el = recipe[0]
new_recipe.append(el)
del recipe[0]
# Текущий id
id = ll_find(new_recipe, el[0])
# Если есть ещё такой элемент
while ll_find(recipe, el[0]):
same_id = ll_find(recipe, el[0])
print('OLD: ', new_recipe[id][1])
new_recipe[id][1] += recipe[same_id][1]
print('NEW: ', new_recipe[id][1] + recipe[same_id][1])
# Удаляем этот элемент
#recipe.pop( same_id )
del recipe[same_id]
print("NEW:", new_recipe)
recipe = new_recipe
if main: if main:
print('PART: ', part) print('PART: ', part)
@ -126,3 +179,4 @@ 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("Эфедрин", 100, True))
print( calc("Криоксадон", 100, True) )

@ -143,7 +143,7 @@ def update_output(reaction, amount):
# Форматирование для HTML # Форматирование для HTML
result = [] result = []
for i in comps: for i in comps:
result.append( html.Div(i + ': ' + str(comps[i]) result.append( html.Div(i[0] + ': ' + str(i[1])
, style={'background-color': 'rgb(213, 193, 86)', 'color': '#ffffff', 'margin-top': 10, 'border-radius': 10, 'padding': 15, 'font-family': '"Source Sans Pro", sans-serif', 'font-size': '120%'}) ) , style={'background-color': 'rgb(213, 193, 86)', 'color': '#ffffff', 'margin-top': 10, 'border-radius': 10, 'padding': 15, 'font-family': '"Source Sans Pro", sans-serif', 'font-size': '120%'}) )
# Выходное вещество # Выходное вещество

Loading…
Cancel
Save