Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pares.py
blob: 58b9c2a243989ff8cbe0de86533ef2119d298b45 (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
73
74
75
76
77
#Actividad Esquiador
#Archivo: run.py
#Descripcion: Clase que maneja eventos de esquiador
#
#! /usr/bin/env python
"""Skeleton project file mainloop for new OLPCGames users"""

import olpcgames, pygame, logging 
from skier import *
from track import *
from score import *
from constants import *

LOG_FILENAME='Esquiador.log'

log = logging.getLogger( 'EsquiadorRun' )
#log.setLevel( logging.DEBUG )

def mainPares():
    """The mainloop which is specified in the activity.py file
    
    "main" is the assumed function name
    """
    pygame.init()
    size = screen_size
    if olpcgames.ACTIVITY:
        size = olpcgames.ACTIVITY.game_size
    screen = pygame.display.set_mode(size)
    skier = Skier('pares')
    track = Track()
    score = Score(skier)
    
    clock = pygame.time.Clock()

#Inicio del bucle del juego
    running = True
    while running:

#Numero maximo de frames por segundo FPS
        milliseconds = clock.tick(50) # maximum number of frames per second

#Bucle administrador del evento con soporte para pausar despues  de x segundos (20 aqui)        
        # Event-management loop with support for pausing after X seconds (20 here)
        events = pygame.event.get()
        # Now the main event-processing loop
        if events:
            for event in events:
                log.debug( "Evento: %s", event )
                if event.type == pygame.QUIT:
                    running = False
                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE:
                        running = False
                    elif event.key == pygame.K_LEFT or event.key == ord('a') or event.key == K_KP4 or event.key== K_KP7:
                        skier.moveLeft()
                    elif event.key == pygame.K_RIGHT or event.key == ord('d') or event.key == K_KP6 or event.key== K_KP1:
                        skier.moveRight()
                    elif event.key == pygame.K_DOWN  or event.key == ord('s') or event.key == K_KP2 or event.key== K_KP3:
                        skier.moveForward()
                    elif event.key == pygame.K_UP or event.key == ord('w') or event.key == K_KP8 or event.key== K_KP9:
                        skier.moveBack()
#Simulacion
        # simulation
        skier.update(milliseconds)
        skier.checkCollision(track)

#Dibujar
        # draw
        screen.fill( (235,235,235))
        score.draw(screen)
        track.draw(screen, skier.getOffsetY())
        skier.draw(screen)
        pygame.display.flip()
        
if __name__ == "__main__":
    logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
    main()