Advertisement
Guest User

Untitled

a guest
Dec 1st, 2011
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. import pygame
  2. import state
  3.  
  4. class Skating(state.State):
  5.  
  6. def __init__(self, character):
  7. super(Skating, self).__init__(character)
  8. self.left_skate = "left"
  9. self.right_skate = "right"
  10. self.front_skate = "front"
  11. self.back_skate = "back"
  12.  
  13. self.speedX1 = 10
  14. self.speedX2 = 10
  15.  
  16. self.speedY1 = 10
  17. self.speedY2 = 10
  18. self.skate_speed = 5
  19.  
  20. self.normal_friction = 0.95
  21. self.ice = 0.01
  22.  
  23. def handle_event(self, event):
  24. if event.key == pygame.K_LEFT:
  25. self.character.direction = "left"
  26. elif event.key == pygame.K_RIGHT:
  27. self.character.direction = "right"
  28. elif event.key == pygame.K_UP:
  29. self.character.direction = "back"
  30. elif event.key == pygame.K_DOWN:
  31. self.character.direction = "front"
  32.  
  33. return self.skate()
  34.  
  35. def no_event(self):
  36. return self.skate()
  37.  
  38. def skate(self):
  39. if self.character.direction == "left":
  40. self.character.rect.x -= (self.speedX1 * self.skate_speed)
  41. self.speedX1 *= (self.ice * self.normal_friction)
  42. return self.left_skate
  43.  
  44. elif self.character.direction == "right":
  45. self.character.rect.x += (self.speedX2 * self.skate_speed)
  46. self.speedX2 *= (self.ice * self.normal_friction)
  47. return self.right_skate
  48.  
  49. elif self.character.direction == "front":
  50. self.character.rect.y += (self.speedY1 * self.skate_speed)
  51. self.speedY1 *= (self.ice * self.normal_friction)
  52. return self.front_skate
  53.  
  54. else:
  55. self.character.rect.y -= (self.speedY2* self.skate_speed)
  56. self.speedY2 *= (self.ice * self.normal_friction)
  57. return self.back_skate
  58.  
  59.  
  60. if not self.character.onIce():
  61. return self.walk()
  62.  
  63. def __str__(self):
  64. return "skating"
  65.  
  66.  
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement