Exemple #1
0
class car:
    accelmult = 1
    dirmult = 0.1
    def __init__(self,codes):
        self.fitness = 0
        self.active = True
        self.positionx = 20
        self.positiony = 300
        self.speed=0
        self.direction=0
        self.algo = Algorithm(codes)
    def draw(self):
        pass
    def update(self,obstacles):
        x = 0
        y = 0
        min = 2000
        for z in obstacles:
            temp = z.distance()
            if temp<min:
                x = z.horizontal
                y = z.vertical
                min = temp
        inputs = []
        inputs.append(self.positionx)
        inputs.append(self.positiony)
        inputs.append(self.direction)
        inputs.append(self.speed)
        inputs.append(x)
        inputs.append(y)
        self.algo.update(inputs)
        self.speed += accelmult * self.algo.getAccel()
        self.direction += dirmult * self.algo.getDir()
        self.positionx += self.speed * math.sin(self.direction)
        self.positiony += self.speed * math.cos(self.direction)
        
    def checkcollision(self,obs):
        return obs.distance(self.positionx,self.positiony) < obs.radius
    def getCodes(self):
        return self.algo.getCodes()