Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/mathquwy.py
blob: 00fe615d64acbacadad2af98688eaee842c0f25c (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-

import pygame
import usmpgames
import olpcgames
import game1
import game2
import constants
from gettext import gettext as _

class MathQuwy(usmpgames.Application):
    
    def initialize(self):
        usmpgames.Application.initialize(self)
        size = constants.screen_size
        if olpcgames.ACTIVITY:
            size = olpcgames.ACTIVITY.game_size
        self.set_screen( pygame.display.set_mode( size )) 
        pygame.mouse.set_visible(False)

        # even numbers congratulations message
        background_congrats = pygame.transform.scale( pygame.image.load("data/backgrounds/congrats.jpg"), size)
        congrats = usmpgames.InfoState( None,  background_congrats )

        # even numbers game
        even_numbers_game = game1.collectgame.CollectGame( "pares",  congrats )
        odd_numbers_game = game1.collectgame.CollectGame( "impares",  congrats )

        # even numbers game state (tutorial)
        background_tutorial = pygame.transform.scale( pygame.image.load("data/backgrounds/tutorial.jpg"), size)
        even_numbers_tutorial = usmpgames.InfoState( even_numbers_game,  background_tutorial )
        even_numbers_tutorial.add_htmltext(
            _(""" <b>Instrucciones Juego Pares</b>\n\nSuma puntos cogiendo las frutas\ncon <b>números pares</b>.\n\nEvita tocar las frutas con <b>números\nimpares</b> o te restarán puntos.\n\nMueve al cuy Quwy con las fechas.\n\nEvita los peligros como el agua y\notros animales.\n\n<b>Pulsa una tecla para jugar</b>."""),
            color = (0, 255, 0, 0), 
            pos = (660, 260), 
            rectsize = (380, 390), 
            fontsize = 22, 
            font = "droidsans");
            
        # odd numbers game state (tutorial)
        odd_numbers_tutorial = usmpgames.InfoState( odd_numbers_game,  background_tutorial )
        odd_numbers_tutorial.add_htmltext(
            _(u""" <b>Instrucciones Juego Impares</b>\n\nSuma puntos cogiendo las frutas\ncon <b>números impares</b>.\n\nEvita tocar las frutas con <b>números\npares</b> o te restarán puntos.\n\nMueve al cuy Quwy con las fechas.\n\nEvita los peligros como el agua y\notros animales.\n\n<b>Pulsa una tecla para jugar</b>."""),
            color = (0, 255, 0, 0), 
            pos = (660, 260), 
            rectsize = (380, 390), 
            fontsize = 22, 
            font = "droidsans");
            
            
        # even numbers game
        add_game = game2.Game2( 1, congrats )

        # add numbers game state (tutorial)
        add_tutorial = usmpgames.InfoState( add_game,  background_tutorial )
        add_tutorial.add_htmltext(
            _(u""" <b>Instrucciones Juego Sumar</b>\n\nCalcula el resultado de la <b>suma</b>.\nSuma puntos cogiendo las frutas\ncon el resultado correcto de la suma.\n\nEvita tocar las frutas con resultados\nincorrectos o te restarán puntos.\n\nMueve al cuy Quwy a la izquierda\ny derecha con las fechas.\n\n<b>Pulsa una tecla para jugar</b>."""),
            color = (0, 255, 0, 0), 
            pos = (660, 260), 
            rectsize = (380, 390), 
            fontsize = 22, 
            font = "droidsans");

        # substract numbers game state (tutorial)
        substract_tutorial = usmpgames.InfoState( even_numbers_game,  background_tutorial )
        substract_tutorial.add_htmltext(
            _(u""" <b>Instrucciones Juego Restar</b>\n\nCalcula el resultado de la <b>resta</b>.\nSuma puntos cogiendo las frutas\ncon el resultado correcto de la resta.\n\nEvita tocar las frutas con resultados\nincorrectos o te restarán puntos.\n\nMueve al cuy Quwy a la izquierda\ny derecha con las fechas.\n\n<b>Pulsa una tecla para jugar</b>."""),
            color = (0, 255, 0, 0), 
            pos = (660, 260), 
            rectsize = (380, 390), 
            fontsize = 22, 
            font = "droidsans");

        # multiply numbers game state (tutorial)
        multiply_tutorial = usmpgames.InfoState( even_numbers_game,  background_tutorial )
        multiply_tutorial.add_htmltext(
            _(u""" <b>Instrucciones Juego Multiplicar</b>\n\nCalcula el resultado de la <b>multiplicación</b>.\nSuma puntos cogiendo las frutas\ncon el resultado correcto de la\nmultiplicación.\n\nEvita tocar las frutas con resultados\nincorrectos o te restarán puntos.\n\nMueve al cuy Quwy a la izquierda\ny derecha con las fechas.\n\n<b>Pulsa una tecla para jugar</b>."""),
            color = (0, 255, 0, 0), 
            pos = (660, 260), 
            rectsize = (380, 390), 
            fontsize = 22, 
            font = "droidsans");

        # multiply numbers game state (tutorial)
        count_tutorial = usmpgames.InfoState( even_numbers_game,  background_tutorial )
        count_tutorial.add_htmltext(
            _(""" <b>Instrucciones Juego Contar</b>\n\n<b>Cuenta</b> el número de animales.\nSuma puntos cogiendo las frutas\ncon el resultado correcto.\n\nEvita tocar las frutas con resultados\nincorrectos o te restarán puntos.\n\nMueve al cuy Quwy a la izquierda\ny derecha con las fechas.\n\n<b>Pulsa una tecla para jugar</b>."""),
             color = (0, 255, 0, 0), 
            pos = (660, 260), 
            rectsize = (380, 390), 
            fontsize = 22, 
            font = "droidsans");

        # credits
        credits = usmpgames.InfoState( None, background_tutorial )
        credits.add_htmltext(
            _(""" <b>Cr�ditos</b>\n\n<b>Programación realizada por</b>\nGrupo CIXOS-FIA\nUniversidad de San Martin de Porres\n\n<b>Gráficos realizados por\n</b>Área de Diseño Gráfico y Multimedia\nFIADATA"""),
            color = (0, 255, 0, 0), 
            pos = (660, 260), 
            rectsize = (380, 390), 
            fontsize = 22, 
            font = "droidsans");

        # menu state
        background_menu = pygame.transform.scale( pygame.image.load("data/backgrounds/menu.jpg"), size)
        main_menu = usmpgames.MenuState( background_menu )
        main_menu.add_menu_option(_("Pares"),  even_numbers_tutorial )
        main_menu.add_menu_option(_("Impares"),  odd_numbers_tutorial )
        main_menu.add_menu_option(_("Sumar"),  add_tutorial )
        main_menu.add_menu_option(_("Restar"),  substract_tutorial )
        main_menu.add_menu_option(_("Multiplicar"),  multiply_tutorial )
        main_menu.add_menu_option(_("Contar"),  count_tutorial )
        main_menu.add_menu_option(_("Créditos"),  credits )
        main_menu.add_menu_option(_("Salir"),  None )
        main_menu.pos = (750, 300)
        
        main_menu.add_htmltext(
            _(""" <color  255,0,0 >       Math Quwy\n   El Cuy Matemático</color>"""),
            color = (255, 255, 255, 0), 
            pos = (700, 190), 
            rectsize = (380, 390), 
            fontsize = 50);
        
        self.push_state( main_menu )
 
    def shutdown(self):
        pass

# game application
def main():
    game = MathQuwy()
    game.runLoop()

if __name__ == "__main__":
    main()