diff --git a/part1_basic/final_test/app.py b/part1_basic/final_test/app.py index ceabb6d..f400970 100644 --- a/part1_basic/final_test/app.py +++ b/part1_basic/final_test/app.py @@ -1,13 +1,27 @@ import os -import subprocess import time -from tkinter import * +from subprocess import Popen +from tkinter import ( + BOTH, + LEFT, + RAISED, + RIGHT, + TOP, + Button, + Frame, + Label, + PhotoImage, + StringVar, + Tk, + mainloop, +) class ClickerGame: - """ Перед запуском проверьте и исправьте место установки AHK + """Перед запуском проверьте и исправьте место установки AHK Св-во класса AHK_PATH должно содержать полный путь до запускаемого файла """ + AHK_PATH = r"C:\Users\pi3c\AppData\Local\Programs\AutoHotkey\UX\AutoHotkeyUX.exe" def __init__(self): @@ -20,15 +34,19 @@ class ClickerGame: self.process = None self.ahk_flag = False - self.frame = Frame(self.__root, relief=RAISED, borderwidth=5, bg='green') + self.frame = Frame(self.__root, relief=RAISED, borderwidth=5, bg="green") self.frame.pack(fill=BOTH, expand=True, padx=5, pady=5) - self.label = Label(self.frame, text="Clicker Game", font=("Arial", 25), bg='green') + self.label = Label( + self.frame, text="Clicker Game", font=("Arial", 25), bg="green" + ) self.label.pack(side=TOP) self.score = 0 self.message = StringVar() self.message.set(f"Your score is: {self.score}") - self.label2 = Label(self.frame, textvariable=self.message, font=("Arial", 15), bg='green') + self.label2 = Label( + self.frame, textvariable=self.message, font=("Arial", 15), bg="green" + ) self.label2.pack(side=TOP) self.timer = 0 @@ -36,20 +54,31 @@ class ClickerGame: self.timer_message = StringVar() self.timer_update() - self.label3 = Label(self.frame, textvariable=self.timer_message, font=("Arial", 12), bg='green') + self.label3 = Label( + self.frame, + textvariable=self.timer_message, + font=("Arial", 12), + bg="green", + ) self.label3.pack(side=LEFT) - self.img = PhotoImage(file=os.path.join(os.curdir, 'img.png')) - self.clicker = Button(self.frame, text="clickme", image=self.img, command=self.increment) - self.clicker.place(relx=0.5, rely=0.5, anchor='center') + self.img = PhotoImage(file=os.path.join(os.curdir, "img.png")) + self.clicker = Button( + self.frame, text="clickme", image=self.img, command=self.increment + ) + self.clicker.place(relx=0.5, rely=0.5, anchor="center") - self.ahk_button = Button(self.__root, text="Manual run AHK", command=self.switcher_ahk) + self.ahk_button = Button( + self.__root, text="Manual run AHK", command=self.switcher_ahk + ) self.ahk_button.pack(side=LEFT, padx=10, pady=10) self.close_button = Button(self.__root, text="EXIT", command=self.quit) self.close_button.pack(side=RIGHT, padx=10, pady=10) - self.ahk_button = Button(self.__root, text="Clicker RESET", command=self.clicker_reset) + self.ahk_button = Button( + self.__root, text="Clicker RESET", command=self.clicker_reset + ) self.ahk_button.pack(side=RIGHT, padx=10, pady=10) mainloop() @@ -72,8 +101,8 @@ class ClickerGame: if keys is not None: """Данный блок необходим, чтоб среда не ругалась на неиспользуемый аргумент keys. При связывании горячей клавиши методом bind, сюда - передается инфо о нажатой комбинации. Тут она мне не нужна, поэтому ставим тупо - заглушку""" + передается инфо о нажатой комбинации. Тут она мне не нужна, поэтому + ставим тупо заглушку""" pass self.score += 1 @@ -88,13 +117,13 @@ class ClickerGame: else: print("run clicker") self.ahk_flag = True - self.process = subprocess.Popen( - [self.AHK_PATH, "clicker.ahk"] - ) + self.process = Popen([self.AHK_PATH, "clicker.ahk"]) def timer_update(self): self.timer = int(time.time() - self.start_time) - self.timer_message.set(f"Elapsed time:\n{self.timer // 60}min. {self.timer % 60} sec.") + self.timer_message.set( + f"Elapsed time:\n{self.timer // 60}min. {self.timer % 60} sec." + ) self.__root.after(1000, self.timer_update) def clicker_reset(self):