ryotankの備考録日記

趣味の電子工作についての備考録などなど

素材集めGUIその6

ドロップ率、スタミナ消費を載せてみる
出来たら、素材の画面を表示出来るようにと段階を踏んでいく

全てを載せるとダラダラ長いのでブロックに分けて紹介する

まずはドロップ率から

def get_drop(sozai_name):
    """選択された素材名を受け取り、ドロップ率を返す"""
    drop_dict = {
    '合成コール':['37.1'], 'マンガン':['36.8'], '碇石(ていせき)':['34.8'], '中級異鉄':['31.5'],
    'RMA70-12':['30.0'], '中級アケトン':['36.5'], '人工ゲル':['25.6'], '中級装置':['31.4'],
    '素子結晶':['49.8'], '合金':['33.7'], '中級源岩':['44.7'], '半自然溶剤':['??'],
    '切削液':['??'], '中級エステル':['48.9'], '中級糖原':['39.4'],
    }
    return drop_dict[sozai_name]



#中略
layout = [
        [sg.T(' '*25), sg.Text('素材名')],
        [sg.T(' '*25), sg.Combo(values=['合成コール','マンガン', '碇石(ていせき)', 'RMA70-12', '人工ゲル',
        '素子結晶', '合金',
        '中級源岩', '半自然溶剤'], default_value="選択してください。",size=(20, 1), 
        key='SOZAI', enable_events=True)],
        [sg.Text('ステージ名'), sg.T(' '*25), sg.Text('ドロップ率(%)'), sg.T(' '*15), 
        sg.Text('スタミナ消費')],
        [sg.Combo(values=[''], size=(10, 1), key='STAGENAME'), sg.T(' '*25),
        sg.Combo(values=[''], size=(10, 1), key='DROP'), sg.T(' '*15),
        sg.Combo(values=[''], size=(10, 1), key='RISEI')],

#中略
if event == 'SOZAI':
        sozai = values['SOZAI']
    drop = get_drop(sozai)
    window.FindElement('DROP').update(values=drop)


スタミナ消費をこんな感じに
アークナイツのスタミナは"理性"と呼んでいるので
riseiという変数を作った

def get_risei(sozai_name):
    """選択された素材名を受け取り、消費理性値(-表記)を返す"""
    risei_dict = {
    '合成コール':['-'], 'マンガン':['-'], '碇石(ていせき)':['-8'], '中級異鉄':[''],
    'RMA70-12':['-'], '中級アケトン':['-'], '人工ゲル':['-'], '中級装置':[''],
    '素子結晶':['-'], '合金':['-'], '中級源岩':['-'], '半自然溶剤':['-15'],
    '切削液':['-'], '中級エステル':[''], '中級糖源':[''],
    }
    return risei_dict[sozai_name]

#中略
if event == 'SOZAI':
        sozai = values['SOZAI']
    risei = get_risei(sozai)
    window.FindElement('GAZOU').update(values=risei)

実際の画面はこんな風になった

f:id:ryotank:20220417090825p:plain
ver1.0_ドロップ率とスタミナ消費項目追加キャプチャ
f:id:ryotank:20220417090852p:plain
アークナイツ素材集めGUI_ver1.0素子結晶選択時ドロップ率追加
f:id:ryotank:20220417090920p:plain
アークナイツ素材集めGUI_ver1.0半自然溶剤選択時スタミナ消費追加

次回は、sg.Imageを使って素材の画像を表示するver2.0の作成を
する為sg.Imageの勉強から