test
parent
305814989a
commit
ff7b8cecd2
|
@ -1,13 +1,27 @@
|
||||||
import os
|
import os
|
||||||
import subprocess
|
|
||||||
import time
|
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:
|
class ClickerGame:
|
||||||
"""Перед запуском проверьте и исправьте место установки AHK
|
"""Перед запуском проверьте и исправьте место установки AHK
|
||||||
Св-во класса AHK_PATH должно содержать полный путь до запускаемого файла
|
Св-во класса AHK_PATH должно содержать полный путь до запускаемого файла
|
||||||
"""
|
"""
|
||||||
|
|
||||||
AHK_PATH = r"C:\Users\pi3c\AppData\Local\Programs\AutoHotkey\UX\AutoHotkeyUX.exe"
|
AHK_PATH = r"C:\Users\pi3c\AppData\Local\Programs\AutoHotkey\UX\AutoHotkeyUX.exe"
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -20,15 +34,19 @@ class ClickerGame:
|
||||||
self.process = None
|
self.process = None
|
||||||
|
|
||||||
self.ahk_flag = False
|
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.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.label.pack(side=TOP)
|
||||||
|
|
||||||
self.score = 0
|
self.score = 0
|
||||||
self.message = StringVar()
|
self.message = StringVar()
|
||||||
self.message.set(f"Your score is: {self.score}")
|
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.label2.pack(side=TOP)
|
||||||
|
|
||||||
self.timer = 0
|
self.timer = 0
|
||||||
|
@ -36,20 +54,31 @@ class ClickerGame:
|
||||||
self.timer_message = StringVar()
|
self.timer_message = StringVar()
|
||||||
self.timer_update()
|
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.label3.pack(side=LEFT)
|
||||||
|
|
||||||
self.img = PhotoImage(file=os.path.join(os.curdir, 'img.png'))
|
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 = Button(
|
||||||
self.clicker.place(relx=0.5, rely=0.5, anchor='center')
|
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.ahk_button.pack(side=LEFT, padx=10, pady=10)
|
||||||
|
|
||||||
self.close_button = Button(self.__root, text="EXIT", command=self.quit)
|
self.close_button = Button(self.__root, text="EXIT", command=self.quit)
|
||||||
self.close_button.pack(side=RIGHT, padx=10, pady=10)
|
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)
|
self.ahk_button.pack(side=RIGHT, padx=10, pady=10)
|
||||||
|
|
||||||
mainloop()
|
mainloop()
|
||||||
|
@ -72,8 +101,8 @@ class ClickerGame:
|
||||||
if keys is not None:
|
if keys is not None:
|
||||||
"""Данный блок необходим, чтоб среда не ругалась на неиспользуемый
|
"""Данный блок необходим, чтоб среда не ругалась на неиспользуемый
|
||||||
аргумент keys. При связывании горячей клавиши методом bind, сюда
|
аргумент keys. При связывании горячей клавиши методом bind, сюда
|
||||||
передается инфо о нажатой комбинации. Тут она мне не нужна, поэтому ставим тупо
|
передается инфо о нажатой комбинации. Тут она мне не нужна, поэтому
|
||||||
заглушку"""
|
ставим тупо заглушку"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
self.score += 1
|
self.score += 1
|
||||||
|
@ -88,13 +117,13 @@ class ClickerGame:
|
||||||
else:
|
else:
|
||||||
print("run clicker")
|
print("run clicker")
|
||||||
self.ahk_flag = True
|
self.ahk_flag = True
|
||||||
self.process = subprocess.Popen(
|
self.process = Popen([self.AHK_PATH, "clicker.ahk"])
|
||||||
[self.AHK_PATH, "clicker.ahk"]
|
|
||||||
)
|
|
||||||
|
|
||||||
def timer_update(self):
|
def timer_update(self):
|
||||||
self.timer = int(time.time() - self.start_time)
|
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)
|
self.__root.after(1000, self.timer_update)
|
||||||
|
|
||||||
def clicker_reset(self):
|
def clicker_reset(self):
|
||||||
|
|
Loading…
Reference in New Issue