Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- import state
- class Skating(state.State):
- def __init__(self, character):
- super(Skating, self).__init__(character)
- self.left_skate = "left"
- self.right_skate = "right"
- self.front_skate = "front"
- self.back_skate = "back"
- self.speedX1 = 10
- self.speedX2 = 10
- self.speedY1 = 10
- self.speedY2 = 10
- self.skate_speed = 5
- self.normal_friction = 0.95
- self.ice = 0.01
- def handle_event(self, event):
- if event.key == pygame.K_LEFT:
- self.character.direction = "left"
- elif event.key == pygame.K_RIGHT:
- self.character.direction = "right"
- elif event.key == pygame.K_UP:
- self.character.direction = "back"
- elif event.key == pygame.K_DOWN:
- self.character.direction = "front"
- return self.skate()
- def no_event(self):
- return self.skate()
- def skate(self):
- if self.character.direction == "left":
- self.character.rect.x -= (self.speedX1 * self.skate_speed)
- self.speedX1 *= (self.ice * self.normal_friction)
- return self.left_skate
- elif self.character.direction == "right":
- self.character.rect.x += (self.speedX2 * self.skate_speed)
- self.speedX2 *= (self.ice * self.normal_friction)
- return self.right_skate
- elif self.character.direction == "front":
- self.character.rect.y += (self.speedY1 * self.skate_speed)
- self.speedY1 *= (self.ice * self.normal_friction)
- return self.front_skate
- else:
- self.character.rect.y -= (self.speedY2* self.skate_speed)
- self.speedY2 *= (self.ice * self.normal_friction)
- return self.back_skate
- if not self.character.onIce():
- return self.walk()
- def __str__(self):
- return "skating"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement