Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Main.py
blob: 1fa226805af9ebe8f519a36c617b851c6944d9d1 (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
# -*- coding: utf-8 -*-
import sys
sys.path.append('./generadores')
sys.path.append('./objetos')

from PuzzleRectangulos import PuzzleRectangulos
import pygame
from pygame.locals import *

import gtk

from Mensaje import Mensaje
from InputDialog import InputDialog

__author__ = "rodripf"
__date__ = "$25/01/2012 10:42:07 AM$"

class Main:
    def __init__(self):
        self.clock = pygame.time.Clock()
        self.iniciado = False
        self.img = ""

    def pc (self):
        pygame.display.init()
        self.display = pygame.display.set_mode((1024, 768))
        
    def iniciar(self):
        if not self.iniciado:
            self.surf = pygame.display.get_surface()
            if self.img != "":
                self.result = [0,0]
                def elegido(d):
                    self.result = d

                d = InputDialog()

                d.setListener((elegido,))

                print d.show("Eije el tamaƱo del puzzle", "Ancho", "")

                self.jugar(self.img, self.result)

        self.iniciado = True


    def jugar(self, imagen, size):
        img = pygame.image.load(imagen)

        g = PuzzleRectangulos(size, img)
        g.onCompletado.append(lambda: Mensaje("<b><big>Felicitaciones!</big></b>\n\nGanaste,\n has completado el puzzle :-)"))
        g.generar()
        g.entreverar()

        self.moviendo = False       

        while True:
            self.updGTK()
            self.clock.tick(30)

            for event in pygame.event.get():
                if event.type in (QUIT, KEYDOWN):
                    return
                elif event.type == 5: #clic
                    p = pygame.mouse.get_pressed()
                    print p
                    if p[0] == 1 and p[1] == 0 and p[2] == 0:
                        pos = pygame.mouse.get_pos()
                        self.sel = g.checkClic(pos)
                        
                        #para resetear el movimiento relativo
                        pygame.mouse.get_rel()

                        if self.sel != None:
                            self.moviendo = True
                elif event.type == 6:
                    if self.moviendo:
                        g.checkTablero(self.sel)
                        self.moviendo = False               

            if self.moviendo:
                g.mover(self.sel)

            rects = g.dibujar(self.surf)
            pygame.display.update(rects)

            

    def updGTK(self):
        while gtk.events_pending():
            gtk.main_iteration()



if __name__ == "__main__":
    m = Main()
    m.pc()
    m.iniciar()
    m.jugar()