Skip to content
Snippets Groups Projects
Commit b428d1b1 authored by Nicholas Danh's avatar Nicholas Danh
Browse files

max agent (check in player.py update function)

parent bb79b5b4
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,7 @@
"""
from math import copysign
from math import copysign, sqrt
from pygame.math import Vector2
from pygame.locals import KEYDOWN,KEYUP,K_LEFT,K_RIGHT
from pygame.sprite import collide_rect
......@@ -137,6 +137,34 @@ class Player(Sprite, Singleton):
if self.camera_rect.y>config.YWIN*2:
self.dead = True
return
lvl = Level.instance
if not len(lvl.platforms): return
platx = Level.instance.platforms[0].rect.centerx
platy = Level.instance.platforms[0].rect.centery
player_x = self.rect.centerx
player_y = self.rect.bottom
dist = []
for platform in lvl.platforms:
weight = 5 if platform.rect.centery > player_y else 50
dist.append((sqrt((platform.rect.centerx - player_x)**2 + weight * (platform.rect.top - player_y)**2), platform))
if len(dist) > 0:
closest = min(dist)
closest_platform = closest[1]
if player_x > closest_platform.rect.centerx:
self._velocity.x=-self.__startspeed * closest[0] / 10
self._input = -1
elif player_x < closest_platform.rect.centerx:
self._velocity.x=self.__startspeed * closest[0] / 10
self._input = 1
else:
self._input = 0
#Velocity update (apply gravity, input acceleration)
self._velocity.y += self.gravity
if self._input: # accelerate
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment