C# para Unity · Sección 5

Decisiones, bucles y estados

Estructuras de control aplicadas a reglas de juego, casos frontera, recorridos de colecciones, retornos tempranos y máquinas de estado sencillas.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Inspector, atributos y serialización.

02 / META OBSERVABLE

Al terminar deberías poder relacionar if y switch con for, foreach y while y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.

04 / PREPARA EL LABORATORIO

Instala Unity Hub, una versión LTS compatible y un IDE con integración para C#. Conserva un proyecto de laboratorio separado.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan if y switch y for, foreach y while? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Convertirás reglas de juego en caminos legibles, bucles con término y estados explícitos que puedan probarse en sus límites.

Al terminar podrás
  • if protege rangos y switch expresa opciones discretas
  • for, foreach y while describen intenciones diferentes
  • Una máquina de estados evita booleanos contradictorios
01
Decidir

if protege rangos y switch expresa opciones discretas

if y else if son apropiados para condiciones y rangos; switch para opciones cerradas como un estado. El orden importa cuando las condiciones se superponen. Un retorno temprano puede separar entradas inválidas del camino principal.

01

Prueba justo debajo, en y sobre cada límite.

02

Incluye un caso default cuando el estado puede ser inesperado.

03

Agrupa condiciones solo cuando aumenta claridad.

Comprueba lo aprendido · 01

¿Qué valores mínimos probarías alrededor del límite 25?

Mostrar respuesta +

24, 25 y 26, además de 0 y un valor inválido. Así compruebas fronteras, caso extremo y validación.

02
Repetir

for, foreach y while describen intenciones diferentes

for conviene cuando importa el índice; foreach cuando recorres cada elemento; while cuando la cantidad de repeticiones depende de una condición. Todo ciclo debe progresar hacia su salida y tratar colecciones vacías.

01

No modifiques una List durante foreach.

02

Usa Count y el comparador menor que al recorrer índices.

03

Evita trabajo repetido por frame si puede responder a un evento.

Comprueba lo aprendido · 02

¿Por qué break es correcto después de encontrar el primer objetivo válido?

Mostrar respuesta +

Porque el requisito ya está satisfecho y recorrer el resto no puede mejorar ese resultado. La intención debe ser realmente encontrar el primero, no el mejor.

03
Modelar estados

Una máquina de estados evita booleanos contradictorios

Varios bool como atacando, muerto y pausado pueden combinarse en estados imposibles. Un enum y un switch centralizan las transiciones. Cada cambio debe declarar condición, efecto y estado siguiente.

01

Un estado representa una situación coherente.

02

Las transiciones rechazan caminos inválidos.

03

Entrada, lógica y animación pueden reaccionar sin duplicar reglas.

Comprueba lo aprendido · 03

¿Qué aporta una transición explícita frente a cambiar el enum desde cualquier método?

Mostrar respuesta +

Permite validar desde qué estado se puede llegar a otro, reunir efectos de entrada y salida y detectar combinaciones no previstas.

Resumen de la sección

Tu recorrido en tres ideas

  1. if protege rangos y switch expresa opciones discretas
  2. for, foreach y while describen intenciones diferentes
  3. Una máquina de estados evita booleanos contradictorios
CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Escribir condiciones superpuestas sin probar los límites exactos.

ERROR 02

Crear un ciclo que modifica la colección recorrida o no progresa hacia su salida.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Implementa un enemigo con estados Patrulla, Persecución, Ataque y Derrotado, incluyendo transiciones y pruebas de frontera.

Mostrar pauta de corrección +
Una respuesta sólida:
  • No existen combinaciones de estado contradictorias.
  • Cada transición declara condición y efecto.
  • Los recorridos tratan colecciones vacías, elementos nulos y término.