Python Bots v1.0

Python Bots 1.0 es un juego de programacion en el cual deberemos crear desde 0 un bot utilizando el modulo gamefile del cual nos provee la aplicacion y lanzarlo a la batalla.
La API es muy sencilla de usar asi que paso a mostrarles algunas funciones que pueden usar para comenzar a construir sus propias maquinas.
Primero y antes que nada a descargar el juego.
DESCARGA: http://ufpr.dl.sourceforge.net/project/pythonrobocode/pythonbots-v1.zip
El bot requiere de la creacion de las siguientes funciones:
Código: Python
- name()
 - startDirection() #Opcional
 - color()
 - commands()
 - target_spotted(direction)
 
name() debera retornar el nombre de nuestro bot:
Código: Python
- def name():
 - return "[Q]3rV[0]"
 
color() obviamente nos pinta la carroceria
el formato va de la siguiente manera (0,0,0) al (255,255,255)
Como yo lo quiero negro
Código: Python
- def color():
 - return (0,0,0)
 
startDirection() es opcional y podremos indicarle en que posicion se encuntre le robot cuando el juego inicie.
Código: Python
- def startDirection():
 - return 90
 
commands() Sobre esta funcion se definiran las acciones que realizara nuestro robot.
Código: Python
- gamefile.robotHealth() #Retorna el valor de la salud del robot entre 1-82
 - gamefile.move(frames) #Se movera determinada cantidad de cuadros
 - gamefile.stop(frames) #Se parara cada tantos frames
 - gamefile.fire() #Para realizar disparos
 - gamefile.turn_left(grados) #Para girar tantos grados a la izquierda
 - gamefile.turn_right(grados) #Para girar tantos grados a la derecha
 - gamefile.done() #Este metodo es necesario ya que indica el final de bucle para que las demas acciones puedan seguir repitiendose.
 - gamefile.spinradar(direction) #Seteamos la direccion en la que girara el radar "RIGHT" o "LEFT"
 - gamefile.lockradar(TEXT) #Podemos especificar 3 opciones ("GUN" "FREE" "BASE")
 
target_spotted(direction)
Con esta funcion manejaremos el radar de nuestro tanquesito. Cuando un blanco es detectado por este, la funcion es llamada.
gamefile.pointgun(direction)
Código: Python
- def target_spotted(direction):
 - gamefile.pointgun(direction)
 
Para culminar les dejo el motor de un bot que arme, junto con un video de muestra.
Código: Python
- import gamefile
 - def name():
 - return "[Q]3rV[0]"
 - def colour():
 - return (0, 0, 0)
 - def commands():
 - gamefile.spinradar("FREE")
 - gamefile.lockradar("FREE")
 - gamefile.move(200)
 - gamefile.fire()
 - gamefile.turn_left(100)
 - gamefile.fire()
 - gamefile.move(300)
 - gamefile.fire()
 - gamefile.turn_left(100)
 - gamefile.fire()
 - gamefile.done()
 - if gamefile.robotHealth() < 41:
 - gamefile.move(200)
 - gamefile.fire()
 - gamefile.turn_right(100)
 - gamefile.fire()
 - gamefile.move(300)
 - gamefile.fire()
 - gamefile.turn_right(100)
 - gamefile.fire()
 - gamefile.done()
 - def target_spotted(direction):
 - gamefile.pointgun((direction)*1.4)
 - gamefile.fire()
 - gamefile.fire()
 - gamefile.fire()
 
