En este RetoBit tenemos un RPG medio empezado, pero el developer que lo empezó no va a poder seguir con ello, ya que le han asignado otra tarea que debe priorizar. Deberás continuar el desarrollo con varias tareas pendientes.
- Clases abstractas
- Métodos
- Interpretar diagramas UML
- Detección de errores
- Desarrollar a partir de tests (Test Driven Development)
Haz un fork del repo.
Pulsa el botón Fork en github:
Esto creará una copia del repositorio en tu perfil de Github.
Ahora hay que descargarse el proyecto en tu computadora.
Si la URL es esta: https://github.com/curso-java-marshall-bits/retobit-RPG NO ES CORRECTO.
Donde aparece 'curso-java-marshall-bits' debería aparecer tu nombre de usuario. Haz click en tu perfil y mira tus repositorios para comprobar si hiciste el fork. En caso contrario vuelve al paso anterior.
Para ello deberás abrir una terminal y navegar a la carpeta donde quieras añadir este retoBit.
Utiliza el siguiente comando:
git clone https://aqui.debes.pegar.la.url
*Nota: Después del 'git clone' debes pegar la url del repositorio. No pongas la que he puesto yo en el ejemplo 🤣
Ahora se va a crear un nuevo directorio con el nombre del retobit.
Este puede ser un ejemplo real que te vayas a encontrar en tu trabajo. Hay algo que ya está siendo desarrollado y te toca hacer el siguiente paso. Lo primero que deberás hacer es fijarte en los archivos que tienes en la carpeta src/main/java. Analiza su relación y funcionalidad. Fíjate en el tipo de archivos que tenemos. También hay algún comentario del developer anterior.
Te habrás fijado que la clase Character parece tener un error. Aunque tiene sus propiedades y su constructor, no nos compila el código. ¿Por qué será?🤔
Averigua el motivo a través de los errores que se muestren.
Tu manager te ha dejado este diagrama:
No tienes ni idea de lo que es un diagrama UML 🤷♀️, pero parece bastante claro que en el diagrama aparecen varias clases, interfaz, etc.
Añade los métodos necesarios y modifica el tipo de clase para que coincida con el diagrama. Tu manager te ha dejado claro que de Character no debemos crear instancias directamente. En un futuro quieren implementar las clases de Mage y Warrior. Pero te han dejado claro que esto no toca todavía.
Pista 🕵️♀️
Fíjate en que las clases de Mage y Warrior en el diagrama tiene el símbolo "C", en cambio, la clase Character tiene la "A". Esto significa que la clase Character debe ser abstracta. Los métodos los puedes poner en cualquier clase, pero el diagrama te dice dónde ponerlos.*Para testear esta parte puedes ejecutar los tests de CharacterTest. No compilará correctamente hasta que resuelvas los errores que te indica IntelliJ
Para comprobar si has realizado bien el ejercicio ejecuta los tests ubicados en src/test/CharacterTest
Puedes ejecutar los tests de cada uno de los archivos pulsando en él con el botón derecho y Run NombreDelArchivoTest. También puedes pulsar con el botón derecho en la carpeta /test/java y seleccionar Run all tests para ejecutarlos todos a la vez.
El test te indicará si has pasado con un tick verde ✅. En caso contrario verás el error.
Ejemplo:
Pulsa en cualquiera de los tests que has fallado y mira el mensaje de la derecha.
- Expected: es el valor que el test estaba esperando.
- Actual: es el valor que tu reto está retornando.
Si quieres ver una posible solución para el retobit que pasa todos los tests puedes mirar la rama solution dentro del repositorio.
Ten en cuenta que hay muchas formas de resolver los ejercicios y la tuya puede pasar los tests iguales, pero ser completamente distinta a la solución. No significa que la tuya esté mal. Compara los resultados y decide cuál te gusta más o te parece más legible.
Realiza un commit con los cambios desde la terminal:
- Añade todos los cambios
git add .
- Haz el commit con el mensaje
git commit -m "retobit finalizado"
- Haz un push
git push origin main
Debes realizar una pull request para entregar el ejercicio. Abre el link del repositorio en github y haz click en la pestaña pull requests.
Selecciona New pull request, Create pull request y confírmala. Esto hará que yo pueda verlo y revisarlo en caso de que haya fallado algún test para poder darte feedback.
Mucha suerte con el reto. Te mando un abrazo y ¡Sigamos desarrollando! 🫂
Nota: Estos retos pertenecen al curso de Marcel Bosch de Java para desarrolladores junior. Cualquier uso fuera de este contexto debe estar autorizado explícitamente. Si quieres usar estos ejercicios ponte en contacto conmigo a través de mis redes sociales (visita mi página para más información).




