def test_move(self): gw = GridWalker(1, 2) self.assertEqual(gw.direction, Direction.S) gw.move(1) x, y = gw.get_pos() self.assertEqual(x, 1) self.assertEqual(y, 3)
def test_direction_turn_left(self): gw = GridWalker(1, 2) self.assertEqual(gw.direction, Direction.S) gw.turn_left() self.assertEqual(gw.direction, Direction.E) gw.turn_left() self.assertEqual(gw.direction, Direction.N) gw.turn_left() self.assertEqual(gw.direction, Direction.W) gw.turn_left() self.assertEqual(gw.direction, Direction.S)
def test_create_at_x_y_pos(self): gw = GridWalker(1, 2) self.assertEqual(gw.x_pos, 1) self.assertEqual(gw.y_pos, 2) self.assertEqual(gw.x_min, 0) self.assertEqual(gw.x_max, 7) self.assertEqual(gw.y_min, 0) self.assertEqual(gw.y_max, 7)
from time import sleep from led8x8m import LedMatrix from led8x8m.grid import GridWalker ledmx = LedMatrix() gw = GridWalker(7, 0) size = 1 delta = 1 sleep_time = { 1: 0.1, 2: 0.05, 3: 0.025, 4: 0.0125, 5: 0.005, 6: 0.0025, 7: 0.00125, } while True: for _ in range(4): for _ in range(size): gw.move() x, y = gw.get_pos() ledmx.xy_on(x, y) sleep(sleep_time[size]) gw.turn_right() if size in [0, 7]: delta *= -1 size += delta
from time import sleep from led8x8m import LedMatrix from led8x8m.grid import GridWalker # from led8x8m.random import rand_xy ledmx = LedMatrix() gw = GridWalker(0, 0) # written as thinking ahead... wrap is not in use here def wrap(xy): def wrap(n): if n < 0: return 7 if n > 7: return 0 return wrap(xy[0]), wrap(xy[1]) while True: for n in range(7): gw.move() x, y = gw.get_pos() ledmx.xy_on(x, y) sleep(0.1) gw.turn_left()
from led8x8m import LedMatrix from led8x8m.grid import GridWalker ledmx = LedMatrix() gw = GridWalker(-1, -1) x, y = gw.get_pos() ledmx.xy_on(x, y)
def test_direction_init(self): gw = GridWalker(1, 2) self.assertEqual(gw.direction, Direction.S)
def test_get_pos(self): gw = GridWalker(1, 2) x, y = gw.get_pos() self.assertEqual(x, 1) self.assertEqual(y, 2)