Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/05/2010, 07:30
SamuraiBlanco
 
Fecha de Ingreso: marzo-2010
Ubicación: Mérida, Venezula
Mensajes: 73
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Ayuda con un juego en python trutle

Gracias razpetia. Muy amable en contestar. Al fin resolví con una caja de entrada y manejando los eventos de la misma con los métodos set y get. Ya resolví también el problema de movimiento de los jugadores. Aquí dejo el código. Ahorita estoy agregando las colisiones y los limites de la cacha.
Código Python:
Ver original
  1. #Pong por Francisco Palm y Victor Teran
  2. from turtle import *
  3. import time
  4.  
  5. class entorno(Turtle):
  6.     def __init__(self, pantalla, modo=None):
  7.         self.pantalla = Screen()
  8.         self.pelota = Turtle()
  9.         self.set_modo(modo)
  10.        
  11.        
  12.     def set_modo(self, value):
  13.         self._modo = int(numinput("Modo de Juego", "Presione 1 'modo vs PC' y 2 'modo vs amigo", 1, 1, 2)) 
  14.        
  15.     def get_modo(self):
  16.         return self._modo  
  17.    
  18.     def cargar_principal(self):
  19.         self.pantalla.setup(250,500)
  20.         self.pantalla.bgpic("cancha.gif")
  21.    
  22. class jugador(Turtle):
  23.    
  24.     def __init__(self, posi=None):
  25.         self.player = Turtle() 
  26.         self.set_posi(position)
  27.    
  28.     def set_posi(self, value):
  29.         self._position = self.player.pos() 
  30.    
  31.     def get_posi(self):
  32.         return self._position
  33.        
  34.     def ubicarse_abajo(self):  
  35.         #ubicarse
  36.         self.player.up()
  37.         self.player.shape("square")    
  38.         self.player.goto(0,-180)
  39.         #fin de ubicacion      
  40.        
  41.     def ubicarse_arriba(self):
  42.         #ubicarse
  43.         self.player.up()
  44.         self.player.shape("square")
  45.         self.player.goto(-80, 180)
  46.         #fin de ubicacion
  47.        
  48.     def izquierda(self):
  49.         vista = self.player.heading()
  50.         if not(vista == 180.0):
  51.             self.player.ht()
  52.             self.player.setheading(180)
  53.             self.player.st()
  54.             self.player.fd(8)      
  55.         else:
  56.             self.player.fd(8)  
  57.    
  58.        
  59.     def derecha(self):
  60.         vista = self.player.heading()
  61.         if not (vista == 0.0):
  62.             self.player.ht()
  63.             self.player.setheading(0.0)
  64.             self.player.st()
  65.             self.player.fd(8)
  66.         else:
  67.             self.player.fd(8)
  68.    
  69. def main():
  70.     V=entorno(Turtle)
  71.     V.cargar_principal()
  72.     J1=jugador()
  73.     J2=jugador()
  74.     J1.ubicarse_abajo()
  75.     J2.ubicarse_arriba()
  76.    
  77.        
  78.     if V.get_modo() == 1:
  79.        
  80.         onkey(J1.derecha,"Right")
  81.         onkey(J1.izquierda, "Left")
  82.         if J1.get_posi()==():
  83.         V.pantalla.listen()
  84.        
  85.     elif V.get_modo() == 2:
  86.        
  87.         onkey(J1.derecha,"Right")
  88.         onkey(J1.izquierda, "Left")
  89.         onkey(J2.derecha, "d")
  90.         onkey(J2.izquierda,"a")
  91.         V.pantalla.listen()
  92.                
  93.     return "EVENTLOOP"
  94.    
  95. if __name__=='__main__':
  96.     main()
  97.     mainloop()
  98.     pass

En caso de que lo quiera probar, comenten los set y get "posi" y la linea de la imagen posterior bgpic.