Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/game1/collectgame.py
blob: 24ca67b7926f1acefe0e3aca606dda289ee9e18f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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())