Mercurial > skaapsteker
comparison skaapsteker/levelscene.py @ 290:c68f2f3efc7f
Item dropping and swapping.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Fri, 08 Apr 2011 21:58:48 +0200 |
parents | ddcfc159dc2a |
children | 78220c989e6a |
comparison
equal
deleted
inserted
replaced
289:16ffe6f5dbb8 | 290:c68f2f3efc7f |
---|---|
50 self._player.set_facing(doorway.facing) | 50 self._player.set_facing(doorway.facing) |
51 self._player.set_image() | 51 self._player.set_image() |
52 self._player.set_pos(doorway._starting_tile_pos) | 52 self._player.set_pos(doorway._starting_tile_pos) |
53 | 53 |
54 # Double tap stuff | 54 # Double tap stuff |
55 self._last_keys_down = [] | |
56 self._last_keydown_time = None | 55 self._last_keydown_time = None |
57 self._last_keyup_time = None | 56 self._last_keyup_time = None |
58 | 57 |
59 def _build_action_map(self): | 58 def _build_action_map(self): |
60 action = lambda s: getattr(self._player, 'action_%s' % s) | 59 action = lambda s: getattr(self._player, 'action_%s' % s) |
64 | 63 |
65 self._fast_key_map = { | 64 self._fast_key_map = { |
66 K_LEFT: action('left'), | 65 K_LEFT: action('left'), |
67 K_RIGHT: action('right'), | 66 K_RIGHT: action('right'), |
68 K_UP: action('up'), | 67 K_UP: action('up'), |
69 K_DOWN: action('down'), | |
70 } | 68 } |
71 self._fast_keys_down = set() | 69 self._fast_keys_down = set() |
72 | 70 |
73 self._slow_key_map = { | 71 self._slow_key_map = { |
72 K_DOWN: action('down'), | |
74 K_ESCAPE: self._quit, | 73 K_ESCAPE: self._quit, |
75 K_p: self._toggle_pause, | 74 K_p: self._toggle_pause, |
76 } | 75 } |
77 if options['dvorak']: | 76 if options['dvorak']: |
78 self._slow_key_map[K_SEMICOLON] = action('fire1') | 77 self._slow_key_map[K_SEMICOLON] = action('fire1') |
83 self._slow_key_map[K_q] = self._quit | 82 self._slow_key_map[K_q] = self._quit |
84 | 83 |
85 self._key_tap_map = { | 84 self._key_tap_map = { |
86 (K_LEFT, K_LEFT) : action('double_left'), | 85 (K_LEFT, K_LEFT) : action('double_left'), |
87 (K_RIGHT, K_RIGHT) : action('double_right'), | 86 (K_RIGHT, K_RIGHT) : action('double_right'), |
88 (K_DOWN, K_DOWN) : action('double_down'), | 87 (K_UP, K_UP) : action('double_up'), |
89 } | 88 } |
90 | 89 |
91 def _quit(self, pause=True): | 90 def _quit(self, pause=True): |
92 import menuscene # avoid circular import | 91 import menuscene # avoid circular import |
93 if pause: | 92 if pause: |
238 self._player_dead = True | 237 self._player_dead = True |
239 elif engine.OpenDialog.matches(ev): | 238 elif engine.OpenDialog.matches(ev): |
240 self._open_dialogue(ev.npc) | 239 self._open_dialogue(ev.npc) |
241 elif engine.CloseDialog.matches(ev): | 240 elif engine.CloseDialog.matches(ev): |
242 self._close_dialogue() | 241 self._close_dialogue() |
242 elif engine.ItemRepopulationEvent.matches(ev): | |
243 self._world.add(ev.item) |