def LevelGridDraw(self): for x in range(len(self.levelTiles)): for y in range(len(self.levelTiles[x])): if(self.levelTiles[x][y].Sid != -1): PKFW.spmo(self.levelTiles[x][y].Sid,self.levelTiles[x][y].pos.x, self.levelTiles[x][y].pos.y ) PKFW.spdr(self.levelTiles[x][y].Sid) for i in range(len(self.wanderers)): self.wanderers[i].obstacleAvoid(walls) self.wanderers[i].update() self.wanderers[i].draw() if(math.isnan(self.wanderers[i].position.x) or math.isnan(self.wanderers[i].position.y)): # on rare occasions the boid position and steering becomes NAN due to being too close to too many # walls... I am not sure why this is happening and have implemented a half fix which just # re initialises the boid if this happens self.wanderers[i] = ai.boid(kd.sp['width']*0.5, kd.sp['height']*0.5, 64, sprites[5]) if(self.flock is not None): self.flock.update()
def draw(self): PKFW.spdr(self.sprite)