En Pokemon podría ser vencer a cada rival siempre con niveles inferiores a ellos. Eso es sólo un ejemplo.
Well, estaba haciendo las reglas, un "programa" a seguir, un pseudocódigo podría decirse. Y me resultó bastante más difícil de lo que creí. So, a ver qué me recomiendan o cómo lo harían uds.
Pongo el ejemplo. Es para el juego Romancing Saga 3.
Modo A:
Código:
Sigue, pero lo dejo ahí porque eso esta bastante lejos de ser pseudocódigo.Julian Hunter Sword Alone Ataques normales
Modo B:
Código:
Ahí lo dejé porque tenía que ver algunas cosas, como si el estado stone queda luego de las batallas o no; no recuerdo. Igual tenía que definir una por una, ordenadas, y entonces lo dejé ahí y pensaba seguir sólo si surgía la necesidad -en el juego- de hacerlo.Julian Hunter Sword - Try to be with less party possible - If someone unnecesary "must" be... if he can be killed... drop all items from him as long it lets you kill him and then kill him. else if he can leave... drop all items from him as long it lets you make him to leave and then make him to leave. else if he can fall... drop all items from him as long it lets you make him to fall and then make him to fall. else if he can be stoned, sleeping, paralized, confused... Whats more similar?
Este modo -B- lo empecé porque quería definir mejor las prioridades, respecto a cómo están definidas en el Modo A.
Modo C:
Código:
Acá quise agregar "As long you can advance", porque si se mira el otro código, no está especificado y debería estarlo. Si vamos al caso también debería estar que se sigan las reglas del propio juego, pero bue, eso es incluso más obvio...As long you can advance Julian Hunter Sword Try to be with less party possible // Be with anybody if its the only way to advance, but the "anybody" must be the one who better fullfill the conditions. Common hits // Hit anyway (*) if its the only way to advance or it let you advance and its the only way to be with less party possible (*): But the "anyway" must be the one that better fullfill the conditions.
La cosa es que por cada nueva prioridad parece que tuviese que agregar muchos ifs y repetir las condiciones anteriores y en realidad no se especifica mucho qué hacer o qué no.
Supongo que estamos o estoy acostumbrado/s a algo así:
Código:
Pero... me pareció que eso no serviría. Es como si hubiera que reescribir las 1eras condiciones.Party = 0 1: Can advance? Use common hits Can advance? Yes, increasing Party. Not that! Else Use something else... // Wait! Dont use something that ups Party! Else Party++ Goto 1
Modo D:
Código:
Ese fue el que me llevó a crear el tema. No hay caso, no queda bien.Si estar con 0 compañeros permite avanzar... Seguir así. Si hacer golpes comunes permite avanzar... Seguir así Sino Usar especiales // Cuidado no aumentar Party. Sino Estar con la mínima cantidad que permita avanzar. // Esto significa que se usarían especiales si fuese necesario para cumplirlo.
Mientras escribía se me ocurrió poner las prioridades en orden inverso, algo así:
Código:
Bueno, habría que corregir algunas cosas y encontrar el modo de no repetir tanto, pero la cosa es ¿funcionaría así? ¿el truco es poner las prioridades al final o es igual de complicado -lo parece-?Usar golpes comunes ¿El party es 0? ¿Se puede avanzar así? Ok, avanzamos con party 0 y golpes comunes Sino Usar golpes especiales ¿Se puede avanzar así? Ok, avanzamos con party 0 y golpes especiales Sino Usar golpes comunes y party > 0 ¿Se puede avanzar así? Do it then Sino Usar golpes especiales y party > 0 ¿Se puede avanzar así? Do it then Sino Dejar de jugar. Sino Usar golpes especiales ¿Se puede avanzar así? Ok! Sino Aumentar Party
Gracias.