Пример #1
0
    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
            }
Пример #2
0
    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}
Пример #3
0
    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
Пример #4
0
    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
Пример #5
0
 def __init__(self, name, **kwargs):
     Minion.__init__(self, name, **kwargs)
     self.ca = CrashAgent(self.serial)