changeset 27:3e4d8091268c

A werewolf always knows where she's going.
author Simon Cross <hodgestar@gmail.com>
date Sun, 01 Sep 2013 16:03:04 +0200
parents 16b02d3ab9a4
children c03982fe3c70
files nagslang/screens/area.py
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/screens/area.py	Sun Sep 01 15:58:38 2013 +0200
+++ b/nagslang/screens/area.py	Sun Sep 01 16:03:04 2013 +0200
@@ -1,5 +1,7 @@
 """Display a game area."""
 
+import math
+
 import pygame
 import pymunk
 import pymunk.pygame_util
@@ -31,7 +33,8 @@
         self.protagonist = pymunk.Circle(self.protagonist_body, 30)
         self.space.add(self.protagonist_body, self.protagonist)
 
-    def protagonist_move(self, dx, dy):
+    def protagonist_move(self, dx, dy, angle):
+        self.protagonist_body.angle = angle
         self.protagonist_body.apply_impulse((dx * 2000, dy * 2000))
 
     def handle_event(self, ev):
@@ -39,13 +42,13 @@
             if ev.key == pygame.locals.K_ESCAPE:
                 ScreenChange.post('menu')
             elif ev.key == pygame.locals.K_UP:
-                self.protagonist_move(0, 1)
+                self.protagonist_move(0, 1, math.pi / 2)
             elif ev.key == pygame.locals.K_DOWN:
-                self.protagonist_move(0, -1)
+                self.protagonist_move(0, -1, -math.pi / 2)
             elif ev.key == pygame.locals.K_LEFT:
-                self.protagonist_move(-1, 0)
+                self.protagonist_move(-1, 0, math.pi)
             elif ev.key == pygame.locals.K_RIGHT:
-                self.protagonist_move(1, 0)
+                self.protagonist_move(1, 0, 0)
 
     def render(self, surface):
         surface.fill(pygame.color.Color(0, 0, 0))