def test_snow(self): """ Check that Snow works. """ # Check that Snow randomly updates the Screen every 3rd frame. screen = MagicMock(spec=Screen, colours=8, unicode_aware=False) canvas = Canvas(screen, 10, 40, 0, 0) effect = Snow(canvas) effect.reset() self.assert_blank(canvas) my_buffer = [[(32, 7, 0, 0) for _ in range(40)] for _ in range(10)] for i in range(10): effect.update(i) self.assertEqual( self.check_canvas( canvas, my_buffer, lambda value: self.assertIn(chr(value[0]), ".+* ,;#@")), i % 3 == 0) # Check there is no stop frame by default. self.assertEqual(effect.stop_frame, 0) # This effect should ignore events. event = object() self.assertEqual(event, effect.process_event(event))
def reset(self, old_scene=None, screen=None): effects = [ Snow(self._screen), self.intro_text(self.title_text1, 0), self.intro_text(self.title_text2, 100), self.intro_text(self.title_text3, 300), self.intro_text(self.title_text2, 500), ] for fx in effects: self.add_effect(fx)
def demo(screen): effects = [ Cycle(screen, FigletText("P Y T H O N", font='big'), screen.height // 2 - 8), Cycle(screen, Fire(screen.height, screen.width, 'O', 0.5, 50, 5), screen.height // 2 + 3), Snow(screen), Mirage(screen, FigletText("R O C K S ! ! !"), screen.height // 2 + 3, 2) ] screen.play([Scene(effects, 500)])
def test_snow(self): """ Check that Snow works. """ # Check that Snow randomly updates the Screen every 3rd frame. screen = MagicMock(spec=Screen, colours=8) canvas = Canvas(screen, 10, 40, 0, 0) effect = Snow(canvas) effect.reset() self.assert_blank(canvas) buffer = [[(32, 7, 0, 0) for _ in range(40)] for _ in range(10)] for i in range(10): effect.update(i) self.assertEqual(self.check_canvas( canvas, buffer, lambda value: self.assertIn(chr(value[0]), ".+* ,;#@")), i % 3 == 0) # Check there is no stop frame by default. self.assertEqual(effect.stop_frame, 0)
def test_snow(self): """ Check that Snow works. """ # Check that Snow randomly updates the Screen every 3rd frame. screen = MagicMock(spec=Screen, colours=8, unicode_aware=False) canvas = Canvas(screen, 10, 40, 0, 0) effect = Snow(canvas) effect.reset() self.assert_blank(canvas) my_buffer = [[(32, 7, 0, 0) for _ in range(40)] for _ in range(10)] for i in range(10): effect.update(i) self.assertEqual(self.check_canvas( canvas, my_buffer, lambda value: self.assertIn(chr(value[0]), ".+* ,;#@")), i % 3 == 0) # Check there is no stop frame by default. self.assertEqual(effect.stop_frame, 0) # This effect should ignore events. event = object() self.assertEqual(event, effect.process_event(event))
def yule_log(screen): screen_height = screen.height screen_width = screen.width log_x = (screen_width // 2) - HALF_LOG_LENGTH log_y = (screen_height // 2) + HALF_LOG_HEIGHT if screen_height < 30: log_y = screen_height // 3 elif screen_height < 48: log_y = screen_height // 2 scenes = [] effects = [ Snow(screen), Print(screen, Fire(screen.height - 10, 80, "*" * 70, 0.8, 60, screen.colours, bg=screen.colours >= 256), 0, speed=1, transparent=False), Print(screen, StaticRenderer(images=YULE_LOG), x=log_x, y=log_y, colour=1, speed=1, transparent=True), ] if screen_height > 40: effects += [ Print(screen, FigletText("MERRY", font='univers'), 1, speed=1, start_frame=5), Print(screen, FigletText("CHRISTMAS!", font='univers'), 10, speed=1, start_frame=15), ] scenes.append(Scene(effects, -1)) screen.play(scenes, stop_on_resize=True)
def demo(screen): effects = [ Print(screen, StaticRenderer(images=tree), x=screen.width - 15, y=screen.height - 15, colour=Screen.COLOUR_GREEN), Snow(screen), Cycle(screen, FigletText("HAPPY"), screen.height // 2 - 6, start_frame=300), Cycle(screen, FigletText("XMAS!"), screen.height // 2 + 1, start_frame=300), ] screen.play([Scene(effects, -1)], stop_on_resize=True)
def test_snow(self): """ Check that Snow works. """ # Check that Snow randomly updates the Screen every 3rd frame. screen = MagicMock(spec=Screen, colours=8) canvas = Canvas(screen, 10, 40, 0, 0) effect = Snow(canvas) effect.reset() self.assert_blank(canvas) buffer = [[(32, 7, 0, 0) for _ in range(40)] for _ in range(10)] for i in range(10): effect.update(i) self.assertEqual( self.check_canvas( canvas, buffer, lambda value: self.assertIn(chr(value[0]), ".+* ,;#@")), i % 3 == 0) # Check there is no stop frame by default. self.assertEqual(effect.stop_frame, 0)