|
|
@@ -3,90 +3,167 @@
|
|
|
from typing import Any
|
|
|
from tkinter import Toplevel, LabelFrame, Label, Frame, Button
|
|
|
|
|
|
-class WinState(Toplevel):
|
|
|
- def __init__(self, winMain:Any, nameBot:str)->None:
|
|
|
- Toplevel.__init__(self, master=winMain)
|
|
|
- self.title("Стаистика бта: "+nameBot)
|
|
|
- self.geometry("800x600")
|
|
|
- self.winMain=winMain
|
|
|
- self.name=nameBot
|
|
|
-
|
|
|
- self.frmCmd=Frame(self, border=3, relief="sunken")
|
|
|
- self.frmCmd.pack(side="bottom", fill="x")
|
|
|
- self.btnClose=Button(self.frmCmd, text="Закрыть", command=self.close)
|
|
|
- self.btnClose.pack(side="right")
|
|
|
-
|
|
|
- self.frmResource=LabelFrame(self,text="Ресурсы",border=3, relief="sunken")
|
|
|
- self.frmResource.pack(side="top",fill="x")
|
|
|
-
|
|
|
- self.lblAuto=Label(self.frmResource, text="Автоигра: false", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblAuto.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.lblIsWork=Label(self.frmResource, text="В работе: false", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblIsWork.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.lblFuel=Label(self.frmResource, text="Топливо: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblFuel.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.lblSlava=Label(self.frmResource, text="Слава: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblSlava.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.lblSerebro=Label(self.frmResource, text="Серебро: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblSerebro.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.lblZoloto=Label(self.frmResource, text="Золото: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblZoloto.pack(side="top", fill="x")
|
|
|
|
|
|
- self.lblLevel=Label(self.frmResource, text="Уровень: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblLevel.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.lblProgress=Label(self.frmResource, text="Прогресс: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblProgress.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.frmTank=LabelFrame(self, text="Танк", border=3, relief="sunken")
|
|
|
- self.frmTank.pack(side="top",fill="x")
|
|
|
-
|
|
|
- self.lblAtaka=Label(self.frmTank, text="Атака: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblAtaka.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.lblBrona=Label(self.frmTank, text="Броня: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.lblBrona.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.лблТочность=Label(self.frmTank, text="Точность: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.лблТочность.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.лблПрочность=Label(self.frmTank, text="Прочность: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.лблПрочность.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.лблМощь=Label(self.frmTank, text="Танковая мощь: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.лблМощь.pack(side="top", fill="x")
|
|
|
-
|
|
|
- self.фрмБаза=LabelFrame(self, text="База", border=3, relief="sunken")
|
|
|
- self.фрмБаза.pack(side="top",fill="x")
|
|
|
+class WinState(Toplevel):
|
|
|
+ """Окно состояния бота"""
|
|
|
|
|
|
- self.лблШахта=Label(self.фрмБаза, text="Шахта: 0", border=3, relief="ridge", anchor="w")
|
|
|
- self.лблШахта.pack(side="top", fill="x")
|
|
|
+ def __init__(self, win_main: Any, name_bot: str) -> None:
|
|
|
+ Toplevel.__init__(self, master=win_main)
|
|
|
+ self.title("Стаистика бта: "+name_bot)
|
|
|
+ self.geometry("800x600")
|
|
|
+ self.win_main = win_main
|
|
|
+ self.name = name_bot
|
|
|
+ if True: # Кнопки команд
|
|
|
+ self.frm_cmd = Frame(self, border=3, relief="sunken")
|
|
|
+ self.frm_cmd.pack(side="bottom", fill="x")
|
|
|
+ self.btn_close = Button(self.frm_cmd,
|
|
|
+ text="Закрыть",
|
|
|
+ command=self.close)
|
|
|
+ self.btn_close.pack(side="right")
|
|
|
+ if True: # Ресурсы танка
|
|
|
+ self.frm_resource = LabelFrame(self,
|
|
|
+ text="Ресурсы",
|
|
|
+ border=3,
|
|
|
+ relief="sunken")
|
|
|
+ self.frm_resource.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_auto = Label(self.frm_resource,
|
|
|
+ text="Автоигра: false",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_auto.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_is_work = Label(self.frm_resource,
|
|
|
+ text="В работе: false",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_is_work.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_toplivo = Label(self.frm_resource,
|
|
|
+ text="Топливо: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_toplivo.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_slava = Label(self.frm_resource,
|
|
|
+ text="Слава: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_slava.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_serebro = Label(self.frm_resource,
|
|
|
+ text="Серебро: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_serebro.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_zoloto = Label(self.frm_resource,
|
|
|
+ text="Золото: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_zoloto.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_level = Label(self.frm_resource,
|
|
|
+ text="Уровень: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_level.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_progress = Label(self.frm_resource,
|
|
|
+ text="Прогресс: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_progress.pack(side="top", fill="x")
|
|
|
+ if True: # Статистика танка
|
|
|
+ self.frm_tank = LabelFrame(self,
|
|
|
+ text="Танк",
|
|
|
+ border=3,
|
|
|
+ relief="sunken")
|
|
|
+ self.frm_tank.pack(side="top", fill="x")
|
|
|
+ self.frm_tank_stat = LabelFrame(self.frm_tank,
|
|
|
+ text="Параметры",
|
|
|
+ border=3,
|
|
|
+ relief="sunken")
|
|
|
+ self.frm_tank_stat.pack(side="left")
|
|
|
+
|
|
|
+ self.lbl_ataka = Label(self.frm_tank_stat,
|
|
|
+ text="Атака: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_ataka.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_brona = Label(self.frm_tank_stat,
|
|
|
+ text="Броня: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_brona.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_tochnost = Label(self.frm_tank_stat,
|
|
|
+ text="Точность: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_tochnost.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_prochnost = Label(self.frm_tank_stat,
|
|
|
+ text="Прочность: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_prochnost.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_mosh = Label(self.frm_tank_stat,
|
|
|
+ text="Танковая мощь: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_mosh.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.frm_basa = LabelFrame(self,
|
|
|
+ text="База",
|
|
|
+ border=3,
|
|
|
+ relief="sunken")
|
|
|
+ self.frm_basa.pack(side="top", fill="x")
|
|
|
+
|
|
|
+ self.lbl_shahta = Label(self.frm_basa,
|
|
|
+ text="Шахта: 0",
|
|
|
+ border=3,
|
|
|
+ relief="ridge",
|
|
|
+ anchor="w")
|
|
|
+ self.lbl_shahta.pack(side="top", fill="x")
|
|
|
|
|
|
self.auto_update()
|
|
|
|
|
|
def auto_update(self):
|
|
|
+ """Само-обновление окна"""
|
|
|
self.after(5000, self.auto_update)
|
|
|
- app=self.winMain.app
|
|
|
- res=app.logic.get_stat_bot(self.name)
|
|
|
- self.lblAuto["text"]="АвтоИгра: "+ res["isAuto"]
|
|
|
- self.lblIsWork["text"]="В работе: "+ res["isWork"]
|
|
|
- self.lblFuel["text"]="Топливо: "+ res["топливо"]
|
|
|
- self.lblSlava["text"]="Слава: "+ res["слава"]
|
|
|
- self.lblSerebro["text"]="Серебро: "+ res["серебро"]
|
|
|
- self.lblZoloto["text"]="Золото: "+ res["золото"]
|
|
|
- self.lblLevel["text"]="Уровень: "+ res["уровень"]
|
|
|
- self.lblProgress["text"]="Прогресс: "+ res["прогресс"]
|
|
|
- self.lblAtaka["text"]="Атака: "+ res["атака"]
|
|
|
- self.lblBrona["text"]="Броня: "+ res["броня"]
|
|
|
- self.лблТочность["text"]="Точность: "+ res["точность"]
|
|
|
- self.лблПрочность["text"]="Прочность: "+ res["прочность"]
|
|
|
- self.лблМощь["text"]="Танковая мощь: "+ res["мощь"]
|
|
|
- self.лблШахта["text"]="Шахта: уровень="+ res["шахта_уровень"]
|
|
|
+ app = self.win_main.app
|
|
|
+ res = app.logic.get_stat_bot(self.name)
|
|
|
+ self.lbl_auto["text"] = "АвтоИгра: " + res["isAuto"]
|
|
|
+ self.lbl_is_work["text"] = "В работе: " + res["isWork"]
|
|
|
+ self.lbl_toplivo["text"] = "Топливо: " + res["топливо"]
|
|
|
+ self.lbl_slava["text"] = "Слава: " + res["слава"]
|
|
|
+ self.lbl_serebro["text"] = "Серебро: " + res["серебро"]
|
|
|
+ self.lbl_zoloto["text"] = "Золото: " + res["золото"]
|
|
|
+ self.lbl_level["text"] = "Уровень: " + res["уровень"]
|
|
|
+ self.lbl_progress["text"] = "Прогресс: " + res["прогресс"]
|
|
|
+ self.lbl_ataka["text"] = "Атака: " + res["атака"]
|
|
|
+ self.lbl_brona["text"] = "Броня: " + res["броня"]
|
|
|
+ self.lbl_tochnost["text"] = "Точность: " + res["точность"]
|
|
|
+ self.lbl_prochnost["text"] = "Прочность: " + res["прочность"]
|
|
|
+ self.lbl_mosh["text"] = "Танковая мощь: " + res["мощь"]
|
|
|
+ self.lbl_shahta["text"] = "Шахта: уровень=" + res["шахта_уровень"]
|
|
|
|
|
|
def close(self):
|
|
|
- self.destroy()
|
|
|
+ """Закрывает окно по требованию"""
|
|
|
+ self.destroy()
|