Foros del Web » Programación para mayores de 30 ;) » Programación General »

¿Cómo se programaría un "challange"?

Estas en el tema de ¿Cómo se programaría un "challange"? en el foro de Programación General en Foros del Web. Challange en el mundo videojueguil o más especificamente en Gamefaqs se entiende como completar o llegar a cierta parte de un videojuego cumpliendo condiciones que ...
  #1 (permalink)  
Antiguo 03/03/2014, 00:53
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
¿Cómo se programaría un "challange"?

Challange en el mundo videojueguil o más especificamente en Gamefaqs se entiende como completar o llegar a cierta parte de un videojuego cumpliendo condiciones que si se cumplen hacen que completar o llegar a cierta parte del juego sea más difícil de lo que es si no se cumplen. Es un desafío, pues.

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:
Julian	Hunter	Sword
Alone
Ataques normales
Sigue, pero lo dejo ahí porque eso esta bastante lejos de ser pseudocódigo.

Modo B:
Código:
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?
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.

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:
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.
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...

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:
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
Pero... me pareció que eso no serviría. Es como si hubiera que reescribir las 1eras condiciones.

Modo D:
Código:
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.
Ese fue el que me llevó a crear el tema. No hay caso, no queda bien.

Mientras escribía se me ocurrió poner las prioridades en orden inverso, algo así:
Código:
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
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-?

Gracias.

Etiquetas: bat, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:06.