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()
def main(): banner("2.3") # hr = "------------------------------------" # counter below needs to be added as part of the Sheepl Object # this should get automatically incremented either based on the # length of the task list or a counter tracker # Main Parser Setup args = parse_arguments() # create project root #ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) # assign colour output colour_output = args.no_colour print("[!] Colour output is set to : {}".format( str(colour_output).upper())) cl = ColourText(colour_output) tasks = Tasks() # gets global header declarations for autoIT script # >> Global Calls # manual check for Interactive if args.interactive: interactive = True context = ConsoleContext() con = SheeplConsole(context, cl, tasks) con.cmdloop() # template functions need updating for the stub code so commenting out this feature for now. # will fix in next push # Check if creating template stub file and category. # this should be replaced with pathlib functions #if args.template and not args.category: # print(cl.red("[!] You must specify a category eg 'network'")) # print("[>] If this path does not exist, then it will be created") #elif args.template: # if not os.path.isdir('tasks/' + args.category.lower()): # print(cl.yellow("[!] Couldn't find this category : " + args.category.lower())) # print(cl.green("[!] Creating {} category path now.".format(args.category.lower()))) # os.mkdir('tasks/' + args.category.lower()) # else: # print("[>] Category already Exists : " + cl.red("tasks/" + args.category.lower())) # os.chdir('tasks/' + args.category.lower()) # if not os.path.isfile(args.template + '.py'): # print("[!] Creating task template: {}".format(cl.green(args.template))) # CreateTemplate(args.template) # if os.path.isfile(args.template + '.py'): # print(cl.red("[!] Task template already exists : " + args.template)) # # spam loop until yes or no is answered # while 1: # replace_template = input("[?] Do you want to replace this file? <yes> <no> : ") # if replace_template.lower() == "yes" or replace_template.lower() == "no": # break # if replace_template.lower() == "yes": # print("[!] Creating new task template : " + cl.green(args.template + '.py')) # CreateTemplate(args.template) # else: # print(cl.green("[!] Leaving orginal template intact")) # create from JSON profile if args.profile: print("[!] Create a sheepl from the profile file : {}".format( cl.green(args.profile.name))) # Set Interactive to False interactive = False Profile(cl, args.profile.name, tasks)
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)