Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlosC <ccarvallo@tecnopy.org>2013-01-29 04:49:30 (GMT)
committer CarlosC <ccarvallo@tecnopy.org>2013-01-29 04:49:30 (GMT)
commit6db2d26c52841a37ebe2920715689af973be257d (patch)
treeb0e98d4cb297088df5fc2e99d13d5b1d5e0ea934
parent832156e8f9a48afb3e016f02a6fb96306ab0de0c (diff)
reinicio de juego activado
-rwxr-xr-xexample.py78
1 files changed, 42 insertions, 36 deletions
diff --git a/example.py b/example.py
index 2d2aaa2..27e1e40 100755
--- a/example.py
+++ b/example.py
@@ -3,6 +3,8 @@ import gtk
import gobject
DELAY = 10
+WIDTH = 600
+HEIGHT = 600
class MyApp():
@@ -15,7 +17,7 @@ class MyApp():
self.vadjustment = gtk.Adjustment()
self.hadjustment = gtk.Adjustment()
- #asignacion de valores por defecto
+ #asignacion de valores por defecto del adjustment
self.vadjustment.set_upper(100)
self.vadjustment.set_value(0)
self.hadjustment.set_upper(100)
@@ -24,8 +26,7 @@ class MyApp():
#asignacion de propiedades de widgets
self.vslide = gtk.VScale(self.vadjustment)
self.hslide = gtk.HScale(self.hadjustment)
- self.vslide.set_digits(0)
- self.hslide.set_digits(0)
+ #propiedad para que no se muestre valor del slide
self.vslide.set_draw_value(False)
self.hslide.set_draw_value(False)
@@ -37,7 +38,7 @@ class MyApp():
#asignacion de variables de widgets
self.drawing_area = gtk.DrawingArea()
- self.drawing_area.set_size_request(600, 600)
+ self.drawing_area.set_size_request(WIDTH, HEIGHT)
#imagen de fondo
self.pixbuf = gtk.gdk.pixbuf_new_from_file('images/arco.jpg')
@@ -64,13 +65,25 @@ class MyApp():
#funcion que se activa al presionar cualquier tecla y pregunta sobre el estado de los indicadores
def __key_press_event_cb(self, window, event):
- gobject.timeout_add(DELAY, self.__vslider_move_cb)
- if self.indicator_x == 0:
+ if self.indicator_x == -1 and self.indicator_y == -1:
+ #print "estoy capturando el valor de H y muevo el Vertical"
+ self.capturar_valor_hslider_cb()
+ gobject.timeout_add(DELAY, self.__vslider_move_cb)
+ elif self.indicator_y == -1:
+ #print "estoy capturando el valor de V y dibujo la pelota"
self.capturar_valor_vslider_cb()
else:
- self.capturar_valor_hslider_cb()
-
+ #if self.indicator_x == 0 and self.indicator_y == 0:
+ #print "reinicio el juego"
+ self.increment_x = 1
+ self.increment_y = 1
+ self.indicator_x = -1
+ self.indicator_y = -1
+ gobject.timeout_add(DELAY, self.__hslider_move_cb)
+ self.hadjustment.value = 0
+ self.vadjustment.value = 0
+
#funcion que hace el loop de los valores del slider horizontal
def __hslider_move_cb(self):
if self.indicator_x < 0:
@@ -104,7 +117,7 @@ class MyApp():
self.hslide_value = self.hslide.get_value()
#convierte el valor de changed_value a int
- self.cv_x = (((int(self.hslide_value)) * 600) / 100)
+ self.cv_x = (((int(self.hslide_value)) * WIDTH) / 100)
#detener el slider
self.indicator_x = 0
@@ -119,39 +132,36 @@ class MyApp():
self.vslide_value = self.vslide.get_value()
#convierte el valor de changed_value a int
- self.cv_y = (((int(self.vslide_value)) * 600) / 100)
+ self.cv_y = (((int(self.vslide_value)) * HEIGHT) / 100)
- #invoca a la funcion que dibuja la pelota de acuerdo a los valores del slider
- self.draw_ball(self.cv_x,self.cv_y)
-
- #detener el slider
- self.indicator_y = 0
+ #self.dimensiones_arco()
- #impresion temporal de prueba
- #print self.cv_y
+ self.indicator_y = 0
- self.dimensiones_arco()
+ #invoca a la funcion que dibuja la pelota de acuerdo a los valores del slider
+ self.draw_ball(self.cv_x,self.cv_y)
#funcion que dibuja la pelota
def draw_ball(self, x, y):
+
+ #variables de las dimensiones de la pelota
c_x = x
c_y = y
- c_a = 70
- c_l = 70
+ c_a = c_l = 70
+
+ #dibujando la pelota con draw_arc
self.canvas.draw_arc(self.context, True, c_x, c_y, c_a, c_l, 0, 360*64)
- pi = 3.14159265
- r = 35
- area_pelota = pi * (r ** 2)
+
+ #pi = 3.14159265
+ #r = 35
+ #area_pelota = pi * (r ** 2)
#msg = "area pelota"
#print msg + "" + str(area_pelota)
- self.calculo_gol(c_x, c_y)
+ #funcion que calcula el gol
+ self.calculo_gol(c_x, c_y, c_a)
- def calculo_gol(self, c_x, c_y):
- if c_x > 58 and c_y > 144 and c_x < 58+507 and c_y < 144+324:
- print "gol"
-
- def dimensiones_arco(self):
+ def calculo_gol(self, c_x, c_y, c):
#Coordenadas del rectangulo del travesanho
t_x = 46
t_y = 133
@@ -162,13 +172,9 @@ class MyApp():
i_y = 144
i_a = 484
i_l = 324
- #Dibujo temporal de los rectangulos del travesanho y el interior
- self.travesanho = self.canvas.draw_rectangle(self.context, False, t_x, t_y, t_a, t_l)
- self.interior_arco = self.canvas.draw_rectangle(self.context, False, i_x, i_y, i_a, i_l)
- self.area_travesanho = t_l * t_a
- self.area_interior_arco = i_l * i_a
- #print self.area_travesanho
- #print self.area_interior_arco
+
+ if c_x+c > i_x and c_y+c > i_y and c_x+c < i_x+i_a and c_y+c < i_y+i_l:
+ print "gol"
def __configure_cb(self, drawing_area, data=None):
x, y, width, height = drawing_area.get_allocation()