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#Pong por Francisco Palm y Victor Teran
from turtle import *
import time
class entorno(Turtle):
def __init__(self, pantalla, modo=None):
self.pantalla = Screen()
self.pelota = Turtle()
self.set_modo(modo)
def set_modo(self, value):
self._modo = int(numinput("Modo de Juego", "Presione 1 'modo vs PC' y 2 'modo vs amigo", 1, 1, 2))
def get_modo(self):
return self._modo
def cargar_principal(self):
self.pantalla.setup(250,500)
self.pantalla.bgpic("cancha.gif")
class jugador(Turtle):
def __init__(self, posi=None):
self.player = Turtle()
self.set_posi(position)
def set_posi(self, value):
self._position = self.player.pos()
def get_posi(self):
return self._position
def ubicarse_abajo(self):
#ubicarse
self.player.up()
self.player.shape("square")
self.player.goto(0,-180)
#fin de ubicacion
def ubicarse_arriba(self):
#ubicarse
self.player.up()
self.player.shape("square")
self.player.goto(-80, 180)
#fin de ubicacion
def izquierda(self):
vista = self.player.heading()
if not(vista == 180.0):
self.player.ht()
self.player.setheading(180)
self.player.st()
self.player.fd(8)
else:
self.player.fd(8)
def derecha(self):
vista = self.player.heading()
if not (vista == 0.0):
self.player.ht()
self.player.setheading(0.0)
self.player.st()
self.player.fd(8)
else:
self.player.fd(8)
def main():
V=entorno(Turtle)
V.cargar_principal()
J1=jugador()
J2=jugador()
J1.ubicarse_abajo()
J2.ubicarse_arriba()
if V.get_modo() == 1:
onkey(J1.derecha,"Right")
onkey(J1.izquierda, "Left")
if J1.get_posi()==():
V.pantalla.listen()
elif V.get_modo() == 2:
onkey(J1.derecha,"Right")
onkey(J1.izquierda, "Left")
onkey(J2.derecha, "d")
onkey(J2.izquierda,"a")
V.pantalla.listen()
return "EVENTLOOP"
if __name__=='__main__':
main()
mainloop()
pass
En caso de que lo quiera probar, comenten los set y get "posi" y la linea de la imagen posterior bgpic.