예제 #1
0
    def main_next(self):

        if self.check_probs():
            self.profile.information['case'] += 1
            self.case += 1
            self.fix_probs()
        self.profile.save(self.save_dir)
        self.profile = Profile() if not os.path.exists(
            self.save_dir) else Profile.read_save(self.save_dir)

        # if self.case == 8:
        # cutscene = Cutscene(self.director, 2)
        # self.director.replace(cutscene)
        # else:
        # if victory:
        self.remove(self.MGLayer.ch_layer)
        self.scroller.remove(self.MGLayer)
        # instantiate new Main Game Layer
        self.MGLayer = MainGameLayer(self.director, self.scroller, self,
                                     self.case, self.profile, self.dna)
        self.scroller.add(self.MGLayer, z=1)
        self.director.pop()
예제 #2
0
    def __init__(self, director, state):

        self.director = director
        self.state = state

        self.dna = GameBackground('../res/main_game_backgrounds/main.png')
        # self.bg = GameBackground('../res/main_game_backgrounds/background.png')

        super().__init__()

        self.save_dir = 'profiles/save.json'
        if self.state == 'newgame':
            self.profile = Profile()
        else:
            self.profile = Profile() if not os.path.exists(
                self.save_dir) else Profile.read_save(self.save_dir)

        self.popups = {}
        self.shown_popup = None
        # for name in os.
        self.popups['finish_helicase'] = cocos.sprite.Sprite(
            pyglet.image.load('../res/popups/finish_helicase.png'),
            position=(640, 360))
        self.popups['fail_helicase'] = cocos.sprite.Sprite(
            pyglet.image.load('../res/popups/fail_helicase.png'),
            position=(640, 360))
        self.popups['finish_pp'] = cocos.sprite.Sprite(
            pyglet.image.load('../res/popups/finish_pp.png'),
            position=(640, 360))
        self.popups['fail_pp'] = cocos.sprite.Sprite(
            pyglet.image.load('../res/popups/fail_pp.png'),
            position=(640, 360))
        self.popups['finish_ligase'] = cocos.sprite.Sprite(
            pyglet.image.load('../res/popups/finish_ligase.png'),
            position=(640, 360))
        self.popups['fail_ligase'] = cocos.sprite.Sprite(
            pyglet.image.load('../res/popups/fail_ligase.png'),
            position=(640, 360))

        for pop in self.popups.values():
            self.add(pop, 4)
            pop.do(Hide())

        self.case = self.profile.information['case']

        self.pos = [600, 0]

        self.life_num = self.profile.get_lives()
        print('new life number', self.life_num)
        self.lives = cocos.sprite.Sprite(
            pyglet.image.load('../res/lives_' + str(self.life_num) + '.png'),
            position=(224, 637))

        self.scroller = cocos.layer.ScrollingManager()
        self.MGLayer = MainGameLayer(self.director, self.scroller, self,
                                     self.case, self.profile, self.dna)

        back_button = Button(1199, 658, '../res/back_button.png', self,
                             self.back)
        back_button.setHasHighlight('../res/back_button_h.png')

        left_button = Button(1050, 90, '../res/BUTTON LEFT.png', self,
                             self.set_pos_left)
        left_button.setHasHighlight('../res/BUTTON LEFT HIGHLIGHTED.png')
        right_button = Button(1190, 90, '../res/BUTTON RIGHT.png', self,
                              self.set_pos_right)
        right_button.setHasHighlight('../res/BUTTON RIGHT HIGHLIGHTED.png')

        self.add(back_button, z=1)
        self.add(left_button, z=1)
        self.add(right_button, z=1)
        self.add(self.lives, z=1)
        self.scroller.add(self.MGLayer, z=0)
        self.add(self.scroller, z=0)

        # initial view position
        self.scroller.set_focus(*self.pos)