Introducción a Swift y XCode
Swift y el ecosistema Apple
Instalación y configuración de XCode
Quiz: Introducción a Swift y XCode
Fundamentos de programación iOS
Variables, constantes y tipos de datos básicos
Condicionales
Funciones
Tipos de datos opcionales
Arreglos: append, insert, como crearlas
Arreglos: validar, editar y agregar una lista dentro de otra lista
Conjuntos: como agregar o eliminar elementos
Conjuntos: principales operaciones entre conjuntos
Diccionarios
Recorridos parte 1: while
Recorridos parte 2: for
Recorridos parte 3: los retos
Quiz: Fundamentos de programación iOS
POO en iOS
Programación orientada a objetos en iOS
Structs
Clases y herencia
Enums
Protocolos
Funciones de arreglos (filter, map, reduce)
Funciones de arreglos parte 2 (filter, map, reduce): playground
Quiz: POO en iOS
Manejo de errores y programación segura
Manejo de errores y programación segura
Propagación de errores
Do, try, catch
Quiz: Manejo de errores y programación segura
Programación en el ecosistema de Apple
Siguientes pasos para el desarrollo en iOS
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
Paga en 4 cuotas sin intereses
Termina en:
Santiago Moreno
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.
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.
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
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
}
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
}
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)
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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?