Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from microbit import *
- sleep_time = 200
- warning_time = 5000
- class Pinger:
- def __init__(self):
- self.direction = 1
- self.x = 2
- self.y = 2
- def update(self):
- display.set_pixel(self.x, self.y, 0)
- if self.x >= 4:
- self.x = 4
- self.direction = -self.direction
- elif self.x <= 0:
- self.x = 0
- self.direction = -self.direction
- self.x += self.direction
- display.set_pixel(self.x, self.y, 9)
- class DinosaurDetector:
- def __init__(self):
- self.horizontal_start = 0
- self.vertical_start = 0
- self.reset()
- def dinosaur_detected(self):
- horizontal_now = accelerometer.get_x()
- vertical_now = accelerometer.get_y()
- return self.horizontal_start != horizontal_now or self.vertical_start != vertical_now
- def reset(self):
- self.horizontal_start = accelerometer.get_x()
- self.vertical_start = accelerometer.get_y()
- display.scroll('Dino Detector', delay=100)
- detector = DinosaurDetector()
- pinger = Pinger()
- glass1 = Image("00000:00000:00900:00000:00000")
- glass2 = Image("00000:00900:09090:00900:00000")
- glass3 = Image("09990:90009:90009:90009:09990")
- glass4 = Image("09090:90009:00000:90009:09090")
- ripple_animation = [glass1, glass2, glass3, glass4, glass3, glass2, glass1]
- while True:
- pinger.update()
- sleep(sleep_time)
- if detector.dinosaur_detected():
- detector.reset()
- display.show(ripple_animation, delay=100)
- display.show(Image.GIRAFFE)
- sleep(warning_time)
- display.clear()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement