diff options
Diffstat (limited to 'game1/collectgame.py')
-rwxr-xr-x | game1/collectgame.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/game1/collectgame.py b/game1/collectgame.py new file mode 100755 index 0000000..24ca67b --- /dev/null +++ b/game1/collectgame.py @@ -0,0 +1,72 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import pygame +import usmpgames +from player import * +from tracktmx import * +from score import * +from resources import * +from gettext import gettext as _ + +class CollectGame(usmpgames.ApplicationState): + + def __init__(self, game_mode, next_state = None, background = None): + usmpgames.ApplicationState.__init__(self, next_state, background) + self.game_mode = game_mode + + def entering_state(self, fromStack): + usmpgames.ApplicationState.entering_state(self, fromStack) + if (not fromStack) : + self.track = Track() + self.player = Player(self.game_mode) + self.score = Score(self.player) + #music_background.play(-1) + + def exiting_state(self, fromStack): + #music_background.stop() + self.next_state().clear_all() + self.next_state().add_htmltext( + _(""" <b>Felicidades</b>\n\nHas conseguido %d puntos""") % self.player.score, + color = (0, 255, 0, 0), + pos = (660, 260), + rectsize = (380, 390), + fontsize = 22, + font = "arial"); + + def input(self, ms): + events = pygame.event.get() + # Now the main event-processing loop + if events: + for event in events: + if event.type == pygame.QUIT: + self.set_running( False ) + elif event.type == pygame.KEYDOWN: + if event.key == pygame.K_ESCAPE: + self.set_running( False ) + elif event.key == pygame.K_LEFT or event.key == ord('a') or event.key == K_KP4 or event.key== K_KP7: + self.player.moveLeft() + elif event.key == pygame.K_RIGHT or event.key == ord('d') or event.key == K_KP6 or event.key== K_KP1: + self.player.moveRight() + elif event.key == pygame.K_DOWN or event.key == ord('s') or event.key == K_KP2 or event.key== K_KP3: + self.player.moveForward() + elif event.key == pygame.K_UP or event.key == ord('w') or event.key == K_KP8 or event.key== K_KP9: + self.player.moveBack() + + def simulation(self, ms): + self.player.update(ms) + offsety = self.player.getOffsetY() + if self.track.endOfTrack(offsety) : + self.go_to_next_state() + self.player.checkCollision(self.track) + + def pre_render(self, ms): + self.screen().fill( (110,183,251)) + usmpgames.ApplicationState.pre_render(self, ms) + + def render(self, ms): + offsety = self.player.getOffsetY() + if not self.track.endOfTrack(offsety) : + self.track.draw(self.screen(), offsety) + self.player.draw(self.screen()) + self.score.draw(self.screen()) |