From 86d2542edcdb55090e3f40375eab2a7ae37fc6ac Mon Sep 17 00:00:00 2001 From: Thaloria Date: Fri, 28 Apr 2023 15:46:36 +0200 Subject: [PATCH] added sodoku game first draft --- control_elements/sodoku_reset_button.jpg | Bin 0 -> 4375 bytes sodoku.py | 6 ++++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 control_elements/sodoku_reset_button.jpg diff --git a/control_elements/sodoku_reset_button.jpg b/control_elements/sodoku_reset_button.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aea3a23f3eeb243aa73f32dd09f7b44130dee204 GIT binary patch literal 4375 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 F{{fW9dx-!5 literal 0 HcmV?d00001 diff --git a/sodoku.py b/sodoku.py index 93e0b62..03bd80a 100644 --- a/sodoku.py +++ b/sodoku.py @@ -26,6 +26,8 @@ class Sodoku(GameBase): self.fill_data_coordinates() + self.sd_reset_board = cv.imread("control_elements/sodoku_reset_button.jpg", cv.IMREAD_COLOR) + self.needles = {1: cv.imread("sodoku/1.jpg", cv.IMREAD_COLOR), 2: cv.imread("sodoku/2.jpg", cv.IMREAD_COLOR), 3: cv.imread("sodoku/3.jpg", cv.IMREAD_COLOR), @@ -59,8 +61,8 @@ class Sodoku(GameBase): def assess_playfield_and_make_move(self): new_observation, new_screenshot = self.get_current_board_state() - screenshot = self.capture_window.get_screenshot() - if self.check_for_button_and_execute(screenshot, self.reset_board): + + if self.check_for_button_and_execute(self.capture_window.get_screenshot(), self.sd_reset_board): cv.waitKey(500) self.find_patterns_and_valid_moves(new_observation)