diff --git a/DataBase.db b/DataBase.db index d8fec1a..9591bd6 100644 Binary files a/DataBase.db and b/DataBase.db differ diff --git a/DataBase.py b/DataBase.py index 47764f4..a3eb067 100644 --- a/DataBase.py +++ b/DataBase.py @@ -4,22 +4,27 @@ def __init__(self): self.conn = sqlite3.connect('DataBase.db') self.c = self.conn.cursor() self.c.execute( - '''CREATE TABLE IF NOT EXISTS DataBase (water integer, gas integer, lemon integer, cherry integer)''') + '''CREATE TABLE IF NOT EXISTS DataBase ( + water integer, gas integer, lemon integer, cherry integer + )''') self.conn.commit() - def update(self): - print('1') + self.conn.close() + #def update(self): + # print('1') def read_db(self): + self.conn = sqlite3.connect('DataBase.db') + self.c = self.conn.cursor() self.c.execute('''SELECT * FROM DataBase''') - records = self.DB.c.fetchall() - water = 1 - gas = 3 - cherry = 3 + records = self.c.fetchall() + water = 0 + gas = 0 + cherry = 0 lemon = 0 - print(records) for column in records: water=column[0] gas=column[1] - print(water, gas, cherry, lemon) - - return {'water' : water, 'gas' : gas, 'cherry':cherry, 'lemon':lemon} \ No newline at end of file + cherry = column[2] + lemon = column[3] + return {'water' : water, 'gas' : gas, 'cherry':cherry, 'lemon':lemon} + self.conn.close() diff --git a/main.py b/main.py index 2e6d6e4..4bd04ab 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,5 @@ import tkinter as tk +from faulthandler import disable from tkinter import ttk from time import sleep import DataBase as DB @@ -22,7 +23,7 @@ def __init__(self): self.master.geometry('250x400+900+500') - def initUI(self): + def initUI(self, disabled=None): self.columnconfigure([0, 1, 2, 3], weight=1, minsize=400, pad=3) self.rowconfigure([0, 1, 2, 3, 4], weight=1, minsize=250, pad=3) @@ -56,12 +57,15 @@ def initUI(self): btn_money_10 = tk.Button(self.master, text='+10', command=self.add10_cash) btn_money_10.grid(row=11, column=1, sticky='w') - btn_go = tk.Button(self.master, text='Налить', command=self.fill_glass) + btn_go = tk.Button(self.master, text='Налить', command= lambda: self.fill_glass()) btn_go.grid(row=12, column=1, sticky='') btn_get_change = tk.Button(self.master, text='Получить сдачу', command=self.get_change) btn_get_change.grid(row=13, column=1, sticky='s') + space_for_message = tk.Label(self.master, text='') + space_for_message.grid(row=6, column=1, sticky='sw') + def add2_cash(self): self.cash += 2 self.label_money.config(text=f'баланс:\n {self.cash}') @@ -91,27 +95,82 @@ def choose_syrup(self, syrup): self.syrup_selected['no_syrup'] = False self.syrup_selected['cherry'] = False self.syrup_selected['lemon'] = True - if self.storage['water'] <= 0: - self.destroy() + def get_data(self): self.storage = self.DB.read_db() + def fill_glass(self): if (self.cash > 0): - color = ' ' if (self.syrup_selected['no_syrup'] and self.cash >= self.price['no_syrup']): - color = '#FFEFD5' - self.cash -= self.price['no_syrup'] - self.progress(color) - self.storage['water']--1 - print(self.storage['water']) + if (self.cheak() == 1): + color = '#FFEFD5' + self.cash -= self.price['no_syrup'] + self.storage['water'] -= 2 + self.storage['gas'] -= 1 + self.progress(color) if (self.syrup_selected['lemon'] and self.cash >= self.price['lemon']): - color = 'yellow' - self.cash -= self.price['lemon'] - self.progress(color) + if (self.cheak() == 1): + color = 'yellow' + self.cash -= self.price['lemon'] + self.storage['water'] -= 1 + self.storage['lemon'] -= 1 + self.storage['gas'] -= 1 + self.progress(color) if (self.syrup_selected['cherry'] and self.cash >= self.price['cherry']): - color = 'red' - self.cash -= self.price['cherry'] - self.progress(color) + if (self.cheak() == 1): + color = 'red' + self.cash -= self.price['cherry'] + self.storage['water'] -= 1 + self.storage['cherry'] -= 1 + self.storage['gas'] -= 1 + self.progress(color) + + def cheak(self): + if (self.storage['gas'] <= 0): + message = tk.Label(self.master, text='Не хватает газа') + message.grid(row=6, column=1, sticky='sw') + return 0 + else: + if (self.storage['water'] <= 0): + message = tk.Label(self.master, text='Не хватает воды') + message.grid(row=6, column=1, sticky='sw') + return 0 + + else: + if (self.syrup_selected['cherry']): + if (self.storage['cherry'] <= 0): + message = tk.Label(self.master, text='Не хватает воды или вишневого сиропа') + message.grid(row=6, column=1, sticky='sw') + return 0 + else: + message = tk.Label(self.master, text='') + message.grid(row=6, column=1, sticky='sw') + return 1 + + if (self.syrup_selected['lemon']): + if (self.storage['lemon'] <= 0): + message = tk.Label(self.master, text='Не хватает воды или ломонного сиропа') + message.grid(row=6, column=1, sticky='sw') + return 0 + else: + message = tk.Label(self.master, text='') + message.grid(row=6, column=1, sticky='sw') + return 1 + + if (self.syrup_selected['no_syrup']): + if (self.storage['water'] <= 1): + message = tk.Label(self.master, text='Не хватает воды на полный стакан') + message.grid(row=6, column=1, sticky='sw') + return 0 + else: + message = tk.Label(self.master, text='') + message.grid(row=6, column=1, sticky='sw') + return 1 + + else: + message = tk.Label(self.master, text='Ничего не выбрано') + message.grid(row=6, column=1, sticky='sw') + return 0 def progress(self, color): s = ttk.Style()