Mercurial > touhou
changeset 380:c25530efea3b
Replace player position in game zone right after its move; fix shots offsets at boundaries.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Fri, 07 Sep 2012 12:54:38 +0200 |
parents | e0e284fcb288 |
children | f1649d6c6397 |
files | pytouhou/game/game.py pytouhou/game/player.py |
diffstat | 2 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/pytouhou/game/game.py +++ b/pytouhou/game/game.py @@ -283,14 +283,6 @@ class Game(object): for player in self.players: player.update(keystate) #TODO: differentiate keystates (multiplayer mode) - if player.state.x < 8.: - player.state.x = 8. - if player.state.x > self.width - 8: - player.state.x = self.width - 8 - if player.state.y < 16.: - player.state.y = 16. - if player.state.y > self.height - 16: - player.state.y = self.height -16 #XXX: Why 78910? Is it really the right value? player.state.effective_score = min(player.state.effective_score + 78910,
--- a/pytouhou/game/player.py +++ b/pytouhou/game/player.py @@ -197,6 +197,15 @@ class Player(object): self.state.x += dx self.state.y += dy + if self.state.x < 8.: + self.state.x = 8. + if self.state.x > self._game.width - 8: + self.state.x = self._game.width - 8. + if self.state.y < 16.: + self.state.y = 16. + if self.state.y > self._game.height - 16: + self.state.y = self._game.height -16. + if not self.state.focused and keystate & 4: self.start_focusing() elif self.state.focused and not keystate & 4: