modWinState.py 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. """Окно показывает статистику бота"""
  2. from typing import Any
  3. from tkinter import Toplevel, LabelFrame, Label, Frame, Button
  4. class WinState(Toplevel):
  5. def __init__(self, winMain:Any, nameBot:str)->None:
  6. Toplevel.__init__(self, master=winMain)
  7. self.title("Стаистика бта: "+nameBot)
  8. self.geometry("800x600")
  9. self.winMain=winMain
  10. self.name=nameBot
  11. self.frmCmd=Frame(self, border=3, relief="sunken")
  12. self.frmCmd.pack(side="bottom", fill="x")
  13. self.btnClose=Button(self.frmCmd, text="Закрыть", command=self.close)
  14. self.btnClose.pack(side="right")
  15. self.frmResource=LabelFrame(self,text="Ресурсы",border=3, relief="sunken")
  16. self.frmResource.pack(side="top",fill="x")
  17. self.lblAuto=Label(self.frmResource, text="Автоигра: false", border=3, relief="ridge", anchor="w")
  18. self.lblAuto.pack(side="top", fill="x")
  19. self.lblIsWork=Label(self.frmResource, text="В работе: false", border=3, relief="ridge", anchor="w")
  20. self.lblIsWork.pack(side="top", fill="x")
  21. self.lblFuel=Label(self.frmResource, text="Топливо: 0", border=3, relief="ridge", anchor="w")
  22. self.lblFuel.pack(side="top", fill="x")
  23. self.lblSlava=Label(self.frmResource, text="Слава: 0", border=3, relief="ridge", anchor="w")
  24. self.lblSlava.pack(side="top", fill="x")
  25. self.lblSerebro=Label(self.frmResource, text="Серебро: 0", border=3, relief="ridge", anchor="w")
  26. self.lblSerebro.pack(side="top", fill="x")
  27. self.lblZoloto=Label(self.frmResource, text="Золото: 0", border=3, relief="ridge", anchor="w")
  28. self.lblZoloto.pack(side="top", fill="x")
  29. self.lblLevel=Label(self.frmResource, text="Уровень: 0", border=3, relief="ridge", anchor="w")
  30. self.lblLevel.pack(side="top", fill="x")
  31. self.lblProgress=Label(self.frmResource, text="Прогресс: 0", border=3, relief="ridge", anchor="w")
  32. self.lblProgress.pack(side="top", fill="x")
  33. self.frmTank=LabelFrame(self, text="Танк", border=3, relief="sunken")
  34. self.frmTank.pack(side="top",fill="x")
  35. self.lblAtaka=Label(self.frmTank, text="Атака: 0", border=3, relief="ridge", anchor="w")
  36. self.lblAtaka.pack(side="top", fill="x")
  37. self.lblBrona=Label(self.frmTank, text="Броня: 0", border=3, relief="ridge", anchor="w")
  38. self.lblBrona.pack(side="top", fill="x")
  39. self.лблТочность=Label(self.frmTank, text="Точность: 0", border=3, relief="ridge", anchor="w")
  40. self.лблТочность.pack(side="top", fill="x")
  41. self.лблПрочность=Label(self.frmTank, text="Прочность: 0", border=3, relief="ridge", anchor="w")
  42. self.лблПрочность.pack(side="top", fill="x")
  43. self.лблМощь=Label(self.frmTank, text="Танковая мощь: 0", border=3, relief="ridge", anchor="w")
  44. self.лблМощь.pack(side="top", fill="x")
  45. self.фрмБаза=LabelFrame(self, text="База", border=3, relief="sunken")
  46. self.фрмБаза.pack(side="top",fill="x")
  47. self.лблШахта=Label(self.фрмБаза, text="Шахта: 0", border=3, relief="ridge", anchor="w")
  48. self.лблШахта.pack(side="top", fill="x")
  49. self.auto_update()
  50. def auto_update(self):
  51. self.after(5000, self.auto_update)
  52. app=self.winMain.app
  53. res=app.logic.get_stat_bot(self.name)
  54. self.lblAuto["text"]="АвтоИгра: "+ res["isAuto"]
  55. self.lblIsWork["text"]="В работе: "+ res["isWork"]
  56. self.lblFuel["text"]="Топливо: "+ res["топливо"]
  57. self.lblSlava["text"]="Слава: "+ res["слава"]
  58. self.lblSerebro["text"]="Серебро: "+ res["серебро"]
  59. self.lblZoloto["text"]="Золото: "+ res["золото"]
  60. self.lblLevel["text"]="Уровень: "+ res["уровень"]
  61. self.lblProgress["text"]="Прогресс: "+ res["прогресс"]
  62. self.lblAtaka["text"]="Атака: "+ res["атака"]
  63. self.lblBrona["text"]="Броня: "+ res["броня"]
  64. self.лблТочность["text"]="Точность: "+ res["точность"]
  65. self.лблПрочность["text"]="Прочность: "+ res["прочность"]
  66. self.лблМощь["text"]="Танковая мощь: "+ res["мощь"]
  67. self.лблШахта["text"]="Шахта: уровень="+ res["шахта_уровень"]
  68. def close(self):
  69. self.destroy()