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()
|