From 3fb0ae9a7b4bd9bb7ac02aa69e73fdfe9c15276a Mon Sep 17 00:00:00 2001 From: none Date: Sat, 27 Jan 2024 20:48:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=20=D0=BF=D0=BE=D1=81=D0=BB?= =?UTF-8?q?=D0=B5=D0=B4=D0=BD=D0=B5=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db.json | 488 ++++++++++++++++++++++++++++++++++++---------------- site_old.py | 132 +++++++------- 2 files changed, 413 insertions(+), 207 deletions(-) diff --git a/db.json b/db.json index 68eb18d..3262fef 100644 --- a/db.json +++ b/db.json @@ -1,641 +1,837 @@ { + "Аммиак": [ + 4, + [ + "Водород", + 3 + ], + [ + "Азот", + 1 + ] + ], + "Диэтиламин": [ + 2, + [ + "Аммиак", + 1 + ], + [ + "Этанол", + 1 + ] + ], + "Хлоральгидрат": [ + 1, + [ + "Хлор", + 3 + ], + [ + "Этанол", + 1 + ], + [ + "Вода", + 1 + ] + ], + "Политриновая кислота": [ + 3, + [ + "Серная кислота", + 1 + ], + [ + "Плазма", + 1 + ], + [ + "Калий", + 1 + ] + ], + "Фторсерная кислота": [ + 4, + [ + "Фтор", + 1 + ], + [ + "Водород", + 1 + ], + [ + "Калий", + 1 + ], + [ + "Серная кислота", + 1 + ] + ], + "Серная кислота": [ + 3, + [ + "Водород", + 1 + ], + [ + "Сера", + 1 + ], + [ + "Кислород", + 2 + ] + ], + "Нестабильный мутаген": [ + 3, + [ + "Радий", + 1 + ], + [ + "Фосфор", + 1 + ], + [ + "Хлор", + 1 + ] + ], + "Токсин хартбрейкер": [ + 2, + [ + "Дексалин плюс", + 1 + ], + [ + "Токсин майндбрейкер", + 1 + ] + ], + "Лексорин": [ + 2, + [ + "Токсин хартбрейкер", + 1 + ], + [ + "Плазма", + 1 + ], + [ + "Вестин", + 1 + ] + ], + "Токсин майндбрейкер": [ + 3, + [ + "Кремний", + 1 + ], + [ + "Водород", + 1 + ], + [ + "Диловен", + 1 + ] + ], + "Пакс": [ + 3, + [ + "Токсин майндбрейкер", + 1 + ], + [ + "Синаптизин", + 1 + ], + [ + "Вода", + 1 + ] + ], + "Тазинид": [ + 1, + [ + "[!] licoxide", + 1 + ], + [ + "Вестин", + 1 + ] + ], "Криптобиолин": [ + 3, [ - false, "Калий", 1 ], [ - false, "Кислород", 1 ], [ - false, "Сахар", 1 ] ], "Диловен": [ + 3, [ - false, "Кремний", 1 ], [ - false, "Азот", 1 ], [ - false, "Калий", 1 ] ], "Дифенгидрамин": [ + 3, [ - false, - "[!] diethylamine", + "Диэтиламин", 1 ], [ - false, - "[!] oil", + "Масло", 1 ], [ - false, - "[!] tablesalt", + "Столовая соль", 1 ], [ - false, "Углерод", 1 ], [ - false, - "[!] ethanol", + "Этанол", 1 ] ], "Этилредоксразин": [ + 3, [ - false, "Кислород", 1 ], [ - true, "Диловен", 1 ], [ - false, "Углерод", 1 ] ], "Аритразин": [ + 2, [ - true, "Хироналин", 1 ], [ - false, "Водород", 1 ] ], "Бикаридин": [ + 2, [ - true, "Инапровалин", 1 ], [ - false, "Углерод", 1 ] ], "Криоксадон": [ + 3, [ - true, "Дексалин", 1 ], [ - false, "Вода", 1 ], [ - false, "Кислород", 1 ] ], "Доксарубиксадон": [ + 2, [ - true, "Криоксадон", 1 ], [ - true, "Нестабильный мутаген", 1 ] ], "Дермалин": [ + 3, [ - true, "Келотан", 1 ], [ - false, "Кислород", 1 ], [ - false, "Фосфор", 1 ] ], "Дексалин": [ + 3, [ - false, "Кислород", 2 ], [ - false, "Плазма", 1 ] ], "Дексалин плюс": [ + 3, [ - true, "Дексалин", 1 ], [ - false, "Углерод", 1 ], [ - false, "Железо", 1 ] ], "Эпинефрин": [ + 4, [ - false, - "[!] phenol", + "Фенол", 1 ], [ - false, - "[!] acetone", + "Ацетон", 1 ], [ - false, "Хлор", 1 ], [ - false, - "[!] hydroxide", + "Гидроксид", 1 ] ], "Хироналин": [ + 2, [ - false, "Радий", 1 ], [ - true, "Диловен", 1 ] ], "Ипекак": [ + 2, [ - false, "Калий", 1 ], [ - false, "Азот", 1 ], [ - false, - "[!] ammonia", + "Аммиак", 1 ] ], "Инапровалин": [ + 3, [ - false, "Кислород", 1 ], [ - false, "Углерод", 1 ], [ - false, "Сахар", 1 ] ], "Келотан": [ + 2, [ - false, "Кремний", 1 ], [ - false, "Углерод", 1 ] ], "Лепоразин": [ + 2, [ - false, "Медь", 1 ], [ - false, - "[!] fersilicite", + "Силицид железа", 1 ], [ - false, "Плазма", 1 ] ], "Фалангимин": [ + 3, [ - true, "Хироналин", 1 ], [ - false, - "[!] ethanol", + "Этанол", 1 ], [ - true, "Нестабильный мутаген", 1 ] ], "Амбузол": [ + 4, [ - true, "Диловен", 1 ], [ - false, - "[!] ammonia", + "Аммиак", 1 ], [ - false, "Кровь", 2 ] ], "Амбузол плюс": [ + 5, [ - true, "Амбузол", 5 ], [ - false, "Кровь зомби", 15 ] ], "Физраствор": [ + 5, [ - false, "Вода", 4 ], [ - false, - "[!] tablesalt", + "Столовая соль", 1 ] ], "Сидерлак": [ + 2, [ - false, - "[!] aloe", + "Алоэ", 1 ], [ - true, "Стеллибинин", 1 ] ], "Синаптизин": [ + 3, [ - false, "Литий", 1 ], [ - false, "Сахар", 1 ], [ - false, "Вода", 1 ] ], "Транексамовая кислота": [ + 3, [ - true, "Инапровалин", 1 ], [ - true, "Серная кислота", 1 ], [ - false, "Сахар", 1 ] ], "Трикордразин": [ + 2, [ - true, "Инапровалин", 1 ], [ - true, "Диловен", 1 ] ], "Липозин": [ + 3, [ - false, - "[!] tablesalt", + "Столовая соль", 1 ], [ - false, - "[!] ethanol", + "Этанол", 1 ], [ - false, "Радий", 1 ] ], "Ультраваскулин": [ + 2, [ - true, "Гистамин", 2 ], [ - false, "Плазма", 1 ] ], "Окулин": [ + 4, [ - false, - "[!] tablesalt", + "Столовая соль", 1 ], [ - false, "Кровь", 1 ], [ - false, - "[!] hydroxide", + "Гидроксид", 2 ] ], "Когнизин": [ + 1, [ - true, "Карпотоксин", 1 ], [ - true, "Сидерлак", 1 ], [ - false, - "[!] acetone", + "Ацетон", + 1 + ] + ], + "Этилоксиэфедрин": [ + 2, + [ + "[!] desoxyephedrine", + 1 + ], + [ + "Стеллибинин", + 1 + ] + ], + "Дифенилметиламин": [ + 3, + [ + "Этилоксиэфедрин", + 1 + ], + [ + "Карбонат натрия", + 1 + ], + [ + "Кофе", 1 ] ], "Сигинат": [ + 4, [ - false, - "[!] sodiumcarbonate", + "Карбонат натрия", 1 ], [ - false, - "[!] sodiumhydroxide", + "Гидроксид натрия", 1 ], [ - true, "Келотан", 1 ], [ - false, "Вода", 1 ], [ - false, "Сахар", 1 ] ], "Лацеринол": [ + 2, [ - true, "Бикаридин", 1 ], [ - false, - "[!] benzene", + "Бензол", 1 ] ], "Пунктураз": [ + 2, [ - true, "Бикаридин", 1 ], [ - false, - "[!] hydroxide", + "Гидроксид", 1 ] ], "Бруизин": [ + 2, [ - true, "Бикаридин", 1 ], [ - false, "Литий", 0.9 ], [ - false, "Сахар", 1 ] ], "Пиразин": [ + 3, [ - true, "Лепоразин", 1 ], [ - true, "Дермалин", 1 ], [ - false, "Углерод", 1 ] ], "Инсузин": [ + 3, [ - true, "Лепоразин", 1 ], [ - true, "Келотан", 1 ], [ - false, "Кремний", 1 ], [ - false, - "[!] benzene", + "Бензол", 1 ] ], "Некрозол": [ + 2, [ - false, "Кровь", 3 ], [ - true, "Омнизин", 1 ], [ - true, "Криоксадон", 2 ] ], "Алоксадон": [ + 4, [ - true, "Криоксадон", 1 ], [ - false, - "[!] aloe", + "Алоэ", 2 ], [ - true, "Сигинат", 2 ] ], - "Токсин хартбрейкер": [ + "Ацетон": [ + 2, [ - true, - "Дексалин плюс", + "Масло", 1 ], [ - true, - "Токсин майндбрейкер", + "[!] weldingfuel", + 1 + ], + [ + "Кислород", 1 ] ], - "Лексорин": [ + "Фенол": [ + 2, [ - true, - "Токсин хартбрейкер", + "Гидроксид", 1 ], [ - false, - "Плазма", + "Бензол", + 1 + ] + ], + "Уголь": [ + 1, + [ + "Углерод", 1 ], [ - true, - "Вестин", + "Пепел", 1 ] ], - "Токсин майндбрейкер": [ + "Карбонат натрия": [ + 4, [ - false, - "Кремний", + "Аммиак", + 1 + ], + [ + "Столовая соль", 1 ], [ - false, + "Углерод", + 1 + ], + [ + "Кислород", + 1 + ] + ], + "Бензол": [ + 1, + [ "Водород", 1 ], [ - true, - "Диловен", + "Углерод", + 1 + ] + ], + "Гидроксид": [ + 2, + [ + "Кислород", + 1 + ], + [ + "Водород", + 1 + ] + ], + "Гидроксид натрия": [ + 2, + [ + "Гидроксид", + 1 + ], + [ + "Натрий", + 1 + ] + ], + "Силицид железа": [ + 2, + [ + "Железо", + 1 + ], + [ + "Кремний", + 1 + ] + ], + "Полиакрилат натрия": [ + 4, + [ + "Кислород", + 2 + ], + [ + "Натрий", + 1 + ], + [ + "Азот", 1 ] ] diff --git a/site_old.py b/site_old.py index bd7ebab..644e6ea 100644 --- a/site_old.py +++ b/site_old.py @@ -55,71 +55,81 @@ with amount: #### CALCULATE RECIPE #### +from calc import * if option_react: - parts = 0 - part = 0 - vol = option_amount - - # Определяем 1 часть - for i in db[option_react]: - parts += i[2] - part = vol // parts - - # Делаем около-кратным 10 и 15 - # !!ЭКСПЕРЕМЕНТАЛЬНОЕ!! - part = round(part/10)*10 - if part%10 != 0: - part = round(part/15)*15 - - # Название: количество (локальные части) - parted = {} - # Проверяем конфликты с составными частями: 48 != 50 - lparts = 0 ; lpart = 0 - for i in db[option_react]: - if i[0] == True: - # Перебираем составные - for el in db[i[1]]: - lparts += el[2] - # 50//3 ~ 16 16 * 3 = 48 - lpart = (part//lparts) * lparts - if lpart < part: - part = lpart - - parted[i[1]] = [part, lparts] - # part = 48 - # parted["Инапровалин"] = [48, 3] - # 48 - 1 часть, 3 - кол. частей - - # Фикс для плазмы в составных частях -# for i in db[option_react]: -# if i[0] == True: -# for el in db[i[1]]: -# if el[1] == "Плазма": -# parted[i[1]][0] -# parted[i[1]][1] -= 2 - - comps = {} - # Распределяем (пока не учитывает большую глубину) - for i in db[option_react]: - if i[0] == False: - if i[1] == "Плазма": - comps[i[1]] = 1 - else: - comps[i[1]] = part * i[2] - elif i[0] == True: - # Перебираем составные - for el in db[i[1]]: - if el[1] == "Плазма": - comps[el[1]] = 1 - else: - if el[1] not in comps: - comps[el[1]] = int( parted[i[1]][0]/parted[i[1]][1] * el[2] ) - else: - comps[el[1]] += int( parted[i[1]][0]/parted[i[1]][1] * el[2] ) + comps, res = calc(option_react, option_amount, True) # Выводим результат for i in comps: st.warning(f'{i}: {comps[i]}') - st.success(f'{option_react}: {part*parts}') + st.success(f'{option_react}: {res}') + + + # parts = 0 + # part = 0 + # vol = option_amount + + # # Определяем 1 часть + # for i in db[option_react]: + # parts += i[2] + # part = vol // parts + + # # Делаем около-кратным 10 и 15 + # # !!ЭКСПЕРЕМЕНТАЛЬНОЕ!! + # part = round(part/10)*10 + # if part%10 != 0: + # part = round(part/15)*15 + + # # Название: количество (локальные части) + # parted = {} + # # Проверяем конфликты с составными частями: 48 != 50 + # lparts = 0 ; lpart = 0 + # for i in db[option_react]: + # if i[0] == True: + # # Перебираем составные + # for el in db[i[1]]: + # lparts += el[2] + # # 50//3 ~ 16 16 * 3 = 48 + # lpart = (part//lparts) * lparts + # if lpart < part: + # part = lpart + + # parted[i[1]] = [part, lparts] + # # part = 48 + # # parted["Инапровалин"] = [48, 3] + # # 48 - 1 часть, 3 - кол. частей + + # # Фикс для плазмы в составных частях +# # for i in db[option_react]: +# # if i[0] == True: +# # for el in db[i[1]]: +# # if el[1] == "Плазма": +# # parted[i[1]][0] +# # parted[i[1]][1] -= 2 + + # comps = {} + # # Распределяем (пока не учитывает большую глубину) + # for i in db[option_react]: + # if i[0] == False: + # if i[1] == "Плазма": + # comps[i[1]] = 1 + # else: + # comps[i[1]] = part * i[2] + # elif i[0] == True: + # # Перебираем составные + # for el in db[i[1]]: + # if el[1] == "Плазма": + # comps[el[1]] = 1 + # else: + # if el[1] not in comps: + # comps[el[1]] = int( parted[i[1]][0]/parted[i[1]][1] * el[2] ) + # else: + # comps[el[1]] += int( parted[i[1]][0]/parted[i[1]][1] * el[2] ) + + # # Выводим результат + # for i in comps: + # st.warning(f'{i}: {comps[i]}') + + # st.success(f'{option_react}: {part*parts}')