From 8b55509618c3354824442adc92a5b05aeca92bb3 Mon Sep 17 00:00:00 2001 From: Justus Jan Nico Wolff Date: Sun, 21 Aug 2022 14:06:42 +0200 Subject: [PATCH] =?UTF-8?q?Dateien=20hochladen=20nach=20=E2=80=9E=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hashengine.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/hashengine.py b/hashengine.py index 8272aeb..601eef7 100644 --- a/hashengine.py +++ b/hashengine.py @@ -4,8 +4,13 @@ class game(): import sys import subprocess import pkg_resources + import os print("initializing hashengine and installing dependencies if missing") - required = {'keyboard', 'sounddevice', 'soundfile'} + self.linecount = 0 + if os.name == 'nt': + required = {'sounddevice', 'soundfile', 'windows-curses'} + else: + required = {'sounddevice', 'soundfile'} installed = {pkg.key for pkg in pkg_resources.working_set} missing = required - installed @@ -16,21 +21,13 @@ class game(): print(i) subprocess.check_call([python, '-m', 'pip', 'install', i], stdout=sys.stdout) print("done") - import os - import ctypes import string - def isAdmin(): - try: - is_admin = (os.getuid() == 0) - except AttributeError: - is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0 - return is_admin - if not isAdmin(): - print("error: hashengine needs to be run as an admin") - input("enter to continue...") - exit() self.osmodule = __import__("os") - self.keyboard = __import__("keyboard") + import curses + self.screen = curses.initscr() + self.screen.nodelay(1) + curses.noecho() + curses.endwin() try: self.sounddevice = __import__("sounddevice") except OSError: @@ -54,7 +51,7 @@ class game(): self.map["{}:{}".format(i, f)] = " " self.objects = [] - + def round2(self, target): from decimal import localcontext, Decimal, ROUND_HALF_UP with localcontext() as ctx: @@ -62,8 +59,13 @@ class game(): return Decimal(target).to_integral_value() def update(self): + import curses + curses.noecho() + curses.endwin() + temp = self.screen.getch() + #temp = "" for i in self.pressedkeys: - if self.keyboard.is_pressed(i): + if temp == ord(i): self.pressedkeys[i] = True else: self.pressedkeys[i] = False