Exemple #1
0
 def test_changers(self):
     # setLocation
     self.assertEqual(self.r.getTopLeft(), lackey.Location(0, 0))
     self.assertEqual(
         self.r.setLocation(lackey.Location(10, 10)).getTopLeft(),
         lackey.Location(10, 10))
     with self.assertRaises(ValueError):
         self.r.setLocation(None)
     # setROI
     self.r.setROI((5, 5, 10, 10))
     new_region = lackey.Screen(0)
     new_region.morphTo(self.r)
     with self.assertRaises(TypeError):
         new_region.morphTo("werdz")
     self.assertEqual(self.r.getTopLeft(), new_region.getTopLeft())
     self.assertEqual(self.r.getTopRight(), new_region.getTopRight())
     self.assertEqual(self.r.getBottomLeft(), new_region.getBottomLeft())
     self.assertEqual(self.r.getBottomRight(), new_region.getBottomRight())
     with self.assertRaises(TypeError):
         new_region.setROI("hammersauce")
     with self.assertRaises(TypeError):
         new_region.setROI()
     new_region.add(5, 5, 5, 5)
     self.assertEqual(new_region.getTopLeft(), lackey.Location(0, 0))
     # copyTo - only guaranteed one screen, so just make sure it doesn't crash
     new_region.copyTo(0)
     new_region.copyTo(lackey.Screen(0))
Exemple #2
0
def main():
    lackey.Settings.InfoLogs = False
    lackey.Settings.ActionLogs = False

    r = start_game()
    board = r.offset(lackey.Location(336, 80))
    board.setW(660)
    board.setH(660)
    cell_size = board.getW() / 8
    while True:
        grid = find_gems(board)
        #print("\n".join([str(r) for r in grid]))
        moves = calculate_move(grid)
        if moves is None:
            print("No matches found, waiting...")
            continue
        square1, square2 = moves
        print(square1, square2)
        square1_click = lackey.Location(
            board.getX() + (square1[1] * cell_size + (cell_size / 2)),
            board.getY() + (square1[0] * cell_size + (cell_size / 2)))
        square2_click = lackey.Location(
            board.getX() + (square2[1] * cell_size + (cell_size / 2)),
            board.getY() + (square2[0] * cell_size + (cell_size / 2)))
        board.click(square1_click)
        lackey.sleep(0.3)
        board.click(square2_click)
Exemple #3
0
 def test_movement(self):
     self.mouse.move(lackey.Location(10, 10))
     lackey.sleep(0.01)
     self.assertEqual(self.mouse.getPos().getTuple(), (10, 10))
     self.mouse.moveSpeed(lackey.Location(100, 200), 0.5)
     self.assertEqual(self.mouse.getPos().getTuple(), (100, 200))
     lackey.wheel(self.mouse.getPos(), 0,
                  3)  # Mostly just verifying it doesn't crash
Exemple #4
0
 def test_around_methods(self):
     center_region = self.r.get(lackey.Region.MID_BIG)
     below_region = center_region.below()
     self.assertTrue(below_region.isRegionValid())
     below_region = center_region.below(10)
     self.assertTrue(below_region.isRegionValid())
     above_region = center_region.above()
     self.assertTrue(above_region.isRegionValid())
     above_region = center_region.above(10)
     self.assertTrue(above_region.isRegionValid())
     right_region = center_region.right()
     self.assertTrue(right_region.isRegionValid())
     right_region = center_region.right(10)
     self.assertTrue(right_region.isRegionValid())
     left_region = center_region.left()
     self.assertTrue(left_region.isRegionValid())
     left_region = center_region.left(10)
     self.assertTrue(left_region.isRegionValid())
     nearby_region = center_region.nearby(10)
     self.assertTrue(nearby_region.isRegionValid())
     grow_region = center_region.grow(10, 5)
     self.assertTrue(grow_region.isRegionValid())
     grow_region = center_region.grow(10)
     self.assertTrue(grow_region.isRegionValid())
     inside_region = center_region.inside()
     self.assertTrue(inside_region.isRegionValid())
     offset_region = center_region.offset(lackey.Location(10, 10))
     self.assertTrue(offset_region.isRegionValid())
     with self.assertRaises(ValueError):
         offset_region = left_region.offset(-1000, -1000)
Exemple #5
0
 def test_info(self):
     self.assertFalse(self.r.contains(lackey.Location(-5, -5)))
     new_region = lackey.Region(-10, -10, 5, 5)
     self.assertFalse(self.r.contains(new_region))
     with self.assertRaises(TypeError):
         self.r.contains("werdz")
     self.r.hover()
     self.assertTrue(self.r.containsMouse())
Exemple #6
0
 def test_screen_methods(self):
     outside_loc = lackey.Location(-10, -10)
     self.assertIsNone(outside_loc.getScreen()) # Should be outside all screens and return None
     self.assertEqual(self.test_loc.getScreen().getID(), 0) # Test location should be on screen 0
     self.assertEqual(outside_loc.getMonitor().getID(), 0) # Outside all screens, should return default monitor (0)
     self.assertEqual(self.test_loc.getMonitor().getID(), 0) # Outside all screens, should return default monitor (0)
     self.assertIsNone(outside_loc.getColor()) # No color outside all screens, should return None
     self.assertIsInstance(self.test_loc.getColor(), numpy.ndarray) # No color outside all screens, should return None
Exemple #7
0
 def test_constructor(self):
     self.assertIsInstance(lackey.Region(self.r), lackey.Region)
     self.assertIsInstance(lackey.Region((0, 0, 5, 5)), lackey.Region)
     self.assertIsInstance(lackey.Region(0, 0), lackey.Region)
     self.assertIsInstance(lackey.Region(0, 0, 10, 10, 3), lackey.Region)
     with self.assertRaises(TypeError):
         lackey.Region("foobar")
     with self.assertRaises(TypeError):
         lackey.Region()
     self.assertIsInstance(
         lackey.Region.create(lackey.Location(0, 0), 5, 5), lackey.Region)
     self.assertIsInstance(
         lackey.Region.create(lackey.Location(0, 0),
                              lackey.Region.CREATE_X_DIRECTION_RIGHT,
                              lackey.Region.CREATE_Y_DIRECTION_BOTTOM, 10,
                              10), lackey.Region)
     self.assertIsInstance(
         lackey.Region.create(lackey.Location(10, 10),
                              lackey.Region.CREATE_X_DIRECTION_LEFT,
                              lackey.Region.CREATE_Y_DIRECTION_TOP, 10, 10),
         lackey.Region)
Exemple #8
0
 def setUp(self):
     self.test_loc = lackey.Location(10, 11)
Exemple #9
0
 def test_movement(self):
     self.mouse.move(lackey.Location(10, 10))
     self.assertEqual(self.mouse.getPos().getTuple(), (10, 10))
     self.mouse.moveSpeed(lackey.Location(100, 200), 0.5)
     self.assertEqual(self.mouse.getPos().getTuple(), (100, 200))