This commit is contained in:
Frank DeMarco 2017-12-20 19:31:25 -05:00
parent cb3d4ffc6a
commit 465f91591a
1 changed files with 22 additions and 7 deletions

29
NS.py
View File

@ -206,6 +206,21 @@ class Platform(GameChild):
def get_pressed(self):
return [light.position for light in self.lights if light.pressed]
def get_edge_pressed(self):
pressed = self.get_pressed()
if NS.NW in pressed and NS.NE in pressed:
return NS.N
elif NS.NE in pressed and NS.SW in pressed:
return NS.NE
elif NS.NE in pressed and NS.SE in pressed:
return NS.E
elif NS.NW in pressed and NS.SE in pressed:
return NS.NW
elif NS.SE in pressed and NS.SW in pressed:
return NS.S
elif NS.SW in pressed and NS.NW in pressed:
return NS.W
def update(self):
for light in self.lights:
light.update()
@ -323,36 +338,36 @@ class Chemtrails(GameChild):
def orient(self):
ds = self.get_display_surface()
pressed = self.get_game().platform.get_pressed()
if NS.NW in pressed and NS.NE in pressed:
edge = self.get_game().platform.get_edge_pressed()
if edge == NS.N:
rect = self.image.get_rect()
rect.center = ds.get_width() / 2, NS.FRONT - 30
ds.blit(self.image, rect.topleft)
self.orientation = NS.N
elif NS.NE in pressed and NS.SE in pressed:
elif edge == NS.E:
image = rotate(self.image, 270)
rect = image.get_rect()
rect.center = ds.get_width() / 2 + NS.FRONT_WIDTH / 2, NS.FRONT + NS.LENGTH * NS.STEP + 10
ds.blit(image, rect.topleft)
self.orientation = NS.E
elif NS.SE in pressed and NS.SW in pressed:
elif edge == NS.S:
rect = self.image.get_rect()
rect.center = ds.get_width() / 2, NS.FRONT + NS.LENGTH - NS.LENGTH * NS.STEP - 20
ds.blit(self.image, rect.topleft)
self.orientation = NS.S
elif NS.SW in pressed and NS.NW in pressed:
elif edge == NS.W:
image = rotate(self.image, 270)
rect = image.get_rect()
rect.center = ds.get_width() / 2 - NS.FRONT_WIDTH / 2 + 70, NS.FRONT + NS.LENGTH * NS.STEP + 10
ds.blit(image, rect.topleft)
self.orientation = NS.W
elif NS.NW in pressed and NS.SE in pressed:
elif edge == NS.NW:
image = rotate(self.image, 315)
rect = image.get_rect()
rect.center = ds.get_width() / 2 + 45, NS.FRONT + NS.LENGTH * NS.STEP - 40
ds.blit(image, rect.topleft)
self.orientation = NS.NW
elif NS.NE in pressed and NS.SW in pressed:
elif edge == NS.NE:
image = rotate(self.image, 45)
rect = image.get_rect()
rect.center = ds.get_width() / 2 - 30, NS.FRONT + NS.LENGTH * NS.STEP - 50