Optimizador de rol para jugadores de lol por medio de árbol
binario y algoritmo
Introducción.
A la hora de empezar a jugar el MOBA lol (league of legends) [1], se tienen que aprender normas básicas a la hora de jugar como que rol y qué tipo de campeón jugar, sin tener estos conocimientos previos a la hora de jugar es muy probable que pierdas en tus partidas, además de no poder disfrutar del juego y ser criticado por los demás jugadores (debido a su toxica comunidad).
Evidentemente en los videojuegos a veces se gana y a veces se pierde, pero teniendo ya la experiencia y buenas decisiones se podrá aumentar la probabilidad de salir victorioso en las partidas.
Propuesta del proyecto
Optimizador de rol y tipo de personaje en lol
Como ya se menciono antes, tienes que escoger un rol y un tipo de campeón en league of legends, pero como sabrás que usar? debido a que hay más de 100 personajes que escoger, todos con sus diversas mecánicas.
Por eso este algoritmo servirá para tener en cuenta que tipo de jugador eres te ayudará a escoger un rol y tipo de campeón usar.
Este tipo de algoritmo también se puede usar para otros fines, como, por ejemplo; optimizar equipos de trabajo en una empresa dependiendo de las virtudes y defectos de cada persona así optimizando y mejorando su rendimiento, pero debido a que ya me decidí por el tema seguiré presentándolo como tal.
El algoritmo consiste en una serie de preguntas básicas que dependiendo lo que contestes se podrá dar con un rol y un tipo de campeón.
Para representarlo se utilizará un árbol binario con todos los recorridos posibles para tener un mejor entendimiento del algoritmo
Revisión de literatura
IF significa SI [2] (condicional) en español, Su funcionamiento es simple: se evalúa una condición, si es verdadera ejecuta un código, si es falsa, ejecuta otro código (o continúa con la ejecución del programa).
Algoritmo: Se denomina algoritmo [3] a un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema. Se trata de una serie de instrucciones o reglas establecidas que, por medio de una sucesión de pasos, permiten arribar a un resultado o solución.
Según los expertos en matemática, los algoritmos permiten trabajar a partir de un estado básico o inicial y, tras seguir los pasos propuestos, llegar a una solución. Cabe resaltar que, si bien los algoritmos suelen estar asociados al ámbito matemático (ya que permiten, por citar casos concretos, averiguar el cociente entre un par de dígitos o determinar cuál es el máximo común divisor entre dos cifras pertenecientes al grupo de los enteros), aunque no siempre implican la presencia de números.
Árboles binarios: Un árbol binario [4] es un conjunto finito de elementos, el cual está vacío o dividido en tres subconjuntos separados:
• El primer subconjunto contiene un elemento único llamado raíz del árbol.
• El segundo subconjunto es en sí mismo un árbol binario y se le conoce como subárbol izquierdo del árbol original.
• El tercer subconjunto es también un árbol binario y se le conoce como subárbol derecho del árbol original. El subárbol izquierdo o derecho puede o no estar vacío. Cada elemento de un árbol binario se conoce como nodo del árbol.
Optimizador de rol para jugadores de lol por medio de árboles
binario y algoritmo
Para un mayor entendimiento de la siguiente explicación, favor de entrar al siguiente link: [5]
Para este algoritmo para su mejor comprensión se uso lenguaje c en el programa dev c++ usando el comando IF para la toma de decisiones a la hora de contestar ejemplo.
Se pregunta “eres agresivo” para dar comienzo al algoritmo, se usa una variable en este caso la “a” para guardar la respuesta; después se usa la condición if para la continuar dependiendo de tu decisión.
Y básicamente así es todo el programa, pese a que es más laborioso, creo que es mas entendible para personas que empiezan a programar ya que if es una básica condición en lenguaje c.
El algoritmo por así decirlo ya está el 50% explicado pero falta un detalle:
Se usa la condición else que podría decirse que es de lo contrario para así responder de las dos formas.
Pero qué pasa con los demás if que están más arriba ya que el programa están puros if pero solo un else?
Esa pregunta se responde gracias a las llaves; ya que son la clave para no revolverse, si pueden observar en el video, hay una llave cerrándose, lo cual el else se aplicaría ahí, y para las demás sería lo mismo, buscar la llave donde se cerró el if de esa pregunta y poner su respectivo else.
Instancias con datos verdaderos
A continuación se les dará un registro de 3 partidas a dos compañeros en las que pusimos a jugar sin conocimiento del carril ni rol de juego; y este fue el resultado:
Como podrán observar mis dos compañeros perdieron en las 3 partidas y viendo sus estadísticas podremos observar el KDA (kills,deaths,assist) por sus siglas en ingles), su desempeño en la partida, si bien en algunas partidas se ve una mejora, no debemos de olvidar que es un juego de equipo.
Implementación
Para ver la implementación favor de entrar a este link: [6]
Evaluación
La efectividad de este programa es de un mínimo entre 80% y que el otro 20% se aprende con la experiencia al jugar dicho juego, el algoritmo habla de los 5 roles del juego y los tipos de campeones lo cual abarca casi todo, ya es cuestión de tipo de persona que es para que el algoritmo le dé una respuesta clara
También con el árbol binario [7] se podrán observar todas las rutas y respuestas posibles por el código ya presentado.
Bibliografías
[1] Riot games official league of legends (2009) https://play.lan.leagueoflegends.com/es_MX
[2] Leandro Alegsa. (mayo 17, 2018). Definición de IF (programación). http://www.alegsa.com.ar/Dic/if.php, de alegsa.ar
[3] Julián Pérez Porto y María Merino. Publicado: 2010. Actualizado: 2012. Definicion.de: Definición de algoritmo (https://definicion.de/algoritmo/)
[4] Rodriguez Ricardo Arboles Binarios obtenido de http://www.utm.mx/~rruiz/cursos/ED/material/ABB.pdf
[5] Albino Rodriguez explicación del algoritmo https://youtu.be/1r2OHnWpOMY
[6] Albino Rodriguez implementación (ejemplo de algoritmo) obtenido de https://youtu.be/fwdyXBsjRAI
[7] Albino Rodriguez árbol binario obtenido de
https://drive.google.com/file/d/12WvJQhTw-mV3_kknRRcrnvKstY37C-RZ/view?usp=sharing