En la 3ª Competición Preparatoria de CodedArena Challenge Tournament, vimos una de las primeras consecuencias de tener bots y no tenes un código adecuado en Python para seleccionar aliados y adversarios.

¡Eliminar a nuestro propio bot!

via GIPHY

La partida

Veamos el inicio de la partida, y comentamos la jugada.

Como acabamos de ver, uno de los personajes ha seleccionado de la lista mobs a su bot como adversario, con lo cual el bot Throm estaba siendo atacado por 3 adeversarios: los dos del otro equipo, y su propio aliado theter.

¿Qué sale en la consola de Actividad?

Pues las trazas de la consola de Actividad muestran lo que en efecto pasa: que el personaje Shadow escogió a su bot Throm como objetivo.

La solución

Recordemos que todos los personajes, como explicamos en el artículo ¡Llegaron los bots de soporte!, tienen una variable que identifica al equipo al que pertenecen, team_id.

Así pues, un código que quiera diferenciar entre aliados y adversarios debe contar con la comparación entre variables team_id.

for mob in mobs:
    if mob.team_id == self.team_id:
        # ALIADO
    else:
        # ADVERSARIO

Conclusiones

Como siempre, en las conclusiones, tratamos de ayudaros con algún consejo. En este caso, el propio artículo es el consejo: comprueba bien en los condicionales y con la lógica adecuada qué personaje está en el Equipo del tuyo, y cual no.

Así evitarás eliminar a tus aliados, o por lo menos no hacerles enfadar ;)


Si os ha gustado este artículo y queréis saber qué es CodedArena, no dudéis en poneros en contacto con nosotros.

También podéis seguirnos en nuestras redes sociales:

https://twitter.com/codedarena
https://instagram/codedarena
https://www.youtube.com/channel/UCAtK03JY5I_Egafhu-_dqOA
https://facebook.com/codedarena