コード例 #1
0
ファイル: main.py プロジェクト: J-CITY/Kitsune
def init(screen, old_scene):
	if config.useInternet:
		sc.setPresenter(presenter)

	browser = BrowserFrame(screen, upBar, downBar, config)
	browser.setPresenter(presenter)
	
	medialib = MedialibFrame(screen, upBar, downBar, config)
	medialib.setPresenter(presenter)

	playlists = PlaylistsFrame(screen, upBar, downBar, config)
	playlists.setPresenter(presenter)

	equalizer = EqualizerFrame(screen, upBar, downBar, config)
	equalizer.setPresenter(presenter)

	viz = VisualizationFrame(screen, upBar, downBar, config)
	viz.setPresenter(presenter)

	clock = ClockFrame(screen, upBar, downBar, config)
	clock.setPresenter(presenter)

	if config.useInternet:
		artistinfo = ArtistInfoFrame(screen, upBar, downBar, config)
		artistinfo.setPresenter(presenter)
	if config.useInternet:
		lyrics = LyricsFrame(screen, upBar, downBar, config)
		lyrics.setPresenter(presenter)

	search = SearchFrame(screen, upBar, downBar, config)
	search.setPresenter(presenter)
	
	mainplaylist = MainPlaylistFrame(screen, upBar, downBar, config)
	mainplaylist.setPresenter(presenter)

	presenter.setBrowser(browser)
	presenter.setMainPlaylist(mainplaylist)
	presenter.setPlaylists(playlists)
	presenter.setEqualizer(equalizer)
	presenter.setClock(clock)
	presenter.setUpBar(upBar)
	presenter.setDownBar(downBar)
	presenter.setVisualization(viz)
	presenter.setMedialib(medialib)
	if config.useInternet:
		presenter.setArtistInfo(artistinfo)
		presenter.setLyrics(lyrics)
	presenter.setSearch(search)

	player.setPresenter(presenter)

	presenter.run()


	screens = [Scene([mainplaylist], -1, name="MainPlaylist"),
				Scene([browser], -1, name="Browser"),
				Scene([medialib], -1, name="Medialib"),
				Scene([playlists], -1, name="Playlists"),
				Scene([equalizer], -1, name="Equalizer"),
				Scene([viz], -1, name="Visualizer")]
	if config.useInternet:
		screens.append(Scene([artistinfo], -1, name="ArtistInfo"))
		screens.append(Scene([lyrics], -1, name="Lyrics"))
	screens.append(Scene([clock], -1, name="Clock"))
	screens.append(Scene([search], -1, name="Search"))

	screen.play(screens,
				stop_on_resize=True, start_scene=old_scene)
コード例 #2
0
ファイル: __init__.py プロジェクト: innovate-invent/ProDuSe2
def displayVerbose(screen, sel: selectors.DefaultSelector, data, poll):
    from asciimatics.screen import Screen, StopApplication, NextScene, ResizeScreenError
    from asciimatics.scene import Scene
    import asciimatics.widgets as Widgets
    from asciimatics.effects import Matrix, _Trail, randint
    from time import time

    # It was too good to not include
    class _BioTrail(_Trail):
        def update(self, reseed):
            chars = ['A', 'G', 'C', 'T']
            if self._clear:
                for i in range(0, 3):
                    self._screen.print_at(" ",
                                          self._x,
                                          self._screen.start_line + self._y + i)
                self._maybe_reseed(reseed)
            else:
                for i in range(0, 3):
                    self._screen.print_at(chars[randint(0,3)],
                                          self._x,
                                          self._screen.start_line + self._y + i,
                                          Screen.COLOUR_GREEN)
                for i in range(4, 6):
                    self._screen.print_at(chars[randint(0,3)],
                                          self._x,
                                          self._screen.start_line + self._y + i,
                                          Screen.COLOUR_GREEN,
                                          Screen.A_BOLD)
                self._maybe_reseed(reseed)

    class BioMatrix(Matrix):
        def reset(self):
            self._chars = [_BioTrail(self._screen, x) for x in
                           range(self._screen.width)]

    Widgets.Frame.palette['section_header'] = (Screen.COLOUR_GREEN, Screen.A_UNDERLINE, Screen.COLOUR_BLUE)

    window = Widgets.Frame(screen, 30, 200, title="ProDuSe V2.0", data=data)
    scene = Scene([BioMatrix(screen), window])
    layout = Widgets.Layout([1])
    window.add_layout(layout)
    outputFile = Widgets.Text('Output', 'output')
    outputFile.disabled = True
    layout.add_widget(outputFile)
    # Trim
    label = Widgets.Label("Trim:")
    label.custom_colour = 'section_header'
    layout.add_widget(label)
    trim = Widgets.TextBox(1, name='trim')
    trim.disabled = True
    layout.add_widget(trim)
    layout.add_widget(Widgets.Divider(False))

    #BWA
    label = Widgets.Label("BWA:")
    label.custom_colour = 'section_header'
    layout.add_widget(label)
    box = Widgets.TextBox(len(data['bwa']), name='bwa')
    box.disabled = True
    layout.add_widget(box)
    layout.add_widget(Widgets.Divider(False))

    # Clip
    label = Widgets.Label("Clip:")
    label.custom_colour = 'section_header'
    layout.add_widget(label)
    box = Widgets.TextBox(1, name='clip')
    box.disabled = True
    layout.add_widget(box)
    layout.add_widget(Widgets.Divider(False))

    # Collapse
    label = Widgets.Label("Collapse:")
    label.custom_colour = 'section_header'
    layout.add_widget(label)
    box = Widgets.TextBox(1, name='collapse')
    box.disabled = True
    layout.add_widget(box)
    layout.add_widget(Widgets.Divider(False))

    window.fix()
    screen.set_scenes([scene])
    screen.draw_next_frame()
    lastTime = time()
    while poll():
        for key, mask in sel.select(0.5):
            key.data.pop(0)
            key.data.append(stripDecorators.sub(lambda m: '   ' if m.group(0) == '\t' else '', key.fileobj.readline().decode()))
        if time() - lastTime > 1/20: # Dump output until a reasonable amount of time has passed to avoid the buffer filling and slowing down everything
            if screen.has_resized():
                raise ResizeScreenError('')
            window.data = data
            screen.force_update()
            screen.draw_next_frame()
            lastTime = time()

    raise StopApplication('')
コード例 #3
0
def demo(screen):
    effects = [
        RandomNoise(screen, signal=Rainbow(screen, FigletText("ASCIIMATICS")))
    ]
    screen.play([Scene(effects, -1)], stop_on_resize=True)
コード例 #4
0
ファイル: fire.py プロジェクト: sellenth/algorithms
def demo(screen):
    scenes = []

    effects = [
            RandomNoise(screen,
                signal=Rainbow(screen,
                    FigletText("ASCIIMATICS"))),
                Print(screen,
                    Fire(screen.height, 80, "*" * 70, 0.8, 60, screen.colours,
                        bg=screen.colours >= 256),
                    0,
                    speed=1,
                    transparent=False),
                Print(screen,
                    FigletText("Help!", "banner3"),
                    (screen.height - 4) // 2,
                    colour=Screen.COLOUR_BLACK,
                    speed=1,
                    stop_frame=30),
                Print(screen,
                    FigletText("I'm", "banner3"),
                    (screen.height - 4) // 2,
                    colour=Screen.COLOUR_BLACK,
                    speed=1,
                    start_frame=30,
                    stop_frame=50),
                Print(screen,
                    FigletText("on", "banner3"),
                    (screen.height - 4) // 2,
                    colour=Screen.COLOUR_BLACK,
                    speed=1,
                    start_frame=50,
                    stop_frame=70),
                Print(screen,
                    FigletText("Fire!", "banner3"),
                    (screen.height - 4) // 2,
                    colour=Screen.COLOUR_BLACK,
                    speed=1,
                    start_frame=70),
                ]
    scenes.append(Scene(effects, 100))

    text = Figlet(font="banner", width=200).renderText("ASCIIMATICS")
    width = max([len(x) for x in text.split("\n")])

    effects = [
            Print(screen,
                Fire(screen.height, 80, text, 0.4, 40, screen.colours),
                0,
                speed=1,
                transparent=False),
            Print(screen,
                FigletText("ASCIIMATICS", "banner"),
                screen.height - 9, x=(screen.width - width) // 2 + 1,
                colour=Screen.COLOUR_BLACK,
                bg=Screen.COLOUR_BLACK,
                speed=1),
            Print(screen,
                FigletText("ASCIIMATICS", "banner"),
                screen.height - 9,
                colour=Screen.COLOUR_WHITE,
                bg=Screen.COLOUR_WHITE,
                speed=1),
            ]
    scenes.append(Scene(effects, -1))

    screen.play(scenes, stop_on_resize=True)
コード例 #5
0
def singleton(screen, scene, tbapi, serial):
    scenes = [ Scene([Matrix(screen), MainMenu(screen, settings, tbapi, serial)], -1, name="Main"), ]
    screen.play(scenes, stop_on_resize=False, start_scene=scene)
コード例 #6
0
ファイル: forms.py プロジェクト: rexzhong1949/asciimatics
def demo(screen, scene):
    screen.play(
        [Scene([Background(screen), DemoFrame(screen)], -1)],
        stop_on_resize=True,
        start_scene=scene,
        allow_int=True)
コード例 #7
0
def demo(screen, old_scene):
    screen.play([Scene([DemoFrame(screen)], -1)],
                stop_on_resize=True,
                start_scene=old_scene)
コード例 #8
0
ファイル: t4.py プロジェクト: PoplarYang/gotwo
def demo(screen, scene):
    scenes = [
        Scene([ListView(screen, contacts)], -1, name="Main"),
    ]

    screen.play(scenes, stop_on_resize=True, start_scene=scene)
コード例 #9
0
ファイル: basics.py プロジェクト: antmd/asciimatics
def demo(screen):
    scenes = []
    centre = (screen.width // 2, screen.height // 2)
    podium = (8, 5)

    # Scene 1.
    path = Path()
    path.jump_to(-20, centre[1])
    path.move_straight_to(centre[0], centre[1], 10)
    path.wait(30)
    path.move_straight_to(podium[0], podium[1], 10)
    path.wait(100)

    effects = [
        Arrow(screen, path, colour=Screen.COLOUR_GREEN),
        _speak(screen, "WELCOME TO ASCIIMATICS", centre, 30),
        _speak(screen, "My name is Aristotle Arrow.", podium, 110),
        _speak(screen, "I'm here to help you learn ASCIImatics.", podium, 180),
    ]
    scenes.append(Scene(effects))

    # Scene 2.
    path = Path()
    path.jump_to(podium[0], podium[1])

    effects = [
        Arrow(screen, path, colour=Screen.COLOUR_GREEN),
        _speak(screen, "Let's start with the Screen...", podium, 10),
        _speak(screen, "This is your Screen object.", podium, 80),
        Print(screen, Box(screen.width, screen.height), 0, 0, start_frame=90),
        _speak(screen, "It lets you play a Scene like this one I'm in.",
               podium, 150),
        _speak(screen, "A Scene contains one or more Effects.", podium, 220),
        _speak(screen, "Like me - I'm a Sprite!", podium, 290),
        _speak(screen, "Or these Stars.", podium, 360),
        _speak(screen, "As you can see, the Screen handles them both at once.",
               podium, 430),
        _speak(screen, "It can handle as many Effects as you like.", podium,
               500),
        _speak(screen, "Please press <SPACE> now.", podium, 570),
        Stars(screen, (screen.width + screen.height) // 2, start_frame=360)
    ]
    scenes.append(Scene(effects, -1))

    # Scene 3.
    path = Path()
    path.jump_to(podium[0], podium[1])

    effects = [
        Arrow(screen, path, colour=Screen.COLOUR_GREEN),
        _speak(screen, "This is a new Scene.", podium, 10),
        _speak(
            screen, "The Screen stops all Effects and clears itself between "
            "Scenes.", podium, 70),
        _speak(screen, "That's why you can't see the Stars now.", podium, 130),
        _speak(screen, "(Though you can override that if you need to.)",
               podium, 200),
        _speak(screen, "Please press <SPACE> now.", podium, 270),
    ]
    scenes.append(Scene(effects, -1))

    # Scene 4.
    path = Path()
    path.jump_to(podium[0], podium[1])

    effects = [
        Arrow(screen, path, colour=Screen.COLOUR_GREEN),
        _speak(screen, "So, how do you design your animation?", podium, 10),
        _speak(screen, "1) Decide on your cinematic flow of Scenes.", podium,
               80),
        _speak(screen, "2) Create the Effects in each Scene.", podium, 150),
        _speak(screen, "3) Pass the Scenes to the Screen to play.", podium,
               220),
        _speak(screen, "It really is that easy!", podium, 290),
        _speak(screen, "Just look at this sample code.", podium, 360),
        _speak(screen, "Please press <SPACE> now.", podium, 430),
    ]
    scenes.append(Scene(effects, -1))

    # Scene 5.
    path = Path()
    path.jump_to(podium[0], podium[1])

    effects = [
        Arrow(screen, path, colour=Screen.COLOUR_GREEN),
        _speak(screen, "There are various effects you can use.  For "
               "example...", podium, 10),
        Cycle(screen,
              FigletText("Colour cycling"),
              centre[1] - 5,
              start_frame=100),
        Cycle(screen,
              FigletText("using Figlet"),
              centre[1] + 1,
              start_frame=100),
        _speak(screen, "Look in the effects module for more...", podium, 290),
        _speak(screen, "Please press <SPACE> now.", podium, 360),
    ]
    scenes.append(Scene(effects, -1))

    # Scene 6.
    path = Path()
    path.jump_to(podium[0], podium[1])
    curve_path = []
    for i in range(0, 11):
        curve_path.append(
            (centre[0] + (screen.width / 4 * math.sin(i * math.pi / 5)),
             centre[1] - (screen.height / 4 * math.cos(i * math.pi / 5))))
    path2 = Path()
    path2.jump_to(centre[0], centre[1] - screen.height // 4)
    path2.move_round_to(curve_path, 60)

    effects = [
        Arrow(screen, path, colour=Screen.COLOUR_GREEN),
        _speak(screen, "Sprites (like me) are also an Effect.", podium, 10),
        _speak(screen, "We take a pre-defined Path to follow.", podium, 80),
        _speak(screen, "Like this one...", podium, 150),
        Plot(screen,
             path2,
             colour=Screen.COLOUR_BLUE,
             start_frame=160,
             stop_frame=300),
        _speak(screen, "My friend Sam will now follow it...", podium, 320),
        Sam(screen, copy.copy(path2), start_frame=380),
        _speak(screen, "Please press <SPACE> now.", podium, 420),
    ]
    scenes.append(Scene(effects, -1))

    # Scene 7.
    path = Path()
    path.jump_to(podium[0], podium[1])
    path.wait(60)
    path.move_straight_to(-5, podium[1], 20)
    path.wait(300)

    effects = [
        Arrow(screen, path, colour=Screen.COLOUR_GREEN),
        _speak(screen, "Goodbye!", podium, 10),
        Cycle(screen, FigletText("THE END!"), centre[1] - 4, start_frame=100),
        Print(screen,
              SpeechBubble("Press X to exit"),
              centre[1] + 6,
              start_frame=150)
    ]
    scenes.append(Scene(effects, 500))

    screen.play(scenes, stop_on_resize=True)
コード例 #10
0
def demo(screen):
    screen.set_title("ASCIIMATICS demo")

    scenes = []

    # First scene: title page
    effects = [
        Print(screen,
              Rainbow(screen, FigletText("ASCIIMATICS", font="big")),
              y=screen.height // 4 - 5),
        Print(screen, FigletText("Particle System"), screen.height // 2 - 3),
        Print(screen, FigletText("Effects Demo"), screen.height * 3 // 4 - 3),
        Print(screen,
              SpeechBubble("Press SPACE to continue..."),
              screen.height - 3,
              transparent=False,
              start_frame=70)
    ]
    scenes.append(Scene(effects, -1))

    # Next scene: just dissolve the title.
    effects = [
        ShootScreen(screen, screen.width // 2, screen.height // 2, 100),
    ]
    scenes.append(Scene(effects, 40, clear=False))

    # Next scene: sub-heading.
    effects = [
        DropScreen(screen, 100),
        Print(screen,
              Rainbow(screen, FigletText("Explosions", font="doom")),
              y=screen.height // 2 - 5,
              stop_frame=30),
        DropScreen(screen, 100, start_frame=30)
    ]
    scenes.append(Scene(effects, 80))

    # Next scene: explosions
    effects = []
    for i in range(20):
        effects.append(
            Explosion(screen,
                      randint(3, screen.width - 4),
                      randint(1, screen.height - 2),
                      randint(20, 30),
                      start_frame=randint(0, 250)))
    effects.append(
        Print(screen,
              SpeechBubble("Press SPACE to continue..."),
              screen.height - 6,
              speed=1,
              transparent=False,
              start_frame=100))
    scenes.append(Scene(effects, -1))

    # Next scene: sub-heading.
    effects = [
        Print(screen,
              Rainbow(screen, FigletText("Rain", font="doom")),
              y=screen.height // 2 - 5,
              stop_frame=30),
        DropScreen(screen, 100, start_frame=30)
    ]
    scenes.append(Scene(effects, 80))

    # Next scene: rain storm.
    effects = [
        Rain(screen, 200),
        Print(screen,
              SpeechBubble("Press SPACE to continue..."),
              screen.height - 6,
              speed=1,
              transparent=False,
              start_frame=100)
    ]
    scenes.append(Scene(effects, -1))

    # Next scene: sub-heading.
    effects = [
        Print(screen,
              Rainbow(screen, FigletText("Fireworks", font="doom")),
              y=screen.height // 2 - 5,
              stop_frame=30),
        DropScreen(screen, 100, start_frame=30)
    ]
    scenes.append(Scene(effects, 80))

    # Next scene: fireworks
    effects = []
    for i in range(20):
        effects.append(
            StarFirework(screen,
                         randint(3, screen.width - 4),
                         randint(1, screen.height - 2),
                         randint(20, 30),
                         start_frame=randint(0, 250)))
    effects.append(
        Print(screen,
              SpeechBubble("Press SPACE to continue..."),
              screen.height - 6,
              speed=1,
              transparent=False,
              start_frame=100))
    scenes.append(Scene(effects, -1))

    screen.play(scenes, stop_on_resize=True)
コード例 #11
0
ファイル: title_screen.py プロジェクト: Alvoras/qtap
def animate(screen):
    scenes = []
    banner_text = "QTAP"
    text = Figlet(font="banner", width=200).renderText(banner_text)
    width = max([len(x) for x in text.split("\n")])

    # top_padding = screen.height - 9
    top_padding = (screen.height // 2) - 3
    # fire_top_padding = top_padding + 8

    max_rng = (screen.width + screen.height) // 2
    qrng.set_provider_as_IBMQ('')
    qrng.set_backend()
    rng = qrng.get_random_int((max_rng // 3) * 2, max_rng)

    stars_bg = Stars(screen,
                     rng,
                     pattern="..[T]..   ...[H]...  ...[Z]...         ")

    effects = [
        # Print(screen,
        #       Fire(fire_top_padding, 80, text, 0.4, 30, screen.colours),
        #       0,
        #       speed=1,
        #       transparent=False),
        Print(screen,
              FigletText(banner_text, "banner"),
              top_padding,
              x=(screen.width - width) // 2 + 1,
              colour=Screen.COLOUR_BLACK,
              bg=Screen.COLOUR_BLACK,
              speed=1),
        Print(screen,
              FigletText(banner_text, "banner"),
              top_padding,
              colour=Screen.COLOUR_WHITE,
              bg=Screen.COLOUR_WHITE,
              speed=1),
        stars_bg
    ]

    scenes.append(Scene(effects, duration=seconds_to_frame(2)))
    #
    # buttons_top_padding = screen.height - (screen.height // 3)
    #
    # effects = [
    #     Print(screen,
    #           FigletText(banner_text, "banner"),
    #           buttons_top_padding,
    #           x=width,
    #           colour=Screen.COLOUR_WHITE,
    #           bg=Screen.COLOUR_WHITE,
    #           speed=1),
    #     Print(screen,
    #           FigletText(banner_text, "banner"),
    #           buttons_top_padding,
    #           x=screen.width - (screen.width // 3),
    #           colour=Screen.COLOUR_WHITE,
    #           bg=Screen.COLOUR_WHITE,
    #           speed=1),
    #     stars_bg
    # ]
    #
    # scenes.append(Scene(effects, -1))

    screen.play(scenes, repeat=False, stop_on_resize=True)
コード例 #12
0
ファイル: ctui.py プロジェクト: Darkmind14/cbp
def launch(screen):
    scene = [Scene([MainView(screen)],-1,name="Main"),Scene([AltazView(screen)],-1,name="Altaz"),Scene([BirgerView(screen)],-1,name="Birger"),Scene([FilterWheelView(screen)],-1,name="Filter Wheel"),Scene([KeithleyView(screen)],-1,name="Keithley"),Scene([LaserView(screen)],-1,name="Laser"),Scene([LockinView(screen)],-1,name="Lockin"),Scene([SpectrographView(screen)],-1,name="Spectrograph"),Scene([ShutterView(screen)],-1,name="Shutter")]
    screen.play(scene)
コード例 #13
0
def run_scene(screen, board, style):
    scenes = [Scene([GameBoard(screen, board, style)], -1, name="Main")]
    screen.play(scenes, stop_on_resize=True)
コード例 #14
0
ファイル: main.py プロジェクト: makoki13/botsclash
def demo(screen, scene):
    scenes = []
    #scenes.append(Scene([DemoFrame(screen)], -1))
    scenes.append(Scene([DemoFrame2(screen)], -1))
    screen.play(scenes, stop_on_resize=True, start_scene=scene)
コード例 #15
0
ファイル: asciio_layout_v2.py プロジェクト: dasteihn/visio
def run_display(screen):
    scenes = []
    AKT_SENDER = "Retro rockt!"

    # Prepare frame for the presets
    preset_frame = Frame(screen,
                         7,
                         29,
                         can_scroll=False,
                         title="Tastenbelegung",
                         x=0,
                         y=10,
                         reduce_cpu=True)
    pr_layout = Layout([10, 90], fill_frame=True)
    preset_frame.add_layout(pr_layout)

    # Prepare frame for the sender list
    sender_frame = Frame(screen,
                         17,
                         50,
                         can_scroll=False,
                         title="Senderliste",
                         x=30,
                         y=0,
                         reduce_cpu=True)
    sender_layout0 = Layout([10, 80, 10], fill_frame=True)
    sender_frame.add_layout(sender_layout0)

    # Load the json config-file
    cfg = load_config()

    # Prepare the layouts, add spaces etc
    format_sl_layout(sender_layout0)

    # Nicht mehr nötig nach aktuellem Stand
    # format_pr_layout(pr_layout)

    # Create the sender-labels and fill them initially. Return them for
    # later changing
    sender_labels = gen_and_add_sender_labels(sender_layout0,
                                              parse_sender(cfg, 0))
    preset_labels = gen_and_add_preset_labels(pr_layout, parse_presets(cfg))

    preset_frame.fix()
    sender_frame.fix()

    # Effects are all the stuff which will be shown on the display
    effects = [
        preset_frame,
        sender_frame,
        # Print(screen, Box(26, 15, True), x=54, y=0),
        Print(screen, Box(80, 8, True), x=0, y=17, speed=2),
        # Clock(screen, 68, 7, 5),
        Print(screen,
              ColourImageFile(screen, LOGO, 9, bg=7),
              x=0,
              y=0,
              speed=2),
        Print(screen, FigletText(asciisierer(AKT_SENDER)), x=1, y=18),
        Print(screen,
              BarChart(4,
                       80, [get_vol],
                       colour=2,
                       char=' ',
                       bg=7,
                       scale=100,
                       axes=BarChart.X_AXIS,
                       intervals=25,
                       labels=True,
                       border=False),
              x=0,
              y=26,
              transparent=False,
              speed=2)
    ]

    # Start displaying
    scenes.append(Scene(effects, -1))
    screen.play(scenes)
コード例 #16
0
def main(screen):
    scenes = [
        Scene([ReposView(screen, model)], name="repoview"),
        Scene([InfoRepo(screen, model)], name="inforepo"),
    ]
    screen.play(scenes)
コード例 #17
0
    def _redraw(self):
        self.display_score.update_scores(self.teams)
        scene = Scene([self.display_score], clear=True)

        self.screen.play([scene], repeat=False, stop_on_resize=True)
コード例 #18
0
def _credits(screen):
    scenes = []

    text = Figlet(font="banner", width=200).renderText("ASCIIMATICS")
    width = max([len(x) for x in text.split("\n")])

    effects = [
        Print(screen,
              Fire(screen.height, 80, text, 0.4, 40, screen.colours),
              0,
              speed=1,
              transparent=False),
        Print(screen,
              FigletText("ASCIIMATICS", "banner"),
              screen.height - 9,
              x=(screen.width - width) // 2 + 1,
              colour=Screen.COLOUR_BLACK,
              bg=Screen.COLOUR_BLACK,
              speed=1),
        Print(screen,
              FigletText("ASCIIMATICS", "banner"),
              screen.height - 9,
              colour=Screen.COLOUR_WHITE,
              bg=Screen.COLOUR_WHITE,
              speed=1),
    ]
    scenes.append(Scene(effects, 100))

    effects = [
        Matrix(screen, stop_frame=200),
        Mirage(screen,
               FigletText("Asciimatics"),
               screen.height // 2 - 3,
               Screen.COLOUR_GREEN,
               start_frame=100,
               stop_frame=200),
        Wipe(screen, start_frame=150),
        Cycle(screen,
              FigletText("Asciimatics"),
              screen.height // 2 - 3,
              start_frame=200)
    ]
    scenes.append(Scene(effects, 250, clear=False))

    effects = [
        BannerText(
            screen,
            Rainbow(
                screen,
                FigletText("Reliving the 80s in glorious ASCII text...",
                           font='slant')), screen.height // 2 - 3,
            Screen.COLOUR_GREEN)
    ]
    scenes.append(Scene(effects))

    effects = [
        Mirage(screen, FigletText("Conceived and"), screen.height,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("written by:"), screen.height + 8,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("Peter Brittain"), screen.height + 16,
               Screen.COLOUR_GREEN),
        Scroll(screen, 3)
    ]
    scenes.append(Scene(effects, (screen.height + 24) * 3))

    effects = [
        Mirage(screen, FigletText("With help from:"), screen.height,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("Cory Benfield"), screen.height + 8,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("Bryce Guinta"), screen.height + 16,
               Screen.COLOUR_GREEN),
        Scroll(screen, 3)
    ]
    scenes.append(Scene(effects, (screen.height + 24) * 3))

    effects = [
        Cycle(screen,
              FigletText("ASCIIMATICS", font='big'),
              screen.height // 2 - 8,
              stop_frame=100),
        Cycle(screen,
              FigletText("ROCKS!", font='big'),
              screen.height // 2 + 3,
              stop_frame=100),
        Stars(screen, (screen.width + screen.height) // 2, stop_frame=100),
        DropScreen(screen, 100, start_frame=100)
    ]
    scenes.append(Scene(effects, 200))

    effects = [
        Print(screen,
              SpeechBubble("Press 'X' to exit."),
              screen.height // 2 - 1,
              attr=Screen.A_BOLD)
    ]
    scenes.append(Scene(effects, -1))

    screen.play(scenes, stop_on_resize=True)
コード例 #19
0
ファイル: maps.py プロジェクト: Rensykes/PythonScripts
def demo(screen, scene):
    screen.play([Scene([Map(screen)], -1)],
                stop_on_resize=True,
                start_scene=scene)
コード例 #20
0
def singleton_no_device(screen, scene):
    scenes = [ Scene([NoDevice(screen)], -1, name="Main"), ]
    screen.play(scenes, stop_on_resize=False, start_scene=scene)
コード例 #21
0
ファイル: pacman.py プロジェクト: ysunf/asciimatics
def demo(screen):
    scenes = []
    centre = (screen.width // 2, screen.height // 2)

    # Title
    effects = [
        BannerText(screen, ColourImageFile(screen, "pacman.png", 16, 0, True),
                   (screen.height - 16) // 2, Screen.COLOUR_WHITE),
        Print(
            screen,
            StaticRenderer(images=[
                "A tribute to the classic 80's "
                "video game by Namco."
            ]), screen.height - 1)
    ]
    scenes.append(Scene(effects, 0))

    # Scene 1 - run away, eating dots
    path = Path()
    path.jump_to(screen.width + 16, centre[1])
    path.move_straight_to(-16, centre[1], (screen.width + 16) // 3)
    path.wait(100)

    if screen.colours <= 16:
        inky = 6
        pinky = 5
        blinky = 1
        clyde = 2
    else:
        inky = 14
        pinky = 201
        blinky = 9
        clyde = 208

    effects = [
        PacMan(screen, path),
        Ghost(screen, deepcopy(path), inky, start_frame=40),
        Ghost(screen, deepcopy(path), pinky, start_frame=60),
        Ghost(screen, deepcopy(path), blinky, start_frame=80),
        Ghost(screen, deepcopy(path), clyde, start_frame=100),
    ]

    for x in range(5, screen.width, 16):
        effects.insert(
            0,
            Print(screen,
                  StaticRenderer(images=[dot]),
                  screen.height // 2,
                  x=x,
                  speed=1,
                  stop_frame=4))

    scenes.append(Scene(effects, 100 + screen.width))

    # Scene 2 - Chase ghosts after a power pill
    scenes.append(EatingScene(screen))

    # Scene 3 - Thanks...
    effects = [
        Print(screen,
              FigletText("Thank you,"),
              screen.height // 3 - 3,
              colour=Screen.COLOUR_RED),
        Print(screen,
              StaticRenderer(images=[namco]),
              screen.height * 2 // 3 - 2,
              colour=Screen.COLOUR_RED),
        Print(screen, StaticRenderer(images=["< Press X to exit. >"]),
              screen.height - 1)
    ]
    scenes.append(Scene(effects, 0))

    screen.play(scenes, stop_on_resize=True, repeat=False)
コード例 #22
0
def _credits(term):
    screen = Screen.from_blessed(term)

    scenes = []
    centre = (screen.width // 2, screen.height // 2)
    curve_path = []
    for i in range(0, 11):
        curve_path.append(
            (centre[0] + (screen.width / 3 * math.sin(i * math.pi / 5)),
             centre[1] - (screen.height / 3 * math.cos(i * math.pi / 5))))
    path = Path()
    path.jump_to(-20, centre[1] - screen.height // 3)
    path.move_straight_to(centre[0], centre[1] - screen.height // 3, 10),
    path.wait(30)
    path.move_round_to(curve_path, 80)
    path.wait(30)
    path.move_straight_to(7, 4, 10)
    path.wait(300)

    effects = [
        Sam(screen, path),
        Print(screen,
              SpeechBubble("WELCOME TO ASCIIMATICS", "L"),
              x=centre[0] + 12,
              y=(centre[1] - screen.height // 3) - 4,
              colour=Screen.COLOUR_CYAN,
              clear=True,
              start_frame=20,
              stop_frame=50),
        Print(screen,
              SpeechBubble("Wheeeeeee!"),
              y=centre[1],
              colour=Screen.COLOUR_CYAN,
              clear=True,
              start_frame=100,
              stop_frame=250),
        Print(screen,
              SpeechBubble("A world of possibilities awaits you...", "L"),
              x=18,
              y=0,
              colour=Screen.COLOUR_CYAN,
              clear=True,
              start_frame=350,
              stop_frame=400),
        Print(screen, ImageFile("globe.gif"), 0, start_frame=400),
    ]
    scenes.append(Scene(effects, 600))

    effects = [
        Matrix(screen, stop_frame=200),
        Mirage(screen,
               FigletText("Asciimatics"),
               screen.height // 2 - 3,
               Screen.COLOUR_GREEN,
               start_frame=100,
               stop_frame=200),
        Wipe(screen, start_frame=150),
        Cycle(screen,
              FigletText("Asciimatics"),
              screen.height // 2 - 3,
              start_frame=200)
    ]
    scenes.append(Scene(effects, 250, clear=False))

    effects = [
        BannerText(
            screen,
            Rainbow(
                screen,
                FigletText("Reliving the 80s in glorious ASCII text...",
                           font='slant')), screen.height // 2 - 3,
            Screen.COLOUR_GREEN)
    ]
    scenes.append(Scene(effects))

    effects = [
        Mirage(screen, FigletText("Conceived and"), screen.height,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("written by:"), screen.height + 8,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("Peter Brittain"), screen.height + 16,
               Screen.COLOUR_GREEN),
        Scroll(screen, 3)
    ]
    scenes.append(Scene(effects, (screen.height + 24) * 3))

    effects = [
        Cycle(screen, FigletText("ASCIIMATICS", font='big'),
              screen.height // 2 - 8),
        Cycle(screen, FigletText("ROCKS!", font='big'),
              screen.height // 2 + 3),
        Stars(screen, (screen.height + screen.width) // 2)
    ]
    scenes.append(Scene(effects, 200))

    screen.play(scenes, stop_on_resize=True)
コード例 #23
0
def _credits(screen):
    scenes = []

    text = Figlet(font="banner", width=200).renderText("ASCIIMATICS")
    width = max([len(x) for x in text.split("\n")])

    effects = [
        Print(screen,
              Fire(screen.height, 80, text, 0.4, 40, screen.colours),
              0,
              speed=1,
              transparent=False),
        Print(screen,
              FigletText("ASCIIMATICS", "banner"),
              screen.height - 9,
              x=(screen.width - width) // 2 + 1,
              colour=Screen.COLOUR_BLACK,
              bg=Screen.COLOUR_BLACK,
              speed=1),
        Print(screen,
              FigletText("ASCIIMATICS", "banner"),
              screen.height - 9,
              colour=Screen.COLOUR_WHITE,
              bg=Screen.COLOUR_WHITE,
              speed=1),
    ]
    scenes.append(Scene(effects, 100))

    effects = [
        Matrix(screen, stop_frame=200),
        Mirage(screen,
               FigletText("Asciimatics"),
               screen.height // 2 - 3,
               Screen.COLOUR_GREEN,
               start_frame=100,
               stop_frame=200),
        Wipe(screen, start_frame=150),
        Cycle(screen,
              FigletText("Asciimatics"),
              screen.height // 2 - 3,
              start_frame=200)
    ]
    scenes.append(Scene(effects, 250, clear=False))

    effects = [
        BannerText(
            screen,
            Rainbow(
                screen,
                FigletText("Reliving the 80s in glorious ASCII text...",
                           font='slant')), screen.height // 2 - 3,
            Screen.COLOUR_GREEN)
    ]
    scenes.append(Scene(effects))

    effects = [
        Scroll(screen, 3),
        Mirage(screen, FigletText("Conceived and"), screen.height,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("written by:"), screen.height + 8,
               Screen.COLOUR_GREEN),
        Mirage(screen, FigletText("Peter Brittain"), screen.height + 16,
               Screen.COLOUR_GREEN)
    ]
    scenes.append(Scene(effects, (screen.height + 24) * 3))

    colours = [
        Screen.COLOUR_RED,
        Screen.COLOUR_GREEN,
    ]
    contributors = [
        "Cory Benfield", "Bryce Guinta", "Aman Orazaev", "Daniel Kerr",
        "Dylan Janeke", "ianadeem", "Scott Mudge", "Luke Murphy", "mronkain",
        "Dougal Sutherland", "Kirtan Sakariya", "Jesse Lieberg",
        "Erik Doffagne", "Noah Ginsburg", "Davidy22", "Christopher Trudeau",
        "Beniamin Kalinowski"
    ]

    effects = [
        Scroll(screen, 3),
        Mirage(
            screen,
            FigletText("With help from:"),
            screen.height,
            Screen.COLOUR_GREEN,
        )
    ]

    pos = 8
    for i, name in enumerate(contributors):
        effects.append(
            Mirage(
                screen,
                FigletText(name),
                screen.height + pos,
                colours[i % len(colours)],
            ))

        pos += 8
    scenes.append(Scene(effects, (screen.height + pos) * 3))

    effects = [
        Cycle(screen,
              FigletText("ASCIIMATICS", font='big'),
              screen.height // 2 - 8,
              stop_frame=100),
        Cycle(screen,
              FigletText("ROCKS!", font='big'),
              screen.height // 2 + 3,
              stop_frame=100),
        Stars(screen, (screen.width + screen.height) // 2, stop_frame=100),
        DropScreen(screen, 200, start_frame=100)
    ]
    scenes.append(Scene(effects, 300))

    effects = [
        Print(screen,
              SpeechBubble("Press 'X' to exit."),
              screen.height // 2 - 1,
              attr=Screen.A_BOLD)
    ]
    scenes.append(Scene(effects, -1))

    screen.play(scenes, stop_on_resize=True)