# HG changeset patch # User Simon Cross # Date 1378044184 -7200 # Node ID 3e4d8091268ca862ee8bf660591ffbd1eea0cdbc # Parent 16b02d3ab9a47d9671e8dc29502bb0ca3a21e3a8 A werewolf always knows where she's going. diff -r 16b02d3ab9a4 -r 3e4d8091268c nagslang/screens/area.py --- 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))