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