Покупка в магазине

столкнулся так сказать с творческим кризисом. Есть магазин, в нем скин машинки, под скином кнопка, кнопка должна выполнять 3 задачи:

  1. Если скин куплен, установить его в игру
  2. Если уже установлен, то ничего не делать
  3. Если скин не куплен, купить

вот код обработчика кнопки:

def btn_all(id_skin):
    if set2[id_skin] == '1':
        if sql.execute(f"SELECT skin FROM bd WHERE nickname = '{player_nickname}'").fetchone()[0] == setting[id_skin]:
            messagebox.showinfo("Инвентарь", 'Этот скин уже установлен')
        else:
            sql.execute(f"UPDATE bd SET skin = '{setting[id_skin]}' WHERE nickname = '{player_nickname}'")
            db.commit()
    else:
        if sql.execute(f"SELECT coin FROM bd WHERE nickname = '{player_nickname}'").fetchone()[0] >= id_count_skin[id_skin]:
            #####
            messagebox.showinfo("Магазин", 'Поздравляю с покупкой')
        else:
            messagebox.showinfo("Баланс", 'У тебя не хватает монеток')
    start()

Вот и все словники к ним:

id_count_skin = {
    101: 0, 102: 250, 103: 500, 104: 500, 105: 990,
    201: 3901116, 202: 1500, 203: 1500, 204: 1500, 205: 1990,
    301: 0, 302: '', 303: '', 304: '', 305: ''
}
setting = {
    101: 'player_red', 102: 'player_old_red', 103: 'player_gray', 104: 'player_green',  105: 'player_rainbow', 
    201: 'player_gelic', 202: 'player_gelic_yellow', 203: 'player_gelic_gray', 204: 'player_gelic_green', 205: 'player_gelic_rainbow',
    301: 'player_tank', 302: 'empty', 303: 'empty', 304: 'empty', 305: 'empty'
}
set2 = {
    101: car_skins[0], 102: car_skins[1], 103: car_skins[2], 104: car_skins[3], 105: car_skins[4],
    201: gelic_skins[0], 202: gelic_skins[1], 203: gelic_skins[2], 204: gelic_skins[3], 205: gelic_skins[4],
    301: tank_skins[0], 302: tank_skins[1], 303: tank_skins[2], 304: tank_skins[3], 305: tank_skins[4]
}
set3 = {
    101: 'car', 201: 'gelic', 301: 'tank'
}

И так же списки из данными из БД:

car_skins = sql.execute(f"SELECT car FROM skins WHERE name = '{player_nickname}'").fetchone()[0]
car_skins = f'{car_skins}'.split(',')
gelic_skins = sql.execute(f"SELECT gelic FROM skins WHERE name = '{player_nickname}'").fetchone()[0]
gelic_skins = f'{gelic_skins}'.split(',')
tank_skins = sql.execute(f"SELECT tank FROM skins WHERE name = '{player_nickname}'").fetchone()[0]
tank_skins = f'{tank_skins}'.split(',')

Данные при выходе в виде списка из 5 чисел, например: ['1','0','0','0','0']

Как можно реализовать покупку?


Ответы (0 шт):