64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
import cv2 as cv
|
|
import numpy as np
|
|
from time import time
|
|
|
|
import pydirectinput
|
|
|
|
from game_base_class import GameBase
|
|
from pynput.keyboard import Key, Controller
|
|
|
|
from flappy_pos_discovery_thread import FlappyPosDiscovery
|
|
|
|
class Flappy(GameBase):
|
|
|
|
def __init__(self, overlay):
|
|
super().__init__(overlay)
|
|
|
|
self.keyboard = Controller()
|
|
|
|
self.data_coordinates = np.zeros((20, 20), dtype=object)
|
|
self.observation = np.zeros((20, 20), dtype=int)
|
|
|
|
self.colors = [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
|
|
self.offset_left = 610
|
|
self.offset_down = 40
|
|
|
|
self.fill_data_coordinates()
|
|
|
|
self.litris_reset_board = cv.imread("control_elements/sodoku_reset_button.jpg", cv.IMREAD_COLOR)
|
|
|
|
self.flappy_pos_disc = FlappyPosDiscovery()
|
|
|
|
self.move_mode = 1
|
|
|
|
def assess_playfield_and_make_move(self):
|
|
#last_letter_received = time()
|
|
while True:
|
|
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
|
return
|
|
#pydirectinput.mouseDown()
|
|
#cv.waitKey(50)
|
|
#pydirectinput.mouseUp()
|
|
#cv.waitKey(250)
|
|
'''
|
|
if self.stone_id_thread.get_pick_up_status() == False:
|
|
if (time() - last_letter_received) >= 5:
|
|
self.field.reset_field()
|
|
self.field.cleared_rows = 1
|
|
last_letter_received = time()
|
|
self.dig_point(1500, 980, 100)
|
|
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
|
return
|
|
continue
|
|
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
|
return
|
|
cv.waitKey(50)
|
|
continue
|
|
|
|
|
|
self.stone_id_thread.set_pick_up_status(False)
|
|
'''
|
|
|
|
|