Título: "Programar" mediante estados ¿es muy limitante o el límite lo tengo yo? Publicado por: Tachikomaia en 26 Febrero 2024, 15:37 pm Pensando la manera de jugar cierto juego (The Wizard's Castle, DOS, 1981) arriesgándose lo menos posible, y cómo describir eso, escribí esto:
Citar Estado 1: Está incompleto, claro, mi lío para empezar es con los pisos. Normalmente se diría:Posición: Fuera del castillo. - Elige cualquier raza y sexo. - Usa los puntos para maximizar DEX (18 creo), lo que sobre repartirlo equitativamente prefiriendo STR en caso de empate. - Comprar espada y plate mail. A partir de ahora: Posición: En el castillo. Definiciones: Cofre S (seguro): No tiene un warp, sinkhole ni monstruo al lado. Cofre P (peligroso): Tiene algo de eso al lado, pero no está completamente rodeado por esas cosas. RWS: Completamente rodeado por warps/sinkholes (¿es posible?). RM: Completamente rodeado por monstruos (¿es posible?). R: Completamente rodeado por warps/sinkholes/monstruos. Estado 2: Se cumple algo de esto: Tesoros S o P: Queda alguno sin adquirir. Cofres S: Queda alguno sin abrir. Grupos de oro tirado S o P: Queda alguno sin adquirir. - Evita los sinkholes, warps y monstruos. - Ignora el resto (no abras libros, no mires orbs, etc). - Consigue eso que falte. - Ve al siguiente piso usando escaleras. Si son R, usar un warp. Si no hay, ir a pisos anteriores buscando un warp. Estado 3: Tesoros S o P: Los tienes todos. Cofres S: Idem. Grupos de oro tirado S o P: Idem. Se cumple algo de esto: Código: Repetir ¿Es posible dar esas instrucciones usando estados como puse antes, cómo, o no? Estado 2: Te faltan ítems seguros y aún no has revisado todos los pisos. La 2nda parte de eso es redundante, si te faltan no has revisado, pero de algún modo debo decir que debe irse a otros pisos cuando se tengan los ítems S del actual. Lo reintento: Estado 2: Te faltan ítems seguros (y aún no has revisado todos los pisos). m, retry: Estado 2: Te faltan ítems seguros del piso actual: - Agarrarlos y luego ir al siguiente piso. Estado 3: Has recorrido todos los pisos (ergo deberías tener todos los ítems S): m, retry: Estado 2: No has recorrido todos los pisos (ergo te faltan ítems S) y te faltan ítems seguros del piso actual: - Agarrarlos e ir al siguiente piso. Listo. Es decir, parece que algo como: Código: Repetir No me doy cuenta, puse cosas distintas. Tenía: Código: Repetir Estado 2: No has recorrido todos los pisos (ergo te faltan ítems S) y te faltan ítems seguros del piso actual: ¿Cual es la lógica, si es que la hay, tiene que ver una cosa suficiente con la otra o...? A ver algo más simple: Código: Mientras el automóvil esté óptimo: Código: Mientras te falten ítems del piso actual y no hayas recorrido todos los pisos: Ya... ¿entonces "programar" con estados es tan parecido a usar whiles, por qué al principio no parecía? :rolleyes: |