def update(self, **kwargs): Minion.update(self, **kwargs) self.conf = {} if 'job_info' in kwargs: for keyname in ['pid', 'program', 'jobname']: if keyname in kwargs['job_info']: self.conf[keyname] = kwargs['job_info'][keyname] else: raise Exception("Missing setting [%s] in \ configuration file!!!" % keyname) for keyname in [ 'host_name', 'port_no', 'user_name', 'pwd', 'database_name' ]: if keyname in kwargs['job_info']: self.conf[keyname] = kwargs['job_info'][keyname] else: logging.warning("Missing setting [%s] in \ configuration file!!!" % keyname) else: raise Exception("Missing job_info configuration setting \ in your conf file!") self.path = kwargs['path'] self.output_data = {} conf_name_list = os.path.splitext(os.path.basename(kwargs['path'])) for data_name in ['mtbf', 'events']: output_file_path = os.path.join( kwargs['output']['dirpath'], conf_name_list[0] + "_" + data_name + ".json") self.output_data[data_name] = { 'json_path': output_file_path, 'data': None }
def update(self, **kwargs): Minion.update(self, **kwargs) self.conf = {} if 'job_info' in kwargs: for keyname in ['pid', 'program', 'jobname']: if keyname in kwargs['job_info']: self.conf[keyname] = kwargs['job_info'][keyname] else: raise Exception("Missing setting [%s] in \ configuration file!!!" % keyname) for keyname in ['host_name', 'port_no', 'user_name', 'pwd', 'database_name']: if keyname in kwargs['job_info']: self.conf[keyname] = kwargs['job_info'][keyname] else: logging.warning("Missing setting [%s] in \ configuration file!!!" % keyname) else: raise Exception("Missing job_info configuration setting \ in your conf file!") self.path = kwargs['path'] self.output_data = {} conf_name_list = os.path.splitext(os.path.basename(kwargs['path'])) for data_name in ['mtbf', 'events']: output_file_path = os.path.join(kwargs['output']['dirpath'], conf_name_list[0] + "_" + data_name + ".json") self.output_data[data_name] = {'json_path': output_file_path, 'data': None}
def generate_minions(self, amount=1): """ Spawining random minion with a char starting from the letter A (upper case) """ chars = list(string.ascii_uppercase) for i in range(amount): good = True while good: x = random.randint(0, self.dimension-1) y = random.randint(0, self.dimension-1) if not isinstance(self.positions[x][y], Minion): vision = random.randint(3,5) max_energy = random.randint(100, 120) baby_cost = int((max_energy/2) - (random.random() * random.randint(0,math.floor((max_energy/2)-1)))) a = Minion(arena, x,y, chars[i], vision=vision, baby_cost=baby_cost, max_energy=max_energy) a.energy = baby_cost - 10 self.positions[x][y] = a self.minions.append(a) good = False
def on_click(self,event): """ Certain events to occur if the cursor is clicked based on the location of the click """ if self.mode == Modes.Map: if (pygame.Rect(625,25,150,50).collidepoint(event.pos)): self.change_mode(Modes.MakeTeam) return if self.mode == Modes.MakeTeam: if (pygame.Rect(625,25,150,50).collidepoint(event.pos)): self.change_mode(Modes.Combat) return if (pygame.Rect(625,125,150,50).collidepoint(event.pos)): self.auto_team() if(pygame.Rect(610,450,80,50).collidepoint(event.pos)): minion = Minion() minion.set_type(0) self.team.add(minion) return if(pygame.Rect(710,450,80,50).collidepoint(event.pos)): minion = Minion() minion.set_type(1) self.team.add(minion) return if(pygame.Rect(610,525,80,50).collidepoint(event.pos)): minion = Minion() minion.set_type(2) self.team.add(minion) return if(pygame.Rect(710,525,80,50).collidepoint(event.pos)): minion = Minion() minion.set_type(3) self.team.add(minion) return for i in self.team.members: if(i.rect.collidepoint(event.pos)): self.team.remove(i) if self.mode == Modes.Combat: if (pygame.Rect(625,25,150,50).collidepoint(event.pos)): self.change_mode(Modes.Map) if self.mode == Modes.GameOver: pass
def __init__(self, name, **kwargs): Minion.__init__(self, name, **kwargs) self.ca = CrashAgent(self.serial)