def demo(screen): # Typical terminals are 80x24 on UNIX and 80x25 on Windows f = Figlet(font='slant') effects = [ Cog(screen, 20, 10, 10), Cog(screen, 60, 25, 15, direction=-1), Print(screen, FigletText(f.renderText(secure_random.choice(autoTeam)), font="term"), x=45, y=22, start_frame=60) ] effects.append( Print(screen, FigletText(f.renderText('Super team na dzis:'), font='term'), x=90, y=int(0))) currentMemberIndex = 1 for member in autoTeam: effects.append( Print(screen, FigletText(f.renderText(member), font='term'), x=120, y=int(7 * currentMemberIndex) + 2)) currentMemberIndex += 1 screen.play([Scene(effects, -1)], stop_on_resize=True)
def demo(screen): # Typical terminals are 80x24 on UNIX and 80x25 on Windows if screen.width != 80 or screen.height not in (24, 25): effects = [ Print(screen, FigletText("Resize to 80x24"), y=screen.height // 2 - 3), ] else: effects = [ Cog(screen, 20, 10, 10), Cog(screen, 60, 30, 15, direction=-1), Print(screen, FigletText("ascii", font="smkeyboard"), attr=Screen.A_BOLD, x=47, y=3, start_frame=50), Print(screen, FigletText("matics", font="smkeyboard"), attr=Screen.A_BOLD, x=45, y=7, start_frame=100), Print(screen, FigletText("by Peter Brittain", font="term"), x=8, y=22, start_frame=150) ] screen.play([Scene(effects, -1)], stop_on_resize=True)
def test_cog(self): """ Check that Cog works. """ # Check that Cog updates the Screen every other frame. screen = MagicMock(spec=Screen, colours=8, unicode_aware=False) canvas = Canvas(screen, 10, 40, 0, 0) effect = Cog(canvas, 10, 5, 5) effect.reset() self.assert_blank(canvas) my_buffer = [[(32, 7, 0, 0) for _ in range(40)] for _ in range(10)] for i in range(20): effect.update(i) self.assertEqual(self.check_canvas( canvas, my_buffer, lambda value: self.assertIn( chr(value[0]), " ''^.|/7.\\|Ywbd#")), i % 2 == 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 __init__(self, screen, x, y): super(AnimationFrame, self).__init__(screen, width=screen.width // 2, height=screen.height // 2, name="Clock", can_scroll=False, x=x, y=y) self.set_theme("bright") #effects=[]add effect one by one self.add_effect(Cog(self._canvas, 0, 0, self._canvas.width // 4), ) self.add_effect( Cog(self._canvas, self._canvas.width, self._canvas.height, self._canvas.width // 4, direction=-1)) self.set_theme("bright") self.fix()
def test_cog(self): """ Check that Cog works. """ # Check that Cog updates the Screen every other frame. screen = MagicMock(spec=Screen, colours=8) canvas = Canvas(screen, 10, 40, 0, 0) effect = Cog(canvas, 10, 5, 5) effect.reset() self.assert_blank(canvas) buffer = [[(32, 7, 0, 0) for _ in range(40)] for _ in range(10)] for i in range(20): effect.update(i) self.assertEqual(self.check_canvas( canvas, buffer, lambda value: self.assertIn( chr(value[0]), " ''^.|/7.\\|Ywbd#")), i % 2 == 0) # Check there is no stop frame by default. self.assertEqual(effect.stop_frame, 0)
def test_cog(self): """ Check that Cog works. """ # Check that Cog updates the Screen every other frame. screen = MagicMock(spec=Screen, colours=8) canvas = Canvas(screen, 10, 40, 0, 0) effect = Cog(canvas, 10, 5, 5) effect.reset() self.assert_blank(canvas) buffer = [[(32, 7, 0, 0) for _ in range(40)] for _ in range(10)] for i in range(20): effect.update(i) self.assertEqual( self.check_canvas( canvas, buffer, lambda value: self.assertIn( chr(value[0]), " ''^.|/7.\\|Ywbd#")), i % 2 == 0) # Check there is no stop frame by default. self.assertEqual(effect.stop_frame, 0)
def demo(screen): scenes = [] # scene 1: splash screen effects = [ Print( screen, FigletText("YAHTZOTRON", font="starwars"), int(screen.height / 2 - 8), transparent=False, speed=1, ), Print( screen, StaticRenderer( ["The friendly robot that beats you in Yahtzee"]), int(screen.height / 2), speed=1, ), Cog(screen, 5, screen.height - 5, 8, colour=screen.COLOUR_YELLOW), Cog( screen, screen.width - 5, screen.height - 5, 8, direction=-1, colour=screen.COLOUR_YELLOW, ), Stars(screen, 200), Print( screen, StaticRenderer(["🤖 🎲 🎲 🎲 🎲 🎲 🤖"]), int(screen.height / 2 + 4), speed=1, ), ] scenes.append(Scene(effects, 100)) # scene 2: origin story effects = [ Print(screen, StaticRenderer([lab_left]), x=5, y=0, speed=1), Print(screen, StaticRenderer([robot]), x=20, y=0, speed=1), Print(screen, StaticRenderer([man_standing]), x=40, y=0, speed=1), Print(screen, StaticRenderer([lab_right]), x=52, y=0, speed=1), Flash(screen, 25, duration=3, start_frame=25, stop_frame=35), Flash(screen, 30, duration=2, start_frame=30, stop_frame=35), Print( screen, StaticRenderer(["● ●"]), x=25, y=3, colour=screen.COLOUR_YELLOW, start_frame=30, ), Print( screen, SpeechBubble("It's alive!"), x=40, y=13, start_frame=50, stop_frame=75, clear=True, speed=1, ), Print( screen, SpeechBubble("State your prime directive"), x=35, y=13, start_frame=90, stop_frame=130, clear=True, ), Print( screen, SpeechBubble("T O . . . R O L L"), x=15, y=13, start_frame=150, clear=True, speed=1, ), ] scenes.append(Scene(effects, 200)) screen.play(scenes, repeat=False, stop_on_resize=True)