Ejemplo n.º 1
0
 def __init__(self, game):
     super(InterrupterJones, self).__init__(game=game,
                                            priority=61,
                                            mode_type=AdvancedMode.Game)
     self.myID = "InterrupterJones"
     # Scoring mode screens
     bg = dmd.FrameLayer(frame=self.game.animations['gold_bg'].frames[0])
     self.score_title_top = dmd.HDTextLayer(1920 / 2,
                                            80,
                                            self.game.fonts['IM370'],
                                            "center",
                                            line_color=(0, 0, 0),
                                            line_width=8,
                                            interior_color=(255, 0, 0))
     title_bot = dmd.HDTextLayer(1920 / 2,
                                 420,
                                 self.game.fonts['IM370'],
                                 "center",
                                 line_color=(0, 0, 0),
                                 line_width=8,
                                 interior_color=(255, 0, 0))
     title_bot.set_text("SCORING")
     self.score_page2_top = dmd.HDTextLayer(1920 / 2,
                                            30,
                                            self.game.fonts['IM160'],
                                            "center",
                                            line_color=(
                                                0,
                                                0,
                                                0,
                                            ),
                                            line_width=4,
                                            interior_color=(192, 192, 192))
     self.score_page2_mid = dmd.HDTextLayer(1920 / 2,
                                            220,
                                            self.game.fonts['IM370'],
                                            "center",
                                            line_color=(0, 0, 0),
                                            line_width=8,
                                            interior_color=(255, 0, 0))
     self.score_page2_bot = dmd.HDTextLayer(1920 / 2,
                                            590,
                                            self.game.fonts['IM160'],
                                            "center",
                                            line_color=(
                                                0,
                                                0,
                                                0,
                                            ),
                                            line_width=4,
                                            interior_color=(192, 192, 192))
     self.score_page1 = dmd.GroupedLayer(
         1920, 800, [bg, self.score_title_top, title_bot], opaque=True)
     self.score_page2 = dmd.GroupedLayer(
         1920,
         800, [
             bg, self.score_page2_top, self.score_page2_mid,
             self.score_page2_bot
         ],
         opaque=True)
Ejemplo n.º 2
0
 def end_bogey(self):
     self.game.ramps.ramp_stage = [0, 0]
     bg = self.game.animations['bright_clouds']
     text = dmd.HDTextLayer(1920 / 2,
                            50,
                            self.game.fonts['default'],
                            "center",
                            line_color=[64, 0, 0],
                            line_width=6,
                            interior_color=[192, 0, 0])
     text.set_text("WE'VE GOT A BOGEY")
     text2 = dmd.HDTextLayer(1920 / 2,
                             175,
                             self.game.fonts['default'],
                             "center",
                             line_color=[64, 0, 0],
                             line_width=6,
                             interior_color=[192, 0, 0])
     text2.set_text("TOTAL:")
     score = dmd.HDTextLayer(1920 / 2,
                             325,
                             self.game.fonts['main_score'],
                             "center",
                             line_color=[64, 64, 0],
                             line_width=6,
                             interior_color=[192, 192, 0])
     score.set_text(self.game.score_display.format_score(self.total))
     self.layer = dmd.GroupedLayer(1920, 800, [bg, text, text2, score])
     self.running = False
     # reset the ramps status
     self.game.ramps.bogey_status = "OPEN"
     self.game.base.set_music()
     self.delay(delay=3, handler=self.unload)
     # update the ramp lamps
     self.game.ramps.update_lamps()
Ejemplo n.º 3
0
 def __init__(self,game):
     super(Bonus, self).__init__(game=game, priority=51,mode_type=AdvancedMode.Manual)
     self.myID = "Bonus Tally"
     # background image
     self.top_line = dmd.HDTextLayer(1920 / 2, 20, self.game.fonts['default'], "center", line_color=(0, 0, 0), line_width=3,interior_color=(224, 224, 224))
     self.points_line = dmd.HDTextLayer(1920 / 2, 200, self.game.fonts['main_score'], "center", line_color=(0, 0, 0), line_width=6,interior_color=(224, 128, 32))
     backdrop = self.game.animations['bonus_backdrop']
     self.combined = dmd.GroupedLayer(1920,800, [backdrop, self.top_line, self.points_line], opaque = True)
Ejemplo n.º 4
0
    def __init__(self, game):
        super(Shields, self).__init__(game=game,
                                      priority=11,
                                      mode_type=AdvancedMode.Game)
        self.myID = "Shields"
        self.shield_lamps = [
            self.game.lamps.topLeftLane, self.game.lamps.topRightLane,
            self.game.lamps.rightOutlane, self.game.lamps.rightReturnLane,
            self.game.lamps.leftReturnLane, self.game.lamps.leftOutlane
        ]
        self.shield_bg = dmd.FrameLayer(
            frame=self.game.animations['shield_logo'].frames[0])
        self.title = dmd.HDTextLayer(980,
                                     -40,
                                     self.game.fonts['shield280'],
                                     "center",
                                     line_color=(0, 0, 0),
                                     line_width=8,
                                     interior_color=(255, 255, 255))
        self.title.set_text("S.H.I.E.L.D.")
        self.top_text = dmd.HDTextLayer(980,
                                        250,
                                        self.game.fonts['bebas200'],
                                        "center",
                                        line_color=(0, 0, 0),
                                        line_width=6,
                                        interior_color=(255, 255, 255))

        self.bot_text = dmd.HDTextLayer(980,
                                        490,
                                        self.game.fonts['bebas200'],
                                        "center",
                                        line_color=(0, 0, 0),
                                        line_width=6,
                                        interior_color=(0, 192, 0))
        self.top_text.set_text("IS LIT")
        self.twolineA = dmd.HDTextLayer(980,
                                        380,
                                        self.game.fonts['bebas200'],
                                        "center",
                                        line_color=(0, 0, 0),
                                        line_width=6,
                                        interior_color=(0, 192, 0))
        self.twolineB = dmd.HDTextLayer(980,
                                        550,
                                        self.game.fonts['bebas200'],
                                        "center",
                                        line_color=(0, 0, 0),
                                        line_width=6,
                                        interior_color=(0, 192, 0))
        self.valid = True
        self.shield_tracking = [False, False, False, False, False, False]
Ejemplo n.º 5
0
 def __init__(self, game):
     super(DoubleScoring, self).__init__(game=game,
                                         priority=9,
                                         mode_type=AdvancedMode.Manual)
     self.myID = "DoubleScoring"
     self.running = False
     backdrop = dmd.FrameLayer(
         frame=self.game.animations['metal_bg'].frames[0])
     banner = dmd.PanningLayer(
         3840,
         800,
         self.game.animations['double_scoring_banner'].frames[0], (0, 0),
         (20, 0),
         bounce=False,
         wrap=True)
     self.timer_layer = dmd.HDTextLayer(1920 / 2,
                                        120,
                                        self.game.fonts['bebas500'],
                                        "center",
                                        line_color=(0, 0, 0),
                                        line_width=8,
                                        interior_color=(255, 0, 0))
     timer_box = self.game.animations['timer_box']
     timer_box.set_target_position(731, 164)
     title = dmd.HDTextLayer(1920 / 2,
                             20,
                             self.game.fonts['default'],
                             "center",
                             line_color=(0, 0, 0),
                             line_width=3,
                             interior_color=(224, 224, 224))
     title.set_text("DOUBLE SCORING")
     # score goes on bottom 2 for double scoring
     self.bottom2 = dmd.HDTextLayer(1920 / 2,
                                    650,
                                    self.game.fonts['default'],
                                    "center",
                                    line_color=(0, 0, 0),
                                    line_width=3,
                                    interior_color=(224, 224, 224))
     self.display = dmd.GroupedLayer(
         1920,
         800, [
             backdrop, banner, title, self.bottom2, timer_box,
             self.timer_layer
         ],
         opaque=True)
     self.timer_start_value = 41
     self.fade_index = 0
Ejemplo n.º 6
0
 def __init__(self,game):
     super(Skillshot, self).__init__(game=game, priority=60, mode_type=AdvancedMode.Manual)
     self.myID = "Skillshot"
     self.running = False
     bg = self.game.animations['shield_logo']
     bar = self.game.animations['gold_bar']
     bar.set_target_position(0,200)
     title = dmd.HDTextLayer(1920/2, 45, self.game.fonts['shield120'], "center", interior_color=(255, 255, 255),
                             line_color=(0, 0, 1), line_width=4).set_text("SKILLSHOT")
     self.score_text = dmd.HDTextLayer(1920/2, 185, self.game.fonts['main_score'], "center", interior_color=(200, 15, 15),
                             line_color=(0, 0, 1), line_width=8)
     self.display = dmd.GroupedLayer(1920, 800, [bg, bar, title, self.score_text],opaque=True)
     self.light = 0
     self.hit = False
     self.saver = False
Ejemplo n.º 7
0
    def __init__(self, game):
        super(MongerToy, self).__init__(game=game,
                                        priority=20,
                                        mode_type=AdvancedMode.System)
        self.myID = "MongerToy"
        # specific monger toy status
        #        self.status = None
        # for testing set status to down
        self.status = "INIT"
        self.target = "DOWN"

        self.monger_hit_movies = [
            self.game.animations['monger_hit_1'],
            self.game.animations['monger_hit_2'],
            self.game.animations['monger_hit_3'],
            self.game.animations['monger_hit_4']
        ]
        self.monger_hit_idx = 0
        self.hit_score_text = dmd.HDTextLayer(1820,
                                              550,
                                              self.game.fonts['bebas200'],
                                              "right",
                                              line_color=[0, 0, 0],
                                              line_width=4,
                                              interior_color=[146, 24, 222])
        # lower the monger
        self.delay(delay=1, handler=self.reset_toy)
Ejemplo n.º 8
0
 def start_bogey_display(self):
     # do the display
     anim = self.game.animations['bogey_start_movie']
     anim.reset()
     text = dmd.HDTextLayer(1920 / 2,
                            20,
                            self.game.fonts['default'],
                            "center",
                            line_color=[32, 32, 0],
                            line_width=4,
                            interior_color=[255, 0, 0])
     text.set_text("BOGEY SPOTTED")
     text.blink_frames = 8
     text.blink_frames_counter = 8
     self.layer = dmd.GroupedLayer(1920, 800, [anim, text])
     if self.game.mark.player_mark < 6:
         self.game.mark.player_mark += 1
         self.game.mark.score()
         self.delay("display",
                    delay=3,
                    handler=self.game.mark.completed,
                    param=self.get_going)
     else:
         self.delay("display", delay=3, handler=self.get_going)
     # start the timer in 3 seconds regardless fo what the display is doing
     self.delay(delay=3, handler=self.timer)
Ejemplo n.º 9
0
 def __init__(self, game):
     super(Drones, self).__init__(game=game,
                                  priority=15,
                                  mode_type=AdvancedMode.Game)
     self.myID = "Drones"
     self.drone_lamps = [
         self.game.lamps['droneTarget0'], self.game.lamps['droneTarget1'],
         self.game.lamps['droneTarget2'], self.game.lamps['droneTarget3']
     ]
     self.drone_0_layer = self.game.animations['drone_0_image']
     self.drone_0_layer.set_target_position(113, 0)
     self.drone_1_layer = self.game.animations['drone_1_image']
     self.drone_1_layer.set_target_position(560, 0)
     self.drone_2_layer = self.game.animations['drone_2_image']
     self.drone_2_layer.set_target_position(1007, 0)
     self.drone_3_layer = self.game.animations['drone_3_image']
     self.drone_3_layer.set_target_position(1426, 0)
     self.explosion_layer = self.game.animations['explosion']
     self.explosion_positions = [53, 500, 933, 1386]
     self.drone_layers = [
         self.drone_0_layer, self.drone_1_layer, self.drone_2_layer,
         self.drone_3_layer
     ]
     self.drone_quotes = ['ga_drone', 'aa_drone', 'ta_drone', 'sa_drone']
     self.quote_delay = self.game.sound.sounds['drone_hit']['sound_list'][
         0].get_length()
     self.text = dmd.HDTextLayer(1920 / 2,
                                 620,
                                 self.game.fonts['default'],
                                 "center",
                                 line_color=(0, 0, 0),
                                 line_width=6,
                                 interior_color=(224, 224, 224))
     self.score_text = dmd.HDTextLayer(1920 / 2,
                                       620,
                                       self.game.fonts['bebas200'],
                                       "center",
                                       line_color=(0, 0, 0),
                                       line_width=6,
                                       interior_color=(64, 64, 224))
     self.text_positions = [300, 750, 1180, 1620]
     self.drone_tracking = [True, True, True, True]
Ejemplo n.º 10
0
 def complete_display(self):
     layers = []
     layers.append(self.backdrop)
     layers.append(self.left_pop_image)
     layers.append(self.right_pop_image)
     layers.append(self.bottom_pop_image)
     line_1 = dmd.HDTextLayer(1920 / 2,
                              20,
                              self.game.fonts['bebas200'],
                              "center",
                              line_color=(0, 0, 0),
                              line_width=3,
                              interior_color=(0, 224, 0))
     line_1.set_text("SUPER POPS")
     line_2 = dmd.HDTextLayer(1920 / 2,
                              170,
                              self.game.fonts['bebas200'],
                              "center",
                              line_color=(0, 0, 0),
                              line_width=3,
                              interior_color=(0, 224, 0))
     line_2.set_text("COMPLETED")
     line_3 = dmd.HDTextLayer(1920 / 2,
                              360,
                              self.game.fonts['default'],
                              "center",
                              line_color=(0, 0, 0),
                              line_width=3,
                              interior_color=(224, 224, 0))
     line_3.set_text("JACKPOT = " +
                     self.game.score_display.format_score(self.jackpot),
                     blink_frames=8)
     layers.append(line_1)
     layers.append(line_2)
     layers.append(line_3)
     self.layer = dmd.GroupedLayer(1920, 1080, layers, opaque=True)
     # reset all the things
     self.delay(delay=3, handler=self.reset_pops)
     self.delay("clear", delay=3, handler=self.clear_layer)
Ejemplo n.º 11
0
 def __init__(self, game):
     super(WarMachine, self).__init__(game=game,
                                      priority=16,
                                      mode_type=AdvancedMode.Game)
     self.myID = "WarMachine"
     metal_backdrop = self.game.animations['war_machine_bg_blank']
     top = dmd.HDTextLayer(1920 / 2,
                           100,
                           self.game.fonts['bebas300'],
                           "center",
                           line_color=(0, 0, 0),
                           line_width=4,
                           interior_color=(64, 64, 255))
     top.set_text("JACKPOT NOW")
     self.jp_now_text = dmd.HDTextLayer(1920 / 2,
                                        350,
                                        self.game.fonts['bebas300'],
                                        "center",
                                        line_color=(0, 0, 0),
                                        line_width=4,
                                        interior_color=(255, 255, 0))
     self.jp_now_display = dmd.GroupedLayer(
         1920, 800, [metal_backdrop, top, self.jp_now_text], opaque=True)
     self.multiball_status = "OPEN"
Ejemplo n.º 12
0
 def ramp_made_display(self, stage, points):
     self.cancel_delayed("Ramp Display")
     # video clip
     video = self.game.animations[self.rampMadeAnimations[stage]]
     video.reset()
     text = dmd.HDTextLayer(1820,
                            550,
                            self.game.fonts['bebas200'],
                            "right",
                            line_color=[2, 2, 2],
                            line_width=4,
                            interior_color=[224, 128, 0])
     text.set_text(self.game.score_display.format_score(points))
     text.blink_frames = 8
     text.blink_frames_counter = 8
     self.layer = dmd.GroupedLayer(1920, 800, [video, text], opaque=True)
     # clear layer after x
     self.delay("Ramp Display", delay=3, handler=self.clear_layer)
Ejemplo n.º 13
0
 def __init__(self, game):
     super(Marks, self).__init__(game=game,
                                 priority=45,
                                 mode_type=AdvancedMode.Game)
     self.myID = "Marks"
     self.hold = False
     self.movie_index = 0
     # used to signal jericho
     self.finished = False
     # used for do or die hurry up
     self.dod = False
     # used for do or die mb
     self.dod_mb = False
     self.mark_movies = [
         'derp', 'mark_1_movie', 'mark_2_movie', 'mark_3_movie',
         'mark_4_movie', 'mark_5_movie', 'mark_6_movie'
     ]
     self.mark_quotes = [
         'derp', 'mark_1_completed', 'mark_2_completed', 'mark_3_completed',
         'mark_4_completed', 'mark_5_completed', ',mark_6_completed'
     ]
     self.mark_lamps = [
         self.game.lamps['mark1'], self.game.lamps['mark2'],
         self.game.lamps['mark3'], self.game.lamps['mark4'],
         self.game.lamps['mark5'], self.game.lamps['mark6']
     ]
     self.mode_lamps = [
         self.game.lamps['progressIronMan'],
         self.game.lamps['progressWarMachine'],
         self.game.lamps['progressIronMonger'],
         self.game.lamps['progressWhiplash'],
         self.game.lamps['progressDrones']
     ]
     self.text = dmd.HDTextLayer(1890,
                                 640,
                                 self.game.fonts['default'],
                                 "right",
                                 line_color=(0, 0, 0),
                                 line_width=3,
                                 interior_color=(224, 224, 224))
     self.player_mark = 0
     self.modes_finished = [False, False, False, False, False]
     self.modes_lit = [False, False, False, False, False]
Ejemplo n.º 14
0
 def __init__(self, game):
     super(WhiplashMultiball, self).__init__(game=game,
                                             priority=49,
                                             mode_type=AdvancedMode.Manual)
     self.myID = "WhiplashMultiball"
     self.running = False
     start_movie_1 = self.game.animations['whiplash_start']
     start_movie_1.opaque = True
     start_movie_2 = self.game.animations['mega_whiplash_start']
     start_movie_2.opaque = True
     self.start_movies = [start_movie_1, start_movie_2]
     jp_movies_1 = [
         self.game.animations['whiplash_jp_1'],
         self.game.animations['whiplash_jp_2'],
         self.game.animations['whiplash_jp_3'],
         self.game.animations['whiplash_jp_4'],
         self.game.animations['whiplash_jp_5']
     ]
     jp_movies_2 = [
         self.game.animations['whiplash_jp_1b'],
         self.game.animations['whiplash_jp_2b'],
         self.game.animations['whiplash_jp_3b'],
         self.game.animations['whiplash_jp_4b'],
         self.game.animations['whiplash_jp_5b'],
         self.game.animations['whiplash_jp_6b']
     ]
     self.jackpot_movies = [jp_movies_1, jp_movies_2]
     super_1 = [
         self.game.animations['whiplash_super'],
         self.game.animations['whiplash_super_2']
     ]
     super_2 = [
         self.game.animations['mega_whiplash_super'],
         self.game.animations['mega_whiplash_super_2']
     ]
     self.super_movies = [super_1, super_2]
     self.type = 0
     bg = self.game.animations['whiplash_mb_bg']
     bg.opaque = True
     bg_mk2 = self.game.animations['whiplash_mk2_mb_bg']
     bg_mk2.opaque = True
     self.line_1 = dmd.HDTextLayer(1920 / 2,
                                   300,
                                   self.game.fonts['whiplash_300'],
                                   "center",
                                   line_color=(203, 197, 55),
                                   line_width=5,
                                   interior_color=(169, 42, 0))
     self.line_2 = dmd.HDTextLayer(1920 / 2,
                                   200,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(96, 96, 86),
                                   line_width=3,
                                   interior_color=(224, 224, 224))
     jp_text_1 = dmd.GroupedLayer(1920,
                                  800, [bg, self.line_1, self.line_2],
                                  opaque=True)
     jp_text_2 = dmd.GroupedLayer(1920,
                                  800, [bg_mk2, self.line_1, self.line_2],
                                  opaque=True)
     self.jackpot_text = [jp_text_1, jp_text_2]
     self.jackpot_count = [5, 10]
     title = dmd.HDTextLayer(1920 / 2,
                             20,
                             self.game.fonts['default'],
                             "center",
                             line_color=(0, 0, 0),
                             line_width=3,
                             interior_color=(224, 224, 224))
     title.set_text("WHIPLASH MULTIBALL")
     self.info_line = dmd.HDTextLayer(1920 / 2,
                                      650,
                                      self.game.fonts['default'],
                                      "center",
                                      line_color=(0, 0, 0),
                                      line_width=5,
                                      interior_color=(224, 224, 224))
     self.score_line = dmd.HDTextLayer(1920 / 2,
                                       200,
                                       self.game.fonts['main_score'],
                                       "center",
                                       line_color=(0, 0, 0),
                                       line_width=5,
                                       interior_color=(224, 0, 0))
     main_1 = dmd.GroupedLayer(1920,
                               800,
                               [bg, title, self.score_line, self.info_line],
                               opaque=True)
     main_2 = dmd.GroupedLayer(
         1920,
         800, [bg_mk2, title, self.score_line, self.info_line],
         opaque=True)
     self.main_display = [main_1, main_2]
     self.styles = [
         self.game.fontstyles['whiplash_mb_0'],
         self.game.fontstyles['whiplash_mb_1']
     ]
     self.jp_hit_sounds = [
         'whiplash_jp_hit_1', 'whiplash_jp_hit_2', 'whiplash_jp_hit_3',
         'whiplash_jp_hit_4'
     ]
     self.jp_sound_index = 0
     self.points = 0
     self.orbit_inactive = False
     self.hold = True
     self.arrows = False
     self.ball_added = False
Ejemplo n.º 15
0
    def target_display(self, target, side, complete=False):
        self.cancel_delayed("clear")
        off_layers = []
        on_layers = []
        for n in range(0, 4, 1):
            if self.left_tracking[n] == True:
                if side == "L" and target == n:
                    on_layers.append(self.left_layers[n])
                else:
                    # add the layer for that letter
                    on_layers.append(self.left_layers[n])
                    off_layers.append(self.left_layers[n])
        for n in range(0, 3, 1):
            if self.right_tracking[n] == True:
                if side == "R" and target == n:
                    on_layers.append(self.right_layers[n])
                else:
                    on_layers.append(self.right_layers[n])
                    off_layers.append(self.right_layers[n])
        # top and bottom text
        top = dmd.HDTextLayer(1920 / 2,
                              20,
                              self.game.fonts['default'],
                              "center",
                              line_color=(96, 96, 86),
                              line_width=3,
                              interior_color=(224, 224, 224))
        if complete:
            # score the points for the mark complete here, in care the display gets cut off
            self.game.mark.player_mark += 1
            self.game.mark.score()
            top.set_text("TARGETS COMPLETED")
        else:
            top.set_text("COMPLETE TARGETS")
        on_layers.append(top)
        off_layers.append(top)
        bottom = dmd.HDTextLayer(1920 / 2,
                                 650,
                                 self.game.fonts['default'],
                                 "center",
                                 line_color=(96, 96, 96),
                                 line_width=3,
                                 interior_color=(224, 224, 224))
        if complete:
            bottom.set_text(self.mode_titles[(self.completions % 3)] +
                            " IS READY")
        else:
            bottom.set_text("FOR " + self.mode_titles[(self.completions % 3)])
        on_layers.append(bottom)
        off_layers.append(bottom)
        # group layer without the new letter
        off = dmd.GroupedLayer(1920, 800, off_layers)
        # group layer with the new letter
        on = dmd.GroupedLayer(1920, 800, on_layers)
        self.layer = dmd.ScriptedLayer(1920,
                                       800, [{
                                           'seconds': 0.2,
                                           'layer': off
                                       }, {
                                           'seconds': 0.2,
                                           'layer': on
                                       }],
                                       opaque=True)

        if complete:
            self.delay(delay=2,
                       handler=self.target_display_movie_helper,
                       param=[target, side, complete])
        else:
            self.delay("clear", delay=2, handler=self.clear_layer)
Ejemplo n.º 16
0
    def __init__(self, game, priority, left_text, right_text, entered_handler):
        super(HD_InitialEntryMode, self).__init__(game, priority)
        
        self.entered_handler = entered_handler
        
        self.init_font = self.game.fonts['high_score_entry_inits'] #dmd.hdfont_named('consolas', 12)
        self.text_font = self.game.fonts['high_score_entry_msg'] #dmd.hdfont_named('consolas', 12)
        self.letters_font = self.game.fonts['high_score_entry_letters'] #dmd.hdfont_named('consolas', 12)

        (self.init_font_width, self.init_font_height) = self.init_font.size("M")
        self.text_font_height = self.text_font.size("M")[1]
        self.letters_font_width =  self.letters_font.size("M")[0]
        self.letters_font_height =  self.letters_font.size("M")[1]

        # self.init_font_height = self.init_font_size[1]
        # self.init_font_width = self.init_font_size[0]
        # self.text_font_height = self.text_font.size("Z")[1]
        # self.letters_font_width =  self.letters_font.size("Z")[0]

        self.layer = dmd.GroupedLayer(self.game.dmd.width, self.game.dmd.height)
        self.layer.opaque = True
        self.layer.layers = []
        
        if type(right_text) != list:
            right_text = [right_text]
        if type(left_text) != list:
            left_text = [left_text]
        
        seconds_per_text = 1.5
        
        script = []
        for text in left_text:
            frame = dmd.Frame(width=self.game.dmd.width, height=self.text_font_height)
            self.text_font.draw(frame, text, 0, 0)
            script.append({'seconds':seconds_per_text, 'layer':dmd.FrameLayer(frame=frame)})
        topthird_left_layer = dmd.ScriptedLayer(width=self.game.dmd.width, height=self.text_font_height, script=script)
        topthird_left_layer.composite_op = 'blacksrc'
        self.layer.layers += [topthird_left_layer]
        
        script = []
        for text in right_text:
            frame = dmd.Frame(width=self.game.dmd.width, height=self.text_font_height)
            self.text_font.draw(frame, text, self.game.dmd.width-(self.text_font.size(text)[0]), 0)
            script.append({'seconds':seconds_per_text, 'layer':dmd.FrameLayer(frame=frame)})
        topthird_right_layer = dmd.ScriptedLayer(width=self.game.dmd.width, height=self.text_font_height, script=script)
        topthird_right_layer.composite_op = 'blacksrc'
        self.layer.layers += [topthird_right_layer]
        
        # self.inits_frame = dmd.Frame(width=self.game.dmd.width, height=self.init_font_height)
        # inits_layer = dmd.FrameLayer(opaque=False, frame=self.inits_frame)
        # inits_layer.set_target_position(0, self.text_font_height+2)
        # self.layer.layers += [inits_layer]
        self.inits_entry_layer = dmd.HDTextLayer(self.game.dmd.width/2, self.text_font_height, self.init_font, "center", vert_justify="top", line_color=(128,128,255), line_width=0, interior_color=(0,0,255),fill_color=(0,0,0)).set_text("")
        self.inits_entry_layer.set_target_position(0, self.text_font_height)
        self.layer.layers += [self.inits_entry_layer]
        
        self.lowerhalf_layer = dmd.FrameQueueLayer(opaque=False, hold=True)
        self.lowerhalf_layer.set_target_position(0, self.init_font_height+self.text_font_height)
        self.layer.layers += [self.lowerhalf_layer]
        
        self.letters = []
        for idx in range(26):
            self.letters += [chr(ord('A')+idx)]
        self.letters += [' ', '.', self.char_back, self.char_done]
        self.current_letter_index = 0
        self.inits = self.letters[self.current_letter_index]
        self.animate_to_index(0)
Ejemplo n.º 17
0
 def __init__(self, game):
     super(Bogey, self).__init__(game=game,
                                 priority=12,
                                 mode_type=AdvancedMode.Manual)
     self.myID = "Bogey"
     self.running = False
     self.bogey_lamps = [
         self.game.lamps['leftRamp100k'], self.game.lamps['leftRamp200k'],
         self.game.lamps['leftRamp300k'], self.game.lamps['leftRamp400k'],
         self.game.lamps['rightRamp100k'], self.game.lamps['rightRamp200k'],
         self.game.lamps['rightRamp300k'], self.game.lamps['rightRamp400k'],
         self.game.lamps['leftOrbitArrow'],
         self.game.lamps['leftRampArrow'],
         self.game.lamps['rightRampArrow'],
         self.game.lamps['rightOrbitArrow']
     ]
     self.bogey_clips = [
         'bogey_hit_1',
         'bogey_hit_2',
         'bogey_hit_3',
         'bogey_hit_4',
         'bogey_hit_5',
         'bogey_hit_6',
         'bogey_hit_7',
         'bogey_hit_8',
         'bogey_hit_9',
         'bogey_hit_10',
         'bogey_hit_11',
         'bogey_hit_12',
         'bogey_hit_13',
         'bogey_hit_14',
         'bogey_hit_15',
         'bogey_hit_16',
         'bogey_hit_17',
         'bogey_hit_18',
         'bogey_hit_19',
     ]
     back = dmd.FrameLayer(
         opaque=True,
         frame=self.game.animations['bogey_backdrop'].frames[0])
     top1 = dmd.HDTextLayer(930,
                            110,
                            self.game.fonts['bebas180'],
                            "center",
                            line_color=[64, 64, 64],
                            line_width=6,
                            interior_color=[192, 192, 192])
     top1.set_text("WE'VE")
     top2 = dmd.HDTextLayer(930,
                            285,
                            self.game.fonts['bebas180'],
                            "center",
                            line_color=[64, 64, 64],
                            line_width=6,
                            interior_color=[192, 192, 192])
     top2.set_text("GOT  A")
     top3 = dmd.HDTextLayer(930,
                            460,
                            self.game.fonts['bebas180'],
                            "center",
                            line_color=[64, 64, 64],
                            line_width=6,
                            interior_color=[192, 192, 192])
     top3.set_text("BOGEY")
     self.timer_layer = dmd.HDTextLayer(1800,
                                        110,
                                        self.game.fonts['bebas500'],
                                        "right",
                                        line_color=[64, 64, 64],
                                        line_width=4,
                                        interior_color=[192, 192, 192])
     bottom1 = dmd.HDTextLayer(930,
                               110,
                               self.game.fonts['bebas180'],
                               "center",
                               line_color=[64, 0, 0],
                               line_width=6,
                               interior_color=[192, 0, 0])
     bottom1.set_text("SHOOT")
     bottom2 = dmd.HDTextLayer(930,
                               285,
                               self.game.fonts['bebas180'],
                               "center",
                               line_color=[64, 0, 0],
                               line_width=6,
                               interior_color=[192, 0, 0])
     bottom2.set_text("LIT")
     bottom3 = dmd.HDTextLayer(930,
                               460,
                               self.game.fonts['bebas180'],
                               "center",
                               line_color=[64, 0, 0],
                               line_width=6,
                               interior_color=[192, 0, 0])
     bottom3.set_text("ARROWS")
     page1 = dmd.GroupedLayer(1920, 800,
                              [back, top1, top2, top3, self.timer_layer])
     page2 = dmd.GroupedLayer(1920, 800,
                              [back, top2, top3, self.timer_layer])
     page3 = dmd.GroupedLayer(1920, 800, [back, top3, self.timer_layer])
     page4 = dmd.GroupedLayer(1920, 800, [back, self.timer_layer])
     page5 = dmd.GroupedLayer(1920, 800, [back, bottom1, self.timer_layer])
     page6 = dmd.GroupedLayer(1920, 800,
                              [back, bottom1, bottom2, self.timer_layer])
     page7 = dmd.GroupedLayer(
         1920, 800, [back, bottom1, bottom2, bottom3, self.timer_layer])
     page8 = dmd.GroupedLayer(1920, 800,
                              [back, bottom2, bottom3, self.timer_layer])
     page9 = dmd.GroupedLayer(1920, 800, [back, bottom3, self.timer_layer])
     page10 = dmd.GroupedLayer(1920, 800, [back, top1, self.timer_layer])
     page11 = dmd.GroupedLayer(1920, 800,
                               [back, top1, top2, self.timer_layer])
     self.main_layer = dmd.ScriptedLayer(1920, 800, [{
         'seconds': 1,
         'layer': page1
     }, {
         'seconds': 0.2,
         'layer': page2
     }, {
         'seconds': 0.2,
         'layer': page3
     }, {
         'seconds': 0.5,
         'layer': page4
     }, {
         'seconds': 0.2,
         'layer': page5
     }, {
         'seconds': 0.2,
         'layer': page6
     }, {
         'seconds': 1,
         'layer': page7
     }, {
         'seconds': 0.2,
         'layer': page8
     }, {
         'seconds': 0.2,
         'layer': page9
     }, {
         'seconds': 0.5,
         'layer': page4
     }, {
         'seconds': 0.2,
         'layer': page10
     }, {
         'seconds': 0.2,
         'layer': page11
     }])
     self.bogey_award_text = dmd.HDTextLayer(1920 / 2,
                                             150,
                                             self.game.fonts['default'],
                                             "center",
                                             line_color=[64, 0, 0],
                                             line_width=6,
                                             interior_color=[192, 0, 0])
     self.bogey_award_score = dmd.HDTextLayer(1920 / 2,
                                              300,
                                              self.game.fonts['main_score'],
                                              "center",
                                              line_color=[64, 64, 0],
                                              line_width=6,
                                              interior_color=[192, 192, 0])
     self.bogey_award_score_dim = dmd.HDTextLayer(
         1920 / 2,
         300,
         self.game.fonts['main_score'],
         "center",
         line_color=[16, 16, 0],
         line_width=6,
         interior_color=[64, 64, 0])
     self.flash_text = dmd.ScriptedLayer(
         1920, 800, [{
             'seconds': 0.2,
             'layer': self.bogey_award_score
         }, {
             'seconds': 0.2,
             'layer': self.bogey_award_score_dim
         }])
Ejemplo n.º 18
0
    def __init__(self, game, priority, left_text, right_text, entered_handler):
        super(HD_InitialEntryMode_ML, self).__init__(game, priority)
        
        self.entered_handler = entered_handler
        
        # self.init_font = dmd.font_named('Font09Bx7.dmd')
        # self.font = dmd.font_named('Font07x5.dmd')
        # self.letters_font = dmd.font_named('Font07x5.dmd')

        ## YOU almost CERTAINLY need to change these...
        self.init_font = self.game.fonts['large']
        self.text_font = self.game.fonts['small']
        self.letters_font = self.game.fonts['mono-tiny']
        self.letters_font_mini = self.game.fonts['mono-micro']

        self.init_font_height = self.init_font.size("Z")[1]
        
        self.text_font_height = self.text_font.size(left_text)[1]

        self.layer = dmd.GroupedLayer(self.display_width, self.display_height)
        self.layer.opaque = True
        self.layer.layers = []
        
        if type(right_text) != list:
            right_text = [right_text]
        if type(left_text) != list:
            left_text = [left_text]
        
        seconds_per_text = 1.5
        
        script = []
        mh = 0
        for text in left_text:
            words = text.split()
            h = self.text_font_height*len(words)
            mh = max(h, mh)
            frame = dmd.Frame(width=self.display_width, height=h)
            i = 0
            for w in words:
                self.text_font.draw(frame, w, 0, i*self.text_font_height)
                i+=1
            script.append({'seconds':seconds_per_text, 'layer':dmd.FrameLayer(frame=frame)})
        topthird_left_layer = dmd.ScriptedLayer(width=self.display_width, height=mh, script=script)
        topthird_left_layer.composite_op = 'blacksrc'
        topthird_left_layer.target_y = self.display_height/2 - mh/2
        topthird_left_layer.target_x = 10
        self.layer.layers += [topthird_left_layer]
        
        script = []
        mh = 0
        for text in right_text:
            words = text.split()
            h = self.text_font_height*len(words)
            mh = max(h, mh)
            frame = dmd.Frame(width=self.display_width, height=h)
            i = 0
            for w in words:
                self.text_font.draw(frame, w, self.display_width-(self.text_font.size(w)[0]), i*self.text_font_height)
                i+=1
            script.append({'seconds':seconds_per_text, 'layer':dmd.FrameLayer(frame=frame)})
        topthird_right_layer = dmd.ScriptedLayer(width=self.display_width, height=mh, script=script)
        topthird_right_layer.composite_op = 'blacksrc'
        topthird_right_layer.target_y = self.display_height/2 - mh/2
        topthird_right_layer.target_x = -10
        self.layer.layers += [topthird_right_layer]

        # the entered initials so far       
        self.inits_layer = dmd.HDTextLayer(self.display_width/2, self.init_font_height/2+5, self.init_font, "center", vert_justify="center", line_color=(128,128,255), line_width=1, interior_color=(0,0,192),fill_color=(0,0,0)).set_text("")
        self.inits_layer.set_target_position(0, self.text_font_height+2)
        self.layer.layers += [self.inits_layer]

        
        self.letters = []
        for idx in range(26):
            self.letters += [chr(ord('A')+idx)]
        self.letters += [' ', '.', self.char_back, self.char_done]
        self.current_letter_index = 0
        self.inits = self.letters[self.current_letter_index]

        # Draw my fancy rows
        w = self.space_per_char*(self.columns_of_chars_in_palette+1)
        h = self.space_per_char*(30/self.columns_of_chars_in_palette+1.5)
        print("About to create a frame with w=" + str(w) + "; h=" + str(h))
        self.char_optsF = dmd.Frame(width=w, height=h)
        for index in range(30):
            x = index % self.columns_of_chars_in_palette 
            y = index / self.columns_of_chars_in_palette 
            (w,h) = self.letters_font.size(self.letters[index])
            if(index<28):
                self.letters_font.draw(self.char_optsF, self.letters[index], (x+1) * self.space_per_char - w/2, (y+1) * self.space_per_char - h/2)
            elif(index==28):
                (w,h) = self.letters_font_mini.size("DEL")
                self.letters_font_mini.draw(self.char_optsF, "DEL", (x+1) * self.space_per_char - w/2, (y+1) * self.space_per_char - h/2)
            elif(index==29):
                (w,h) = self.letters_font_mini.size("END")
                self.letters_font_mini.draw(self.char_optsF, "END", (x+1) * self.space_per_char - w/2, (y+1) * self.space_per_char - h/2)

        fbox = dmd.Frame(width=self.space_per_char+2, height=self.space_per_char+2)
        fbox.fill_rect(0, 0, self.space_per_char+2, self.space_per_char+2, (128,128,255))
        fbox.fill_rect(2, 2, self.space_per_char-4+2, self.space_per_char-4+2, (0,64,128))
        self.selection_box_layer = dmd.FrameLayer(opaque=False, frame=fbox)
        self.selection_box_layer.composite_op = "max"
        self.layer.layers += [self.selection_box_layer]

        self.char_opts_layer = dmd.FrameLayer(opaque=False, frame=self.char_optsF)
        self.char_opts_layer.set_target_position((self.display_width-(self.columns_of_chars_in_palette+1) * self.space_per_char)/2, self.init_font_height)
        # self.char_opts_layer.composite_op = "blacksrc"
        self.layer.layers += [self.char_opts_layer]


        self.animate_to_index(0)
Ejemplo n.º 19
0
 def __init__(self, game):
     super(IronMonger, self).__init__(game=game,
                                      priority=17,
                                      mode_type=AdvancedMode.Game)
     self.myID = "IronMonger"
     self.monger_lamps = [
         self.game.lamps['mongerM'], self.game.lamps['mongerO'],
         self.game.lamps['mongerN'], self.game.lamps['mongerG'],
         self.game.lamps['mongerE'], self.game.lamps['mongerR']
     ]
     self.orbit_lamps = [
         self.game.lamps['leftOrbitMonger'],
         self.game.lamps['centerShotMonger'],
         self.game.lamps['rightOrbitMonger']
     ]
     self.grunts = [
         'monger_grunt_1', 'monger_grunt_2', 'monger_grunt_3',
         'monger_grunt_4', 'monger_grunt_5', 'monger_grunt_6'
     ]
     self.grunt_index = 0
     self.delay_names = [
         'leftSpinner', 'centerSpinner', 'rightSpinner', 'leftOrbit',
         'rightOrbit'
     ]
     layer0 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_0'].frames[0])
     layer0.set_target_position(367, 0)
     layer1 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_1'].frames[0])
     layer1.set_target_position(367, 0)
     layer2 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_2'].frames[0])
     layer2.set_target_position(367, 0)
     layer3 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_3'].frames[0])
     layer3.set_target_position(367, 0)
     layer4 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_4'].frames[0])
     layer4.set_target_position(367, 0)
     layer5 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_5'].frames[0])
     layer5.set_target_position(367, 0)
     layer6 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_6'].frames[0])
     layer6.set_target_position(367, 0)
     layer7 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_7'].frames[0])
     layer7.set_target_position(367, 0)
     layer8 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_8'].frames[0])
     layer8.set_target_position(367, 0)
     layer9 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_9'].frames[0])
     layer9.set_target_position(367, 0)
     layer10 = dmd.FrameLayer(
         frame=self.game.animations['monger_logo_10'].frames[0])
     layer10.set_target_position(367, 0)
     self.logo_layers = [
         layer0, layer1, layer2, layer3, layer4, layer5, layer6, layer7,
         layer8, layer9, layer10
     ]
     self.points_layer = dmd.HDTextLayer(1920 / 2,
                                         570,
                                         self.game.fonts['bebas200'],
                                         "center",
                                         line_color=(96, 96, 86),
                                         line_width=3,
                                         interior_color=(224, 224, 224))
     self.monger_base_value = 100000
     self.spinner_points = [0, 0, 0]
     self.spinner_names = ['left', 'right', 'center']
     self.current_monger_value = 100000
     # which spinner has the live display
     self.last_spinner = 0
     self.cold = True
     self.spinner_anim = self.game.animations['monger_minigun_firing']
     self.spinner_text_layer = dmd.HDTextLayer(1870,
                                               30,
                                               self.game.fonts['bebas200'],
                                               "right",
                                               line_color=(96, 96, 86),
                                               line_width=3,
                                               interior_color=(224, 224,
                                                               224))
     self.spinner_display = dmd.GroupedLayer(
         1920,
         800, [self.spinner_anim, self.spinner_text_layer],
         opaque=True)
     self.valid = [True, True, True, True, True, True]
     self.status = "OPEN"
     self.letters = 0
     self.toy_letters = 0
     # script sets for the orbit shots
     script0 = ['im_script0a', 'spinner_tutorial', 'im_script0b']
     script1 = ['im_script1a', 'spinner_tutorial', 'im_script1b']
     script2 = [
         'im_script2a', 'spinner_tutorial', 'im_script2b', 'im_script2c'
     ]
     script3 = [
         'im_script3a', 'spinner_tutorial', 'im_script3b', 'im_script3c'
     ]
     script4 = [
         'im_script4a', 'spinner_tutorial', 'im_script4b', 'im_script4c'
     ]
     script5 = ['spinner_tutorial', 'im_script5a', 'im_script5b']
     self.first_scripts = [
         script0, script1, script2, script3, script4, script5
     ]
     self.first_scripts_index = 0
     script1b = [
         'im_script7a', 'im_script7b', 'im_script7c', 'im_script7d',
         'im_script7e'
     ]
     script2b = [
         'im_script8a', 'im_script8b', 'im_script8c', 'im_script8d',
         'im_script8e'
     ]
     script3b = [
         'im_script9a', 'im_script9b', 'im_script9c', 'im_script9d',
         'im_script9e', 'im_script9f', 'im_script9g'
     ]
     self.second_scripts = [script1b, script2b, script3b]
     self.second_scripts_index = 0
Ejemplo n.º 20
0
 def __init__(self,game):
     super(Jericho, self).__init__(game=game, priority=52,mode_type=AdvancedMode.Manual)
     self.myID = "Jericho"
     self.running = False
     ## Main display bits
     title = dmd.HDTextLayer(1920/2,10,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     title.set_text("JERICHO")
     shoot = dmd.HDTextLayer(1920/2,200,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     shoot.set_text("SHOOT")
     self.im_text_layer = dmd.HDTextLayer(1920/2,400,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     self.im_text_layer.set_text("IRONMAN TARGETS")
     self.wl_text_layer = dmd.HDTextLayer(1920/2,400,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     self.wl_text_layer.set_text("WHIPLASH")
     self.m_text_layer = dmd.HDTextLayer(1920/2,400,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     self.m_text_layer.set_text("IRON MONGER")
     self.wm_text_layer = dmd.HDTextLayer(1920/2,400,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     self.wm_text_layer.set_text("WAR MACHINE")
     self.b_text_layer = dmd.HDTextLayer(1920/2,400,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     self.b_text_layer.set_text("BOGEY RAMPS")
     self.s_text_layer = dmd.HDTextLayer(1920/2,400,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     self.s_text_layer.set_text("SHIELD LANES")
     self.info_lines = [self.im_text_layer,self.wl_text_layer,self.m_text_layer,self.wm_text_layer,self.b_text_layer,self.s_text_layer]
     script = [{'layer':self.im_text_layer,'seconds':2},
               {'layer':self.wl_text_layer,'seconds':2},
               {'layer':self.m_text_layer,'seconds':2},
               {'layer':self.wm_text_layer,'seconds':2},
               {'layer':self.b_text_layer,'seconds':2},
               {'layer':self.s_text_layer, 'seconds':2}]
     self.info_line_layer = dmd.ScriptedLayer(1920,800,script)
     self.shot_value_layer = dmd.HDTextLayer(1920/2,600,self.game.fonts['default'],"center",line_color=(0,0,0),line_width=4,interior_color=(192,192,192))
     self.main_display = dmd.GroupedLayer(1920,800,[title,shoot,self.info_line,self.shot_value_layer],opaque = True)
     # Intro display bits
     start_title = dmd.HDTextLayer(1920 / 2, 10, self.game.fonts['default'], "center", line_color=(0, 0, 0), line_width=4,interior_color=(192, 192, 192))
     start_title.set_text("COMPLETE")
     start_for = dmd.HDTextLayer(1920 / 2, 400, self.game.fonts['default'], "center", line_color=(0, 0, 0), line_width=4,interior_color=(192, 192, 192))
     start_for.set_text("FOR")
     start_points = dmd.HDTextLayer(1920 / 2, 600, self.game.fonts['default'], "center", line_color=(0, 0, 0), line_width=4,interior_color=(192, 192, 192))
     start_points.set.text("1,000,000 + ")
     self.start_info = dmd.HDTextLayer(1920 / 2, 200, self.game.fonts['default'], "center", line_color=(0, 0, 0), line_width=4,interior_color=(192, 192, 192))
     self.start_layer = dmd.GroupedLayer(1920,800,[start_title,start_for,start_points,self.start_info],opaque = True)
     start_strings = ["IRONMAN TARGETS", "WAR MACHINE", "WHIPLASH", "IRON MONGER", "BOGEY RAMPS", "SHIELD LANES"]
     # title display
     card_top = dmd.HDTextLayer(1920 / 2, 10, self.game.fonts['main_score'], "center", line_color=(0, 0, 0), line_width=4,interior_color=(192, 192, 192))
     card_top.set_text("JERICHO")
     card_bottom = dmd.HDTextLayer(1920 / 2, 400, self.game.fonts['bebas200'], "center", line_color=(0, 0, 0), line_width=4,interior_color=(192, 192, 192))
     card_bottom.set_text("MISSILE MAYHEM")
     self.title_card = dmd.GroupedLayer(1920,800,[card_top, card_bottom],opaque = True)
     # various hit displays - each needs a background?
     self.hit_score_layer = dmd.HDTextLayer(1920/2,200,self.game.fonts['main_score'],"center",line_color=(0,0,0),line_width=6,interior_color=(224,224,0))
     self.im_hit_layer = dmd.GroupedLayer(1920,800,[self.hit_score_layer],opaque = True)
Ejemplo n.º 21
0
    def __init__(self, game):
        super(MongerMultiball, self).__init__(game=game,
                                              priority=51,
                                              mode_type=AdvancedMode.Manual)
        self.myID = "MongerMultiball"
        self.running = False
        self.loop_count = 0
        self.monger_lamps = [
            "Placeholder", self.game.lamps['mongerM'],
            self.game.lamps['mongerO'], self.game.lamps['mongerN'],
            self.game.lamps['mongerG'], self.game.lamps['mongerE'],
            self.game.lamps['mongerR']
        ]
        backdrop = self.game.animations['monger_multiball_backdrop']
        title = dmd.HDTextLayer(1100,
                                20,
                                self.game.fonts['bebas180'],
                                "center",
                                line_color=(0, 0, 0),
                                line_width=3,
                                interior_color=(146, 24, 222))
        title.set_text("IRON MONGER MULTIBALL")
        self.score_layer = dmd.HDTextLayer(1100,
                                           140,
                                           self.game.fonts['bebas300'],
                                           "center",
                                           line_color=(0, 0, 0),
                                           line_width=3,
                                           interior_color=(255, 255, 255))
        shoot = dmd.HDTextLayer(1100,
                                450,
                                self.game.fonts['default'],
                                "center",
                                line_color=(0, 0, 0),
                                line_width=3,
                                interior_color=(255, 0, 0))
        shoot.set_text("SHOOT")
        self.goal_text = dmd.HDTextLayer(1100,
                                         550,
                                         self.game.fonts['default'],
                                         "center",
                                         line_color=(0, 0, 0),
                                         line_width=3,
                                         interior_color=(255, 0, 0))
        self.goal_text_2 = dmd.HDTextLayer(1100,
                                           650,
                                           self.game.fonts['default'],
                                           "center",
                                           line_color=(0, 0, 0),
                                           line_width=3,
                                           interior_color=(255, 0, 0))
        self.main_display_layer = dmd.GroupedLayer(
            1920,
            800, [
                backdrop, title, self.score_layer, shoot, self.goal_text,
                self.goal_text_2
            ],
            opaque=True)

        self.start_movies = [
            'monger_start_1', 'monger_start_2', 'monger_start_3',
            'monger_start_4'
        ]
        self.start_index = 0
        self.hit_movies = [
            'monger_hit_1b', 'monger_hit_2b', 'monger_hit_3b', 'monger_hit_4b',
            'monger_hit_5b', 'monger_hit_6b'
        ]
        self.monger_status = "DOWN"

        self.points_layer = dmd.HDTextLayer(1820,
                                            550,
                                            self.game.fonts['bebas200'],
                                            "right",
                                            line_color=[0, 0, 0],
                                            line_width=4,
                                            interior_color=[146, 24, 222])
        self.points_layer.set_text("250,000")
        self.super = False

        # text layers for intro display
        self.intro_1 = dmd.HDTextLayer(1890,
                                       650,
                                       self.game.fonts['default'],
                                       "right",
                                       line_color=(0, 0, 0),
                                       line_width=6,
                                       interior_color=(224, 224, 224))
        self.intro_1.set_text("MULTIBALL", blink_frames=6)
        self.intro_2 = dmd.HDTextLayer(1890,
                                       550,
                                       self.game.fonts['default'],
                                       "right",
                                       line_color=(0, 0, 0),
                                       line_width=6,
                                       interior_color=(224, 224, 224))
        self.intro_2.set_text("MONGER", blink_frames=6)
        self.intro_3 = dmd.HDTextLayer(1890,
                                       450,
                                       self.game.fonts['default'],
                                       "right",
                                       line_color=(0, 0, 0),
                                       line_width=6,
                                       interior_color=(224, 224, 224))
        self.intro_3.set_text("IRON", blink_frames=6)
        self.toy_valid = True

        script0 = [
            'immb_script0a', 'immb_script0b', 'immb_sript0c', 'immb_script0d',
            'immb_script0e'
        ]
        script1 = [
            'immb_script1a', 'immb_script1b', 'immb_sript1c', 'immb_script1d',
            'immb_script1e'
        ]
        script2 = [
            'immb_script2a', 'immb_script2b', 'immb_sript2c', 'immb_script2d'
        ]
        script3 = [
            'immb_script3a', 'immb_script3b', 'immb_sript3c', 'immb_script3d'
        ]
        self.scripts = [script0, script1, script2, script3]

        # pick out a script
        self.selected_script = random.choice(self.scripts)
        self.center_valid = False
        self.ball_added = False
Ejemplo n.º 22
0
    def __init__(self, game):
        super(WarMachineMultiball,
              self).__init__(game=game,
                             priority=50,
                             mode_type=AdvancedMode.Manual)
        self.myID = "WarMachineMultiball"
        self.running = False
        self.drone_jackpots = [False, False, False, False]
        self.big5_jackpots = [False, False, False, False, False]
        self.super = False
        self.jp_movies = [
            'war_machine_jp_1', 'war_machine_jp_2', 'war_machine_jp_3',
            'war_machine_jp_4', 'war_machine_jp_5'
        ]
        self.jp_delays = [1.8, 1.8, 1.8, 1.8, 1.8]
        self.jp_audio_clips = ['wm_jp_1', 'wm_jp_2', 'wm_jp_3', 'wm_jp_4']
        self.d_jp_movies = [
            'war_machine_d_jp_1', 'war_machine_d_jp_2', 'war_machine_d_jp_3'
        ]
        self.d_jp_delays = [2.8, 2.7, 2.3]
        self.d_jp_audio_clips = [
            'wm_djp_1', 'wm_djp_2', 'wm_djp_3', 'wm_djp_4', 'wm_djp_5'
        ]
        metal_backdrop = self.game.animations['war_machine_bg_blank']
        self.top = dmd.HDTextLayer(1920 / 2,
                                   100,
                                   self.game.fonts['bebas300'],
                                   "center",
                                   line_color=(0, 0, 0),
                                   line_width=9,
                                   interior_color=(64, 64, 255))
        self.bottom = dmd.HDTextLayer(1920 / 2,
                                      350,
                                      self.game.fonts['bebas300'],
                                      "center",
                                      line_color=(0, 0, 0),
                                      line_width=9,
                                      interior_color=(255, 255, 0))
        self.text_display = dmd.GroupedLayer(
            1920, 800, [metal_backdrop, self.top, self.bottom], opaque=True)
        self.main_text_info = dmd.HDTextLayer(1920 / 2,
                                              565,
                                              self.game.fonts['default'],
                                              "center",
                                              line_color=(0, 0, 0),
                                              line_width=6,
                                              interior_color=(224, 224, 224))
        # group layers for the main display
        super_1 = dmd.HDTextLayer(1130,
                                  110,
                                  self.game.fonts['bebas200'],
                                  "center",
                                  line_color=(0, 0, 0),
                                  line_width=9,
                                  interior_color=(224, 0,
                                                  0)).set_text("SHOOT",
                                                               blink_frames=10)
        super_2 = dmd.HDTextLayer(1130,
                                  280,
                                  self.game.fonts['bebas200'],
                                  "center",
                                  line_color=(0, 0, 0),
                                  line_width=9,
                                  interior_color=(224, 0,
                                                  0)).set_text("WAR",
                                                               blink_frames=10)
        super_3 = dmd.HDTextLayer(1130,
                                  450,
                                  self.game.fonts['bebas200'],
                                  "center",
                                  line_color=(0, 0, 0),
                                  line_width=9,
                                  interior_color=(224, 0,
                                                  0)).set_text("MACHINE",
                                                               blink_frames=10)
        wm_backdrop = self.game.animations['war_machine_bg']
        self.super_main = dmd.GroupedLayer(
            1920, 800, [wm_backdrop, super_3, super_2, super_1], opaque=True)
        # drones
        self.drone_0_layer = self.game.animations['drone_0_sm']
        self.drone_0_layer.set_target_position(183, 75)
        self.drone_1_layer = self.game.animations['drone_1_sm']
        self.drone_1_layer.set_target_position(585, 75)
        self.drone_2_layer = self.game.animations['drone_2_sm']
        self.drone_2_layer.set_target_position(997, 75)
        self.drone_3_layer = self.game.animations['drone_3_sm']
        self.drone_3_layer.set_target_position(1366, 75)
        self.drone_layers = [
            self.drone_0_layer, self.drone_1_layer, self.drone_2_layer,
            self.drone_3_layer
        ]
        drones_main_layers = []
        drones_main_layers.append(metal_backdrop)
        for layer in self.drone_layers:
            drones_main_layers.append(layer)
        drones_main_layers.append(self.main_text_info)
        self.drones_main = dmd.GroupedLayer(1920,
                                            800,
                                            drones_main_layers,
                                            opaque=True)
        self.left_arrow = self.game.animations['left_arrow']
        self.left_arrow.set_target_position(220, 140)
        self.left_mid_arrow = self.game.animations['left_mid_arrow']
        self.left_mid_arrow.set_target_position(520, 140)
        self.center_arrow = self.game.animations['center_arrow']
        self.center_arrow.set_target_position(823, 140)
        self.right_mid_arrow = self.game.animations['right_mid_arrow']
        self.right_mid_arrow.set_target_position(1122, 140)
        self.right_arrow = self.game.animations['right_arrow']
        self.right_arrow.set_target_position(1420, 140)
        self.arrows = [
            self.left_arrow, self.left_mid_arrow, self.center_arrow,
            self.right_mid_arrow, self.right_arrow
        ]
        big5_list = []
        big5_list.append(metal_backdrop)
        for layer in self.arrows:
            big5_list.append(layer)
        big5_list.append(self.main_text_info)
        self.big5_main = dmd.GroupedLayer(1920, 800, big5_list, opaque=True)

        #
        # text layers for intro display
        intro_1 = dmd.HDTextLayer(70,
                                  650,
                                  self.game.fonts['default'],
                                  "left",
                                  line_color=(0, 0, 0),
                                  line_width=6,
                                  interior_color=(224, 224, 224))
        intro_1.set_text("MULTIBALL", blink_frames=6)
        intro_2 = dmd.HDTextLayer(70,
                                  550,
                                  self.game.fonts['default'],
                                  "left",
                                  line_color=(0, 0, 0),
                                  line_width=6,
                                  interior_color=(224, 224, 224))
        intro_2.set_text("MACHINE", blink_frames=6)
        intro_3 = dmd.HDTextLayer(70,
                                  450,
                                  self.game.fonts['default'],
                                  "left",
                                  line_color=(0, 0, 0),
                                  line_width=6,
                                  interior_color=(224, 224, 224))
        intro_3.set_text("WAR", blink_frames=6)
        self.intro_movie = self.game.animations['war_machine_ready']
        self.intro = dmd.GroupedLayer(
            1920,
            800, [self.intro_movie, intro_1, intro_2, intro_3],
            opaque=True)
        self.drone_lamps = [
            self.game.lamps['droneTarget0'], self.game.lamps['droneTarget1'],
            self.game.lamps['droneTarget2'], self.game.lamps['droneTarget3']
        ]
Ejemplo n.º 23
0
 def __init__(self, game):
     super(Whiplash, self).__init__(game=game,
                                    priority=15,
                                    mode_type=AdvancedMode.Game)
     self.myID = "Whiplash"
     self.hold = False
     self.movie_index = 0
     hit_movies_1 = [
         self.game.animations['whiplash_1_movie'],
         self.game.animations['whiplash_2_movie'],
         self.game.animations['whiplash_3_movie'],
         self.game.animations['whiplash_4_movie'],
         self.game.animations['whiplash_5_movie']
     ]
     hit_movies_2 = [
         self.game.animations['whiplash_1b_movie'],
         self.game.animations['whiplash_2b_movie'],
         self.game.animations['whiplash_3b_movie'],
         self.game.animations['whiplash_4b_movie'],
         self.game.animations['whiplash_5b_movie'],
         self.game.animations['mega_whiplash_face']
     ]
     self.progress_movies = [hit_movies_1, hit_movies_2]
     track_1 = [
         'whiplash_laugh', 'whiplash_1_3', 'whiplash_1_2', 'whiplash_1_1'
     ]
     track_2 = [
         'whiplash_laugh', 'whiplash_2_5', 'whiplash_2_4', 'whiplash_2_3',
         'whiplash_2_2', 'whiplash_2_1'
     ]
     self.voice_tracks = [track_1, track_2]
     # layers for the hits left display
     self.line_1 = dmd.HDTextLayer(1870,
                                   450,
                                   self.game.fonts['whiplash_200'],
                                   "right",
                                   line_color=(196, 255, 255),
                                   line_width=5,
                                   interior_color=(12, 117, 2))
     self.line_2 = dmd.HDTextLayer(1870,
                                   625,
                                   self.game.fonts['bebas80'],
                                   "right",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(224, 224, 224))
     self.line_4 = dmd.HDTextLayer(1920 / 2,
                                   660,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(
                                       0,
                                       0,
                                       0,
                                   ),
                                   line_width=3,
                                   interior_color=(252, 205, 63))
     self.line_3 = dmd.HDTextLayer(1870,
                                   700,
                                   self.game.fonts['bebas80'],
                                   "right",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(224, 224, 224))
     self.whiplash_type = 0
     self.styles = [
         self.game.fontstyles['whiplash_mb_0'],
         self.game.fontstyles['whiplash_mb_1']
     ]
Ejemplo n.º 24
0
    def __init__(self, game):
        super(ScoreDisplay, self).__init__(game=game,
                                           priority=0,
                                           mode_type=AdvancedMode.System)
        self.myID = "ScoreDisplay"

        self.layer = ScoreLayer(self.game.dmd.width, self.game.dmd.height,
                                self)
        self.layer.layers = list()
        # build all the basic layers to be used
        self.info_string = ""
        self.info_index = 0
        # main score
        self.main_score = dmd.HDTextLayer(1125,
                                          310,
                                          self.game.fonts['main_score'],
                                          "center",
                                          vert_justify="center",
                                          line_color=(0, 0, 0),
                                          line_width=9,
                                          interior_color=(255, 224, 0))
        self.main_score.set_text("00")
        # 1p score
        self.p1_score = dmd.HDTextLayer(200,
                                        100,
                                        self.game.fonts['bebas80'],
                                        "center",
                                        vert_justify="center",
                                        line_color=(0, 0, 0),
                                        line_width=4,
                                        interior_color=(255, 224, 0))
        self.p1_score.set_text("00")
        # 2p score
        self.p2_score = dmd.HDTextLayer(400,
                                        100,
                                        self.game.fonts['bebas80'],
                                        "center",
                                        vert_justify="center",
                                        line_color=(0, 0, 0),
                                        line_width=4,
                                        interior_color=(255, 224, 0))
        self.p2_score.set_text("00")
        # 3p score
        self.p3_score = dmd.HDTextLayer(600,
                                        100,
                                        self.game.fonts['bebas80'],
                                        "center",
                                        vert_justify="center",
                                        line_color=(0, 0, 0),
                                        line_width=4,
                                        interior_color=(255, 224, 0))
        self.p3_score.set_text("00")
        # 4p score
        self.p4_score = dmd.HDTextLayer(1654,
                                        100,
                                        self.game.fonts['bebas80'],
                                        "center",
                                        vert_justify="center",
                                        line_color=(0, 0, 0),
                                        line_width=4,
                                        interior_color=(255, 224, 0))
        self.p4_score.set_text("00")
        self.score_layers = [
            self.p1_score, self.p2_score, self.p3_score, self.p4_score
        ]
        # switches
        self.switches = dmd.HDTextLayer(340,
                                        232,
                                        self.game.fonts['ptsans24'],
                                        "right",
                                        vert_justify="center",
                                        line_color=(255, 255, 255),
                                        line_width=0,
                                        interior_color=(255, 255, 255))
        self.switches.set_text("0")
        self.switch_count = 0
        # ramps
        self.ramps = dmd.HDTextLayer(340,
                                     270,
                                     self.game.fonts['ptsans24'],
                                     "right",
                                     vert_justify="center",
                                     line_color=(255, 255, 255),
                                     line_width=0,
                                     interior_color=(255, 255, 255))
        self.ramps.set_text("0")
        self.ramp_count = 0
        # duration
        self.duration = dmd.HDTextLayer(340,
                                        310,
                                        self.game.fonts['ptsans24'],
                                        "right",
                                        vert_justify="center",
                                        line_color=(255, 255, 255),
                                        line_width=0,
                                        interior_color=(255, 255, 255))
        self.duration.set_text("00:00:00")
        self.timer = 0

        # extra balls
        self.extra_balls = dmd.HDTextLayer(340,
                                           350,
                                           self.game.fonts['ptsans24'],
                                           "right",
                                           vert_justify="center",
                                           line_color=(255, 255, 255),
                                           line_width=0,
                                           interior_color=(255, 255, 255))
        self.extra_balls.set_text("0")
        self.extra_ball_count = 0

        # warnings
        self.warnings = dmd.HDTextLayer(340,
                                        390,
                                        self.game.fonts['ptsans24'],
                                        "right",
                                        vert_justify="center",
                                        line_color=(255, 255, 255),
                                        line_width=0,
                                        interior_color=(255, 255, 255))
        self.warnings.set_text("0")
        self.warning_count = 0

        # recon image
        # recon text
        self.recon_text = dmd.HDTextLayer(400,
                                          680,
                                          self.game.fonts['default'],
                                          "left",
                                          vert_justify="center",
                                          line_color=(0, 0, 0),
                                          line_width=2,
                                          interior_color=(255, 255, 255))
        self.recon_text.set_text("RECON LOADING ...")
        self.recon_strings = ["IRONMAN", "WHIPLASH", "WAR MACHINE", "MONGER"]
        recon_img_ironman = dmd.FrameLayer(
            frame=self.game.animations['recon_img_ironman'].frames[0])
        recon_img_ironman.enabled = False
        recon_img_ironman.set_target_position(50, 450)
        recon_img_whiplash = dmd.FrameLayer(
            frame=self.game.animations['recon_img_whiplash'].frames[0])
        recon_img_whiplash.enabled = False
        recon_img_whiplash.set_target_position(50, 450)
        recon_img_warmachine = dmd.FrameLayer(
            frame=self.game.animations['recon_img_warmachine'].frames[0])
        recon_img_warmachine.enabled = False
        recon_img_warmachine.set_target_position(50, 450)
        recon_img_monger = dmd.FrameLayer(
            frame=self.game.animations['recon_img_monger'].frames[0])
        recon_img_monger.enabled = False
        recon_img_monger.set_target_position(50, 450)
        self.recon_images = [
            recon_img_ironman, recon_img_whiplash, recon_img_warmachine,
            recon_img_monger
        ]
        self.recon_index = 0

        self.last_num_players = 0
        self.last_player_idx = 0
        self.last_score = 0
        self.last_ball_num = -1

        # set up the backdrop
        self.set_backdrop()
        # set up the layers
        self.set_layers_list()
Ejemplo n.º 25
0
 def __init__(self, game):
     super(Pops, self).__init__(game=game,
                                priority=10,
                                mode_type=AdvancedMode.Game)
     self.myID = "Pops"
     self.pop_lamps = [
         self.game.lamps['leftJetBumper'],
         self.game.lamps['bottomJetBumper'],
         self.game.lamps['rightJetBumper']
     ]
     self.orbit_lamps = [
         self.game.lamps['leftOrbitWeaponAdvance'],
         self.game.lamps['centerShotWeaponAdvance'],
         self.game.lamps['rightOrbitWeaponAdvance']
     ]
     self.backdrop = self.game.animations['pops_back']
     self.left_pop_image = self.game.animations['pop_left']
     self.right_pop_image = self.game.animations['pop_right']
     self.right_pop_image.set_target_position(1325, 0)
     self.bottom_pop_image = self.game.animations['pop_bottom']
     self.bottom_pop_image.set_target_position(330, 365)
     self.top_line = dmd.HDTextLayer(1920 / 2,
                                     20,
                                     self.game.fonts['default'],
                                     "center",
                                     line_color=(0, 0, 0),
                                     line_width=3,
                                     interior_color=(224, 224, 224))
     self.super_line = dmd.HDTextLayer(1920 / 2,
                                       120,
                                       self.game.fonts['bebas200'],
                                       "center",
                                       line_color=(96, 96, 86),
                                       line_width=3,
                                       interior_color=(0, 0, 255))
     self.super_line.set_text("SUPER POPS")
     self.p_1_points = dmd.HDTextLayer(120,
                                       480,
                                       self.game.fonts['bebas80'],
                                       "center",
                                       line_color=(0, 0, 0),
                                       line_width=3,
                                       interior_color=(128, 128, 255))
     self.p_2_points = dmd.HDTextLayer(1920 / 2,
                                       310,
                                       self.game.fonts['bebas80'],
                                       "center",
                                       line_color=(0, 0, 0),
                                       line_width=3,
                                       interior_color=(128, 128, 255))
     self.p_3_points = dmd.HDTextLayer(1780,
                                       480,
                                       self.game.fonts['bebas80'],
                                       "center",
                                       line_color=(0, 0, 0),
                                       line_width=3,
                                       interior_color=(128, 128, 255))
     self.pop_layers = [
         self.left_pop_image, self.bottom_pop_image, self.right_pop_image
     ]
     self.pop_text = [self.p_1_points, self.p_2_points, self.p_3_points]
     # pop names used for delays
     self.pop_names = ['left', 'bottom', 'right']
     # pop sound names based on level
     self.pop_sounds = ['pops_0', 'pops_1', 'pops_1']
     # set the values for the various levels
     self.pop_values = [5000, 7500, 10000]
     layer_list = [
         self.backdrop, self.left_pop_image, self.right_pop_image,
         self.bottom_pop_image, self.top_line, self.super_line,
         self.p_1_points, self.p_2_points, self.p_3_points
     ]
     self.main_display = dmd.GroupedLayer(1920,
                                          800,
                                          layer_list,
                                          opaque=True)
     # default pop state
     self.pop_state = [False, False, False]
     # TODO: maybe do the same for sounds? -- are sounds during super specific?
     self.super_boom = True
Ejemplo n.º 26
0
 def __init__(self, game):
     super(IronmanTargets, self).__init__(game=game,
                                          priority=15,
                                          mode_type=AdvancedMode.Game)
     self.myID = "IronmanTargets"
     self.rampDoubled = "NONE"
     self.left_targets = [0, 1, 2, 3]
     self.right_targets = [0, 1, 2]
     self.scoring_mode_running = False
     self.left_lamps = [
         self.game.lamps['leftTargetsI'], self.game.lamps['leftTargetsR'],
         self.game.lamps['leftTargetsO'], self.game.lamps['leftTargetsN']
     ]
     self.right_lamps = [
         self.game.lamps['rightTargetsM'], self.game.lamps['rightTargetsA'],
         self.game.lamps['rightTargetsN']
     ]
     self.hit_movies = [
         self.game.animations['hit_1_movie'],
         self.game.animations['hit_2_movie'],
         self.game.animations['hit_3_movie'],
         self.game.animations['hit_4_movie'],
         self.game.animations['hit_5_movie'],
         self.game.animations['hit_6_movie'],
         self.game.animations['hit_7_movie'],
         self.game.animations['hit_8_movie'],
         self.game.animations['hit_9_movie'],
         self.game.animations['hit_10_movie']
     ]
     self.hit_index = 0
     self.top = dmd.HDTextLayer(15,
                                15,
                                self.game.fonts['bebas80'],
                                "left",
                                line_color=(0, 0, 0),
                                line_width=3,
                                interior_color=(224, 224, 224))
     self.i_layer = dmd.FrameLayer(
         frame=self.game.animations['target_i_image'].frames[0])
     self.i_layer.set_target_position(1301, 625)
     self.i_layer_d = dmd.FrameLayer(
         frame=self.game.animations['target_i_d'].frames[0])
     self.i_layer_d.set_target_position(1301, 625)
     self.r_layer = dmd.FrameLayer(
         frame=self.game.animations['target_r_image'].frames[0])
     self.r_layer.set_target_position(1349, 625)
     self.r_layer_d = dmd.FrameLayer(
         frame=self.game.animations['target_r_d'].frames[0])
     self.r_layer_d.set_target_position(1349, 625)
     self.o_layer = dmd.FrameLayer(
         frame=self.game.animations['target_o_image'].frames[0])
     self.o_layer.set_target_position(1437, 625)
     self.o_layer_d = dmd.FrameLayer(
         frame=self.game.animations['target_o_d'].frames[0])
     self.o_layer_d.set_target_position(1437, 625)
     self.n1_layer = dmd.FrameLayer(
         frame=self.game.animations['target_n1_image'].frames[0])
     self.n1_layer.set_target_position(1521, 625)
     self.n1_layer_d = dmd.FrameLayer(
         frame=self.game.animations['target_n1_d'].frames[0])
     self.n1_layer_d.set_target_position(1521, 625)
     self.m_layer = dmd.FrameLayer(
         frame=self.game.animations['target_m_image'].frames[0])
     self.m_layer.set_target_position(1621, 625)
     self.m_layer_d = dmd.FrameLayer(
         frame=self.game.animations['target_m_d'].frames[0])
     self.m_layer_d.set_target_position(1621, 625)
     self.a_layer = dmd.FrameLayer(
         frame=self.game.animations['target_a_image'].frames[0])
     self.a_layer.set_target_position(1733, 625)
     self.a_layer_d = dmd.FrameLayer(
         frame=self.game.animations['target_a_d'].frames[0])
     self.a_layer_d.set_target_position(1733, 625)
     self.n2_layer = dmd.FrameLayer(
         frame=self.game.animations['target_n2_image'].frames[0])
     self.n2_layer.set_target_position(1817, 625)
     self.n2_layer_d = dmd.FrameLayer(
         frame=self.game.animations['target_n2_d'].frames[0])
     self.n2_layer_d.set_target_position(1817, 625)
     self.left_layers = [
         self.i_layer, self.r_layer, self.o_layer, self.n1_layer
     ]
     self.right_layers = [self.m_layer, self.a_layer, self.n2_layer]
     self.mode_titles = [
         "FAST SCORING", "DOUBLE SCORING", "IRONMAN SCORING"
     ]
     self.left_tracking = [False, False, False, False]
     self.right_tracking = [False, False, False]
Ejemplo n.º 27
0
 def __init__(self, game):
     super(FastScoring, self).__init__(game=game,
                                       priority=9,
                                       mode_type=AdvancedMode.Manual)
     self.myID = "FastScoring"
     self.running = False
     backdrop = dmd.FrameLayer(
         frame=self.game.animations['metal_bg'].frames[0])
     banner = dmd.PanningLayer(
         3840,
         800,
         self.game.animations['fast_scoring_banner'].frames[0], (0, 0),
         (20, 0),
         bounce=False,
         wrap=True)
     #self.explosion = self.game.animations['fast_scoring_explosion']
     #self.explosion.composite_op = "blacksrc"
     #self.explosion.enabled = False
     #self.display = dmd.GroupedLayer(1920, 800, [backdrop, banner, self.explosion], opaque=True)
     self.score1 = dmd.HDTextLayer(250,
                                   100,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(255, 255, 0))
     self.score2 = dmd.HDTextLayer(300,
                                   250,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(255, 255, 0))
     self.score3 = dmd.HDTextLayer(250,
                                   450,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(255, 255, 0))
     self.score4 = dmd.HDTextLayer(1700,
                                   100,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(255, 255, 0))
     self.score5 = dmd.HDTextLayer(1600,
                                   250,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(255, 255, 0))
     self.score6 = dmd.HDTextLayer(1700,
                                   450,
                                   self.game.fonts['default'],
                                   "center",
                                   line_color=(0, 0, 0),
                                   line_width=3,
                                   interior_color=(255, 255, 0))
     self.score_layers = [
         self.score1, self.score2, self.score3, self.score4, self.score5,
         self.score6
     ]
     self.timer_layer = dmd.HDTextLayer(1920 / 2,
                                        120,
                                        self.game.fonts['bebas500'],
                                        "center",
                                        line_color=(0, 0, 0),
                                        line_width=8,
                                        interior_color=(255, 0, 0))
     timer_box = self.game.animations['timer_box']
     timer_box.set_target_position(731, 164)
     title = dmd.HDTextLayer(1920 / 2,
                             20,
                             self.game.fonts['default'],
                             "center",
                             line_color=(0, 0, 0),
                             line_width=3,
                             interior_color=(224, 224, 224))
     title.set_text("FAST SCORING")
     bottom1 = dmd.HDTextLayer(1920 / 2,
                               650,
                               self.game.fonts['default'],
                               "center",
                               line_color=(0, 0, 0),
                               line_width=3,
                               interior_color=(224, 224, 224))
     bottom1.set_text("IRONMAN TARGETS RAISE VALUE")
     self.bottom2 = dmd.HDTextLayer(1920 / 2,
                                    650,
                                    self.game.fonts['default'],
                                    "center",
                                    line_color=(0, 0, 0),
                                    line_width=3,
                                    interior_color=(224, 224, 224))
     self.bottom2.set_text("ALL SWITCHES SCORE 10,000 POINTS")
     info_line = dmd.ScriptedLayer(1920, 800, [{
         'layer': bottom1,
         'seconds': 2
     }, {
         'layer': self.bottom2,
         'seconds': 2
     }])
     self.display = dmd.GroupedLayer(
         1920,
         800, [
             backdrop, banner, title, info_line, timer_box,
             self.timer_layer, self.score1, self.score2, self.score3,
             self.score4, self.score5, self.score6
         ],
         opaque=True)
     self.names = ['fast5', 'fast4', 'fast3', 'fast2', 'fast1', 'fast0']
     self.timer_start_value = 41
     self.fade_index = 0