[{"data":1,"prerenderedAt":665},["ShallowReactive",2],{"navigation_docs":3,"-actividades-act-11":412,"-actividades-act-11-surround":661},[4,18,43,118,160,200,231,320,346],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Evaluación","\u002Fintroduction","1.introduction\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Método de Evaluación","i-iconamoon-cheque-bold",{"title":13,"path":14,"stem":15,"icon":16},"Plataforma de Aprendizaje","\u002Fintroduction\u002Fplataforma","1.introduction\u002F2.plataforma","i-lucide-book-marked","i-lucide-house",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":42},"Entorno de desarrollo","i-codicon-edit-code","\u002Fide","2.ide",[24,28,33,37],{"title":25,"path":26,"stem":27,"icon":20},"¿Qué es un IDE?","\u002Fide\u002Fentorno","2.ide\u002F1.entorno",{"title":29,"path":30,"stem":31,"icon":32},"Estructura de un Proyecto","\u002Fide\u002Festructura","2.ide\u002F2.estructura","i-clarity-tree-view-line",{"title":34,"path":35,"stem":36,"icon":20},"La compilación en un IDE","\u002Fide\u002Fcompilacion","2.ide\u002F3.compilacion",{"title":38,"path":39,"stem":40,"icon":41},"Depuración de Código","\u002Fide\u002Fdepurar","2.ide\u002F4.depurar","i-lucide-bug",false,{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":42},"Clases y Objetos","i-catppuccin-java-class","\u002Fclases-objetos","3.clases-objetos",[49,53,57,62,66,70,74,78,83,88,92,96,101,106,110,114],{"title":50,"path":51,"stem":52},"Repaso previo a Clases y Objetos","\u002Fclases-objetos\u002Fpreview","3.clases-objetos\u002F00.preview",{"title":54,"path":55,"stem":56,"icon":45},"¿Qué es la Programación Orientada a Objetos (POO)?","\u002Fclases-objetos\u002Fpoo","3.clases-objetos\u002F01.poo",{"title":58,"path":59,"stem":60,"icon":61},"Diagramas de Clases y Objetos","\u002Fclases-objetos\u002Fdiagramas","3.clases-objetos\u002F02.diagramas","i-devicon-uml",{"title":63,"path":64,"stem":65,"icon":45},"Las Clases","\u002Fclases-objetos\u002Fclases","3.clases-objetos\u002F03.clases",{"title":67,"path":68,"stem":69,"icon":45},"Ámbito y Visibilidad","\u002Fclases-objetos\u002Fambito","3.clases-objetos\u002F04.ambito",{"title":71,"path":72,"stem":73,"icon":45},"Declaración e Instanciación de Objetos","\u002Fclases-objetos\u002Fobjetos","3.clases-objetos\u002F05.objetos",{"title":75,"path":76,"stem":77,"icon":45},"Clases Predefinidas en Java","\u002Fclases-objetos\u002Fpredefinidas","3.clases-objetos\u002F06.predefinidas",{"title":79,"path":80,"stem":81,"icon":82},"Paquetes en Java","\u002Fclases-objetos\u002Fpaquetes","3.clases-objetos\u002F07.paquetes","i-material-icon-theme-folder-java-open",{"title":84,"path":85,"stem":86,"icon":87},"Las Excepciones","\u002Fclases-objetos\u002Fexcepciones","3.clases-objetos\u002F08.excepciones","i-catppuccin-java-exception",{"title":89,"path":90,"stem":91,"icon":45},"La clase JOptionPane","\u002Fclases-objetos\u002Fjoptionpane","3.clases-objetos\u002F09.joptionpane",{"title":93,"path":94,"stem":95,"icon":45},"Constructores y Accesores","\u002Fclases-objetos\u002Fconstructores","3.clases-objetos\u002F10.constructores",{"title":97,"path":98,"stem":99,"icon":100},"Tipos Enumerados (Enums)","\u002Fclases-objetos\u002Fenumerados","3.clases-objetos\u002F11.enumerados","i-catppuccin-java-enum",{"title":102,"path":103,"stem":104,"icon":105},"Modificadores de acceso static y final","\u002Fclases-objetos\u002Fmodificadores","3.clases-objetos\u002F12.modificadores","i-mdi-chart-box",{"title":107,"path":108,"stem":109,"icon":105},"El casting en Java","\u002Fclases-objetos\u002Fcasting","3.clases-objetos\u002F13.casting",{"title":111,"path":112,"stem":113},"Las Expresiones Regulares","\u002Fclases-objetos\u002Fexpresiones-regulares","3.clases-objetos\u002F14.expresiones-regulares",{"title":115,"path":116,"stem":117,"icon":105},"Clases Genéricas en Java","\u002Fclases-objetos\u002Fclases-genericas","3.clases-objetos\u002F15.clases-genericas",{"title":119,"icon":120,"path":121,"stem":122,"children":123,"page":42},"Funciones (Métodos)","i-material-symbols-function","\u002Fmetodos","4.metodos",[124,128,132,136,140,144,148,152,156],{"title":125,"path":126,"stem":127},"Funciones Genéricas","\u002Fmetodos\u002Ffuncion-generica","4.metodos\u002F01.funcion-generica",{"title":129,"path":130,"stem":131},"Métodos de Instancia y de Clase","\u002Fmetodos\u002Finstancia-clase","4.metodos\u002F02.instancia-clase",{"title":133,"path":134,"stem":135},"Sobrecarga de Funciones","\u002Fmetodos\u002Fsobrecarga","4.metodos\u002F03.sobrecarga",{"title":137,"path":138,"stem":139},"Alcance de Variables y Métodos","\u002Fmetodos\u002Falcance","4.metodos\u002F04.alcance",{"title":141,"path":142,"stem":143},"Recursividad","\u002Fmetodos\u002Frecursividad","4.metodos\u002F05.recursividad",{"title":145,"path":146,"stem":147},"Puntero this","\u002Fmetodos\u002Fthis","4.metodos\u002F06.this",{"title":149,"path":150,"stem":151},"Los argumentos variables (varargs)","\u002Fmetodos\u002Fvarargs","4.metodos\u002F07.varargs",{"title":153,"path":154,"stem":155},"La clase Arrays","\u002Fmetodos\u002Farrays","4.metodos\u002F08.arrays",{"title":157,"path":158,"stem":159},"Predicados Simples y Compuestos en Java","\u002Fmetodos\u002Fpredicados","4.metodos\u002F09.predicados",{"title":161,"path":162,"stem":163,"children":164,"icon":199},"Herencia","\u002Fherencia","5.herencia\u002F01.index",[165,167,171,175,179,183,187,191,195],{"title":166,"path":162,"stem":163},"¿Qué es la herencia?",{"title":168,"path":169,"stem":170},"Sobreescritura de métodos y uso de `super`","\u002Fherencia\u002Fsobeescritura","5.herencia\u002F02.sobeescritura",{"title":172,"path":173,"stem":174},"Tipos de herencia","\u002Fherencia\u002Ftipos-herencia","5.herencia\u002F03.tipos-herencia",{"title":176,"path":177,"stem":178},"La clase Object en Java","\u002Fherencia\u002Fobject","5.herencia\u002F04.object",{"title":180,"path":181,"stem":182},"Polimorfismo","\u002Fherencia\u002Fpolimorfismo","5.herencia\u002F05.polimorfismo",{"title":184,"path":185,"stem":186},"Clases y Funciones Abstractas","\u002Fherencia\u002Fabstract","5.herencia\u002F06.abstract",{"title":188,"path":189,"stem":190},"Interfaces","\u002Fherencia\u002Finterfaces","5.herencia\u002F07.interfaces",{"title":192,"path":193,"stem":194},"Funciones e Interfaces","\u002Fherencia\u002Ffunciones-interfaces","5.herencia\u002F08.funciones-interfaces",{"title":196,"path":197,"stem":198},"Interfaces y Funciones Lambda","\u002Fherencia\u002Flambda-interface","5.herencia\u002F09.lambda-interface","i-material-symbols-heritage",{"title":201,"path":202,"stem":203,"children":204,"icon":199},"Arreglos","\u002Farreglos","6.arreglos\u002F01.index",[205,207,211,215,219,223,227],{"title":206,"path":202,"stem":203},"Los arreglos en Java",{"title":208,"path":209,"stem":210},"Los arreglos","\u002Farreglos\u002Farray","6.arreglos\u002F02.array",{"title":212,"path":213,"stem":214},"Matrices","\u002Farreglos\u002Fmatrices","6.arreglos\u002F03.matrices",{"title":216,"path":217,"stem":218},"Comparadores","\u002Farreglos\u002Fcomparator","6.arreglos\u002F04.comparator",{"title":220,"path":221,"stem":222},"Arreglos dinámicos: ArrayList","\u002Farreglos\u002Farraylist","6.arreglos\u002F05.arraylist",{"title":224,"path":225,"stem":226},"Arreglos Relacionales: HashMap","\u002Farreglos\u002Fhashmap","6.arreglos\u002F06.hashmap",{"title":228,"path":229,"stem":230},"La clase Stream en Java","\u002Farreglos\u002Fstream","6.arreglos\u002F07.stream",{"title":232,"icon":199,"path":233,"stem":234,"children":235,"page":42},"Archivos e Interfaz de Usuario","\u002Farchivos-ui","7.archivos-ui",[236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":237,"path":238,"stem":239},"El paquete Swing","\u002Farchivos-ui\u002Fswing","7.archivos-ui\u002F01.swing",{"title":241,"path":242,"stem":243},"La clase JFrame y el JPanel","\u002Farchivos-ui\u002Fjpanel","7.archivos-ui\u002F02.jpanel",{"title":245,"path":246,"stem":247},"Los Layouts en Swing","\u002Farchivos-ui\u002Flayout","7.archivos-ui\u002F03.layout",{"title":249,"path":250,"stem":251},"Iniciando con Swing","\u002Farchivos-ui\u002Finiciando","7.archivos-ui\u002F04.iniciando",{"title":253,"path":254,"stem":255},"Las clases Color y Font en Swing","\u002Farchivos-ui\u002Fcolor-font","7.archivos-ui\u002F05.color-font",{"title":257,"path":258,"stem":259},"Etiquetas en Swing","\u002Farchivos-ui\u002Fetiquetas","7.archivos-ui\u002F06.etiquetas",{"title":261,"path":262,"stem":263},"Personalizando la apariencia de los componentes en Swing","\u002Farchivos-ui\u002Fpersonalizando","7.archivos-ui\u002F07.personalizando",{"title":265,"path":266,"stem":267},"Sobrescribiendo el método drawComponent() en Swing","\u002Farchivos-ui\u002Fdraw","7.archivos-ui\u002F08.draw",{"title":269,"path":270,"stem":271},"Manejando eventos en Swing","\u002Farchivos-ui\u002Feventos","7.archivos-ui\u002F09.eventos",{"title":273,"path":274,"stem":275},"Personalización de Componentes mediante la Extensión de Clases en Swing","\u002Farchivos-ui\u002Fextends-component","7.archivos-ui\u002F10.extends-component",{"title":277,"path":278,"stem":279},"Gradientes","\u002Farchivos-ui\u002Fgradientes","7.archivos-ui\u002F11.gradientes",{"title":281,"path":282,"stem":283},"Botones en Swing","\u002Farchivos-ui\u002Fbotones","7.archivos-ui\u002F12.botones",{"title":285,"path":286,"stem":287},"Los delegadores en Swing","\u002Farchivos-ui\u002Fdelegadores","7.archivos-ui\u002F13.delegadores",{"title":289,"path":290,"stem":291},"UI para nuestro RPG: Parte 1","\u002Farchivos-ui\u002Frpg-ui-1","7.archivos-ui\u002F14.rpg-ui-1",{"title":293,"path":294,"stem":295},"UI para nuestro RPG: Parte 2","\u002Farchivos-ui\u002Frpg-ui-2","7.archivos-ui\u002F15.rpg-ui-2",{"title":297,"path":298,"stem":299},"Los Streams Entrada y Salida","\u002Farchivos-ui\u002Fstreams","7.archivos-ui\u002F16.streams",{"title":301,"path":302,"stem":303},"Archivo tipo Objeto","\u002Farchivos-ui\u002Farchivo-objeto","7.archivos-ui\u002F17.archivo-objeto",{"title":305,"path":306,"stem":307},"UI para nuestro RPG: Parte 3","\u002Farchivos-ui\u002Frpg-ui-3","7.archivos-ui\u002F18.rpg-ui-3",{"title":309,"path":310,"stem":311},"UI para nuestro RPG: Parte 4","\u002Farchivos-ui\u002Frpg-ui-4","7.archivos-ui\u002F19.rpg-ui-4",{"title":313,"path":314,"stem":315},"UI para nuestro RPG: Parte 5","\u002Farchivos-ui\u002Frpg-ui-5","7.archivos-ui\u002F20.rpg-ui-5",{"title":317,"path":318,"stem":319},"UI para nuestro RPG: Parte 6","\u002Farchivos-ui\u002Frpg-ui-6","7.archivos-ui\u002F21.rpg-ui-6",{"title":321,"icon":322,"path":323,"stem":324,"children":325,"page":42},"Ejemplos","i-check-circle","\u002Fejemplos","8.ejemplos",[326,330,334,338,342],{"title":327,"path":328,"stem":329,"icon":105},"Ejemplo 1: Validando entradas con JOptionPane","\u002Fejemplos\u002Fejemplo-01","8.ejemplos\u002F01.ejemplo-01",{"title":331,"path":332,"stem":333},"Ejemplo 02: Uso de clases genéricas en Java","\u002Fejemplos\u002Fejemplo-02","8.ejemplos\u002F02.ejemplo-02",{"title":335,"path":336,"stem":337},"Ejemplo 03: Uso de Enum, Excepciones en Java","\u002Fejemplos\u002Fejemplo-03","8.ejemplos\u002F03.ejemplo-03",{"title":339,"path":340,"stem":341},"Ejemplo 4: Clase con funciones genéricas de validación","\u002Fejemplos\u002Fejemplo-04","8.ejemplos\u002F04.ejemplo-04",{"title":343,"path":344,"stem":345},"Ejemplo 5: Sistema de Gestión de Empleados","\u002Fejemplos\u002Fejemplo-05","8.ejemplos\u002F05.ejemplo-05",{"title":347,"icon":322,"path":348,"stem":349,"children":350,"page":42},"Actividades","\u002Factividades","9.actividades",[351,355,360,364,368,372,376,380,384,388,392,396,400,404,408],{"title":352,"path":353,"stem":354,"icon":105},"Actividad 1: Infografía sobre el proceso de compilación","\u002Factividades\u002Fact-01","9.actividades\u002F01.act-01",{"title":356,"path":357,"stem":358,"icon":359},"Actividad 2: Modelando Diagramas de Clases UML","\u002Factividades\u002Fact-02","9.actividades\u002F02.act-02","i-material-icon-theme-uml",{"title":361,"path":362,"stem":363,"icon":45},"Actividad 3: Creando Clases y Objetos en Java","\u002Factividades\u002Fact-03","9.actividades\u002F03.act-03",{"title":365,"path":366,"stem":367},"Actividad 4: Validando entradas de datos","\u002Factividades\u002Fact-04","9.actividades\u002F04.act-04",{"title":369,"path":370,"stem":371,"icon":105},"Actividad 5: Implementando una clase genérica","\u002Factividades\u002Fact-05","9.actividades\u002F05.act-05",{"title":373,"path":374,"stem":375,"icon":105},"Actividad 6: Expandiendo InputValidator con Predicados y Function","\u002Factividades\u002Fact-06","9.actividades\u002F06.act-06",{"title":377,"path":378,"stem":379,"icon":105},"Actividad 7: Gestor de Biblioteca con InputValidator","\u002Factividades\u002Fact-07","9.actividades\u002F07.act-07",{"title":381,"path":382,"stem":383,"icon":105},"Actividad 8: Calculadora de Figuras Geométricas","\u002Factividades\u002Fact-08","9.actividades\u002F08.act-08",{"title":385,"path":386,"stem":387,"icon":105},"Actividad 9: gestión de una empresa agroalimentaria","\u002Factividades\u002Fact-09","9.actividades\u002F09.act-09",{"title":389,"path":390,"stem":391,"icon":105},"Actividad 10: Sistema de gestión de clínicas veterinarias","\u002Factividades\u002Fact-10","9.actividades\u002F10.act-10",{"title":393,"path":394,"stem":395},"Definición de Proyecto Evolutivo","\u002Factividades\u002Frpg","9.actividades\u002F11.rpg",{"title":397,"path":398,"stem":399},"Actividad 11: Creación de Personajes","\u002Factividades\u002Fact-11","9.actividades\u002F12.act-11",{"title":401,"path":402,"stem":403},"Actividad 12: El Inventario y los Objetos","\u002Factividades\u002Fact-12","9.actividades\u002F13.act-12",{"title":405,"path":406,"stem":407},"Actividad 13: El combate por turnos","\u002Factividades\u002Fact-13","9.actividades\u002F14.act-13",{"title":409,"path":410,"stem":411},"Actividad 14: Guardando y Cargando","\u002Factividades\u002Fact-14","9.actividades\u002F15.act-14",{"id":413,"title":397,"body":414,"description":654,"extension":655,"links":656,"meta":657,"navigation":658,"path":398,"seo":659,"stem":399,"__hash__":660},"docs\u002F9.actividades\u002F12.act-11.md",{"type":415,"value":416,"toc":645},"minimark",[417,422,426,430,435,439,528,532,535,539,542,568,572,575,642],[418,419,421],"h2",{"id":420},"qué-haremos","¿Qué haremos?",[423,424,425],"p",{},"En este primer incremento, nos enfocaremos en la implementación de la funcionalidad de creación de personajes. Esto incluirá la definición de las clases y atributos necesarios para representar a los personajes, así como la implementación de una interfaz gráfica básica para permitir a los jugadores crear sus personajes.",[418,427,429],{"id":428},"diagrama-de-clases","Diagrama de clases",[431,432],"mermaid",{":config":433,"code":434},"config","---%0Atitle%3A%20Diagrama%20de%20Clases%20para%20la%20Creaci%C3%B3n%20de%20Personajes%0A---%0AclassDiagram%0A%20%20%20%20class%20Stats%20%7B%0A%20%20%20%20%20%20%20%20%3C%3Cenumeration%3E%3E%0A%20%20%20%20%20%20%20%20STR%0A%20%20%20%20%20%20%20%20AGI%0A%20%20%20%20%20%20%20%20INT%0A%20%20%20%20%20%20%20%20VIT%0A%20%20%20%20%20%20%20%20DEX%0A%20%20%20%20%7D%0A%20%20%20%20class%20GameCharacter%20%7B%0A%20%20%20%20%20%20%20%20%3C%3Cabstract%3E%3E%0A%20%20%20%20%20%20%20%20%23name%3A%20String%0A%20%20%20%20%20%20%20%20%23stats%3A%20Map%3CStats%2C%20Integer%3E%0A%20%20%20%20%20%20%20%20%23level%3A%20Integer%0A%20%20%20%20%20%20%20%20%23specialAbilities%3A%20List%3CString%3E%0A%20%20%20%20%20%20%20%20%2BshowStats()%3A%20void%0A%20%20%20%20%20%20%20%20%2Battack(target%3A%20GameCharacter)%3A%20void*%0A%20%20%20%20%20%20%20%20%2BreceiveDamage(origin%3A%20GameCharacter)%3A%20void*%0A%20%20%20%20%7D%0A%20%20%20%20class%20PlayerCharacter%20%7B%0A%20%20%20%20%20%20%20%20%23experience%3A%20Integer%0A%20%20%20%20%20%20%20%20%23skills%3A%20String%5B%5D%0A%20%20%20%20%20%20%20%20%2BlevelUp()%3A%20void*%0A%20%20%20%20%20%20%20%20%2BaddSpecialAbility(ability%3A%20String)%3A%20void%0A%20%20%20%20%20%20%20%20%2BremoveSpecialAbility(ability%3A%20String)%3A%20void%0A%20%20%20%20%7D%0A%20%20%20%20class%20Warrior%20%7B%0A%20%20%20%20%20%20%20%20%2BlevelUp()%3A%20void%0A%20%20%20%20%7D%0A%20%20%20%20class%20Mage%20%7B%0A%20%20%20%20%20%20%20%20%2BlevelUp()%3A%20void%0A%20%20%20%20%7D%0A%20%20%20%20class%20EnemyCharacter%20%7B%0A%20%20%20%20%20%20%20%20%23difficultyLevel%3A%20String%0A%20%20%20%20%20%20%20%20%23skills%3A%20String%5B%5D%0A%20%20%20%20%20%20%20%20%2BadjustStats(playerLevel%3A%20Integer)%3A%20void*%0A%20%20%20%20%20%20%20%20%2BactivateSpecialAbility()%3A%20void*%0A%20%20%20%20%7D%0A%20%20%20%20class%20Goblin%20%7B%0A%20%20%20%20%20%20%20%20%2BadjustStats(playerLevel%3A%20Integer)%3A%20void%0A%20%20%20%20%20%20%20%20%2BactivateSpecialAbility()%3A%20void%0A%20%20%20%20%7D%0A%20%20%20%20class%20Orc%20%7B%0A%20%20%20%20%20%20%20%20%2BadjustStats(playerLevel%3A%20Integer)%3A%20void%0A%20%20%20%20%20%20%20%20%2BactivateSpecialAbility()%3A%20void%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20GameCharacter%20%3C%7C--%20PlayerCharacter%0A%20%20%20%20PlayerCharacter%20%3C%7C--%20Warrior%0A%20%20%20%20PlayerCharacter%20%3C%7C--%20Mage%0A%20%20%20%20GameCharacter%20%3C%7C--%20EnemyCharacter%0A%20%20%20%20EnemyCharacter%20%3C%7C--%20Goblin%0A%20%20%20%20EnemyCharacter%20%3C%7C--%20Orc",[418,436,438],{"id":437},"requisitos","Requisitos",[440,441,442,450,480,500,522],"ol",{},[443,444,445,449],"li",{},[446,447,448],"strong",{},"Definir el enumerado de statísticas",": Crea un enumerado que contenga las estadísticas básicas de los personajes, como fuerza, agilidad, inteligencia, etc.",[443,451,452,455,456,460,461],{},[446,453,454],{},"Crear la clase Personaje",": Define una clase ",[457,458,459],"code",{},"GameCharacter"," que tenga atributos para el nombre del personaje, un arreglo relacional para almacenar las estadísticas, y métodos para modificar estas estadísticas.\n",[462,463,464,470,475],"ul",{},[443,465,466,467,469],{},"La clase ",[457,468,459],{}," debe incluir un método para mostrar las estadísticas actuales del personaje, incluyendo su nivel, clase, y habilidades especiales, puede o no ser sobrescrito por las clases hijas, todo dependerá de tu criterio de diseño.",[443,471,466,472,474],{},[457,473,459],{}," debe incluir un método para atacar a otro personaje, que calcule el daño basado en las estadísticas del personaje atacante y defensor, y que tenga en cuenta las habilidades especiales y el equipo equipado.",[443,476,466,477,479],{},[457,478,459],{}," debe incluir un método para recibir daño, que reduzca las estadísticas del personaje defensor de acuerdo al daño recibido, y que tenga en cuenta las habilidades especiales y el equipo equipado.",[443,481,482,485,486,488,489],{},[446,483,484],{},"Crear el arbol de Clases",": Define una jerarquía de al menos cuatro clases que hereden de ",[457,487,459],{},", representando diferentes tipos de personajes (por ejemplo, Guerrero, Mago, Arquero, etc.).\n",[462,490,491,494,497],{},[443,492,493],{},"Cada clase hija debe incluir un método para subir de nivel, que aumente las estadísticas del personaje de acuerdo a su clase y nivel actual, así mismo deberá definirse los requisitos para subir de nivel, como la cantidad de experiencia necesaria y las bonificaciones que se otorgan al subir de nivel.",[443,495,496],{},"Cada clase hija debe tener atributos y métodos específicos que reflejen las características únicas de ese tipo de personaje, como habilidades especiales o bonificaciones a ciertas estadísticas tanto cuando se crean, como cuando suben de nivel.",[443,498,499],{},"Cada clase hija debe de incluir un arreglo para almacenar 5 habilidades especiales como máximo, y un método para agregar o eliminar habilidades de ese arreglo.",[443,501,502,485,505,507,508],{},[446,503,504],{},"Crear el arbol de Enemigos",[457,506,459],{},", representando diferentes tipos de enemigos (por ejemplo, Goblin, Orco, Dragón, etc.).\n",[462,509,510,513,516,519],{},[443,511,512],{},"Cada clase hija debe incluir un conjunto base de estadísticas para ese tipo de enemigo, que refleje sus características únicas y su nivel de dificultad. Estas estadísticas pueden ser diferentes a las de los personajes, y deben ser adecuadas para el tipo de enemigo que representan.",[443,514,515],{},"Cada clase hija debe incluir un método para ajustar las estadísticas del enemigo de acuerdo al nivel del jugador, para asegurar que el combate sea desafiante pero justo. Este método debe ser llamado cada vez que un enemigo es generado, y debe ajustar las estadísticas del enemigo en función del nivel del jugador y de su propia dificultad base.",[443,517,518],{},"Cada clase hija debe de incluir un arreglo para almacenar 3 habilidades especiales como máximo. Estas habilidades pueden ser diferentes a las de los personajes, y deben reflejar las características únicas de ese tipo de enemigo. Cada habilidad deberá tener un método para ser activada durante el combate, y su efecto debe ser implementado de acuerdo a su descripción.",[443,520,521],{},"Cada clase hija deberá adecuar la función de ataque que permitirá a los enemigos usar sus habilidades especiales durante el combate, o en su defecto, usar su ataque básico, esto dependerá de tu criterio de diseño, sin embargo, deberás de incluir el uso de elementos aleatorios para determinar cuándo un enemigo usará una habilidad especial o su ataque básico.",[443,523,524,527],{},[446,525,526],{},"Implementación de Prueba",": Crea una prueba de creación de un personaje y un enemigo, mostrando sus estadísticas y habilidades especiales. Además, implementa una simulación de un combate entre el personaje creado y el enemigo, mostrando cómo se aplican las estadísticas y habilidades especiales durante el combate.",[529,530,531],"tip",{},"Recuerda que este es solo el primer incremento de tu proyecto evolutivo, y que en los siguientes incrementos podrás agregar más funcionalidades y mejorar la implementación de las clases y métodos que has creado en este incremento. Es importante que te enfoques en implementar correctamente la funcionalidad de creación de personajes en este primer incremento, para sentar una base sólida para el desarrollo de tu proyecto evolutivo.",[529,533,534],{},"Recuerda que la implementación de la funcionalidad queda a tu criterio de diseño, siempre y cuando cumplas con los requisitos establecidos en esta actividad. Puedes agregar más atributos, métodos o clases si lo consideras necesario para mejorar la estructura y funcionalidad de tu proyecto evolutivo. Lo importante es que cumplas con los requisitos establecidos en esta actividad y que implementes la funcionalidad de creación de personajes de manera efectiva.",[418,536,538],{"id":537},"entregable","Entregable",[423,540,541],{},"El entregable de esta actividad será un único archivo PDF con los siguientes contenidos:",[440,543,544,550,556,562],{},[443,545,546,549],{},[446,547,548],{},"Portada",": Incluye el título de la actividad, tu nombre, y cualquier otra información relevante.",[443,551,552,555],{},[446,553,554],{},"Código Fuente",": Incluye el código fuente de tu implementación, con comentarios que expliquen la funcionalidad de cada clase, método y atributo.",[443,557,558,561],{},[446,559,560],{},"Prueba de Creación de Personajes",": Incluye una sección con capturas de pantalla de la prueba de creación de personajes y la simulación de combate, mostrando cómo se aplican las estadísticas y habilidades especiales durante el combate.",[443,563,564,567],{},[446,565,566],{},"Conclusión",": Incluye una sección de conclusión donde reflexiones sobre el proceso de implementación, los desafíos que enfrentaste, y cómo planeas abordar los siguientes incrementos de tu proyecto evolutivo.",[418,569,571],{"id":570},"criterios-de-evaluación","Criterios de Evaluación",[423,573,574],{},"Para evaluar tu entrega, se considerará la siguiente checklist:",[576,577,578,591],"table",{},[579,580,581],"thead",{},[582,583,584,588],"tr",{},[585,586,587],"th",{},"Criterio",[585,589,590],{},"Puntos",[592,593,594,603,614,621,628,635],"tbody",{},[582,595,596,600],{},[597,598,599],"td",{},"Definición del enumerado de estadísticas",[597,601,602],{},"10%",[582,604,605,611],{},[597,606,607,608,610],{},"Creación de la clase ",[457,609,459],{}," con los métodos requeridos",[597,612,613],{},"20%",[582,615,616,619],{},[597,617,618],{},"Creación de la jerarquía de clases para personajes",[597,620,613],{},[582,622,623,626],{},[597,624,625],{},"Creación de la jerarquía de clases para enemigos",[597,627,613],{},[582,629,630,633],{},[597,631,632],{},"Implementación de la prueba de creación de personajes y simulación de combate",[597,634,613],{},[582,636,637,640],{},[597,638,639],{},"Calidad del código y documentación",[597,641,602],{},[423,643,644],{},"Recuerda que la calidad del código y la documentación son aspectos importantes en la evaluación de tu entrega, así que asegúrate de escribir código limpio, bien estructurado y con comentarios claros que expliquen la funcionalidad de cada parte de tu implementación. Además, asegúrate de seguir las buenas prácticas de programación orientada a objetos para garantizar que tu código sea fácil de mantener y extender en los siguientes incrementos de tu proyecto evolutivo.",{"title":646,"searchDepth":647,"depth":647,"links":648},"",2,[649,650,651,652,653],{"id":420,"depth":647,"text":421},{"id":428,"depth":647,"text":429},{"id":437,"depth":647,"text":438},{"id":537,"depth":647,"text":538},{"id":570,"depth":647,"text":571},"Definir un proyecto evolutivo utilizando la metodología de desarrollo incremental en POO.","md",null,{"editButton":42},true,{"title":397,"description":654},"f3TNX151C3rvuNspOthJXeR4_wXkSrvUBoIpz5h4gpY",[662,663],{"title":393,"path":394,"stem":395,"description":654,"children":-1},{"title":401,"path":402,"stem":403,"description":664,"children":-1},"Implementar un sistema de inventario y objetos utilizando la metodología de desarrollo incremental en POO.",1779479578447]