No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
18 Hrs
48 Min
33 Seg

Recorridos parte 3: los retos

14/25
Recursos

¿Cómo desarrollar una solución para simular una batalla Pokémon?

Hablar de programación es adentrarse en un mundo de lógica y creatividad, y nada combina mejor estos conceptos que los proyectos prácticos. Uno de ellos es la simulación de batallas Pokémon, un desafío que nos invita a aplicar habilidades fundamentales como el uso de variables, condicionales y ciclos. Este ejercicio no solo es divertido, sino que nos permite profundizar en el manejo de entradas y salidas de funciones en Swift.

¿Cuál es el planteamiento del ejercicio?

En este ejercicio, buscamos desarrollar una función que simule una batalla entre dos Pokémon. La función recibirá dos diccionarios, cada uno representando un Pokémon con sus puntos de vida (PB) y puntos de ataque (PA). La batalla dará inicio con el primer Pokémon atacando, y concluirá cuando uno de los dos Pokémon no tenga más puntos de vida. La función entregará como resultado un mensaje indicando al ganador.

¿Cómo aprovechar las variables y constantes en el desarrollo?

Un detalle crucial en Swift es que los parámetros dentro de las funciones son constantes. Para manipular los datos de los Pokémon, necesitaremos crear copias de estos parámetros y trabajar con variables:

var pUno = pokemonUno
var pDos = pokemonDos

¿Cómo gestionamos el flujo del combate?

Para simular el turno de cada Pokémon, utilizaremos un ciclo while para mantener el combate activo mientras ambos Pokémon tengan puntos de vida. Aquí, un uso inteligente de los condicionales definirá qué Pokémon está atacando en un momento dado.

var turno = 1 // Turno del primer Pokémon por defecto

while (pUno["PB"]! > 0) && (pDos["PB"]! > 0) {
    if turno == 1 {
        // Turno del Pokémon 1
        // Lógica del ataque del Pokémon 1 al Pokémon 2
    } else {
        // Turno del Pokémon 2
        // Lógica del ataque del Pokémon 2 al Pokémon 1
    }
    // Cambiar el turno
}

¿Cómo manejamos los puntos de vida y ataques?

Es esencial restar los puntos de ataque del Pokémon atacante de los puntos de vida del Pokémon oponente. Además, debemos verificar después de cada ataque si un Pokémon ha perdido todos sus puntos de vida.

if turno == 1 {
    pDos["PB"]! -= pUno["PA"]!
    if pDos["PB"]! <= 0 {
        return "Ganó Pokémon Uno"
    }
    turno = 2
} else {
    pUno["PB"]! -= pDos["PA"]!
    if pUno["PB"]! <= 0 {
        return "Ganó Pokémon Dos"
    }
    turno = 1
}

¿Cómo podemos interactuar con el resultado correctamente?

Al ejecutar nuestra función, es importante capturar y mostrar el resultado. Esto se logra asignando la salida de la función a una variable y luego imprimiendo este resultado:

let resultado = simularBatallaPokemon(pikachu, charmander)
print(resultado)

¿Consejos y reflexiones finales sobre la simulación?

Es importante experimentar con diferentes escenarios y ajustar los puntos de vida y ataque para explorar cómo varía el resultado de la batalla. La práctica constante en la modificación y ejecución de este ejercicio reforzará tus habilidades en programación.

La simulación de batallas Pokémon es una excelente forma de consolidar los fundamentos de programación. Este tipo de tareas no solo promueven el razonamiento lógico sino también la creatividad a la hora de escribir código eficiente y funcional. Te animamos a seguir explorando y desarrollando tus capacidades en Swift para asumir nuevos y emocionantes proyectos.

Aportes 0

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?