From 6d6081ec57c7c6587c2797ba2830b426e149d80b Mon Sep 17 00:00:00 2001 From: Thaloria Date: Sun, 23 Jul 2023 17:45:37 +0200 Subject: [PATCH] added first draft litris --- litris.py | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/litris.py b/litris.py index ea3616f..be1db4d 100644 --- a/litris.py +++ b/litris.py @@ -28,17 +28,29 @@ class Litris(GameBase): #self.sd_reset_board = cv.imread("control_elements/sodoku_reset_button.jpg", cv.IMREAD_COLOR) - self.needles = {"I": cv.imread("litris/I.jpg", cv.IMREAD_COLOR), - "O": cv.imread("litris/O.jpg", cv.IMREAD_COLOR), - "L": cv.imread("litris/L.jpg", cv.IMREAD_COLOR), - "J": cv.imread("litris/J.jpg", cv.IMREAD_COLOR), - "S": cv.imread("litris/S.jpg", cv.IMREAD_COLOR), - "Z": cv.imread("litris/Z.jpg", cv.IMREAD_COLOR), - "T": cv.imread("litris/T.jpg", cv.IMREAD_COLOR), - "D": cv.imread("litris/D.jpg", cv.IMREAD_COLOR), - "A": cv.imread("litris/A.jpg", cv.IMREAD_COLOR), - "B": cv.imread("litris/B.jpg", cv.IMREAD_COLOR), - "C": cv.imread("litris/C.jpg", cv.IMREAD_COLOR) + self.needles = {"I": cv.imread("litris/I.jpg", cv.IMREAD_UNCHANGED), + "O": cv.imread("litris/O.jpg", cv.IMREAD_UNCHANGED), + "L": cv.imread("litris/L.jpg", cv.IMREAD_UNCHANGED), + "J": cv.imread("litris/J.jpg", cv.IMREAD_UNCHANGED), + "S": cv.imread("litris/S.jpg", cv.IMREAD_UNCHANGED), + "Z": cv.imread("litris/Z.jpg", cv.IMREAD_UNCHANGED), + "T": cv.imread("litris/T.jpg", cv.IMREAD_UNCHANGED), + "D": cv.imread("litris/D.jpg", cv.IMREAD_UNCHANGED), + "A": cv.imread("litris/A.jpg", cv.IMREAD_UNCHANGED), + "B": cv.imread("litris/B.jpg", cv.IMREAD_UNCHANGED), + "C": cv.imread("litris/C.jpg", cv.IMREAD_UNCHANGED) + } + self.needle_masks = {"I": cv.imread("litris/I-mask.png", cv.IMREAD_COLOR), + "O": cv.imread("litris/O-mask.png", cv.IMREAD_COLOR), + "L": cv.imread("litris/L-mask.png", cv.IMREAD_COLOR), + "J": cv.imread("litris/J-mask.png", cv.IMREAD_COLOR), + "S": cv.imread("litris/S-mask.png", cv.IMREAD_COLOR), + "Z": cv.imread("litris/Z-mask.png", cv.IMREAD_COLOR), + "T": cv.imread("litris/T-mask.png", cv.IMREAD_COLOR), + "D": cv.imread("litris/D-mask.png", cv.IMREAD_COLOR), + "A": cv.imread("litris/A-mask.png", cv.IMREAD_COLOR), + "B": cv.imread("litris/B-mask.png", cv.IMREAD_COLOR), + "C": cv.imread("litris/C-mask.png", cv.IMREAD_COLOR) } def reset_field(self): @@ -126,7 +138,8 @@ class Litris(GameBase): #cv.imshow("screenshot", screenshot) #cv.waitKey(150) for needle_key in self.needles.keys(): - rectangles = self.vision_stun.find(screenshot, self.needles[needle_key], 0.85, 1) + #rectangles = self.vision_stun.find(screenshot, self.needles[needle_key], 0.85, 1) + rectangles = self.vision_stun.find(screenshot, self.needles[needle_key], 0.85, 1, False, self.needle_masks[needle_key]) if len(rectangles) == 0: if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused': return