sistema de dialogos para SDL

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

sistema de dialogos para SDL

Notapor Kainz » Jue Feb 16, 2012 3:51 pm

me gustaria ver algun ejemplo de un sistema de dialogos en un juego RPG (y me refiero a dialogos de hablas, es decir de, -hola *que tal? -bien). Gracias.
Kainz
 
Mensajes: 9
Registrado: Mar Ago 30, 2011 6:05 pm

Re: sistema de dialogos para SDL

Notapor Barajas » Vie Feb 17, 2012 7:53 am

Es un problema muy interesante a decir verdad :)

Mi solución es crear una clase para cada dialogo (o bien podría ser una estructura...), y una cola. ej pseudocódigo seria algo como:

//creamos la estructura dialogo
Dialogo{
string personaje
string dice
}

//una función que nos muestra en pantalla el contenido del dialogo
imprime_dialogo(Dialogo d){
Dibuja (d.personaje)
Dibuja( d.dice )
}

Cola cola_dialogo;
mientras juego:
dibujar_mundo
dibujar_personajes

gestionar_eventos:
si se presiona tecla tal
retirar el primer dialogo de la cola_dialogo
si puede_hablar_con_personaje():
//agregamos un dialogo...
agrega_dialogo( cola_dialogo, el_dialogo_del_personaje )

si hay diálogos en la cola_dialogo:
imprime_dialogo(cola_dialogo[primer elemento])
si no:
actualizar_mundo y personajes


No sé si esto te ayude... :oops: :roll:
Vi veri universum vivus vici
Avatar de Usuario
Barajas
 
Mensajes: 209
Registrado: Mar Nov 16, 2010 12:06 am

Re: sistema de dialogos para SDL

Notapor Kainz » Vie Feb 17, 2012 3:09 pm

Barajas escribió:Es un problema muy interesante a decir verdad :)

Mi solución es crear una clase para cada dialogo (o bien podría ser una estructura...), y una cola. ej pseudocódigo seria algo como:

//creamos la estructura dialogo
Dialogo{
string personaje
string dice
}

//una función que nos muestra en pantalla el contenido del dialogo
imprime_dialogo(Dialogo d){
Dibuja (d.personaje)
Dibuja( d.dice )
}

Cola cola_dialogo;
mientras juego:
dibujar_mundo
dibujar_personajes

gestionar_eventos:
si se presiona tecla tal
retirar el primer dialogo de la cola_dialogo
si puede_hablar_con_personaje():
//agregamos un dialogo...
agrega_dialogo( cola_dialogo, el_dialogo_del_personaje )

si hay diálogos en la cola_dialogo:
imprime_dialogo(cola_dialogo[primer elemento])
si no:
actualizar_mundo y personajes


No sé si esto te ayude... :oops: :roll:


pues sinceramente no lo he entendido mucho... si pudieras ponerlo mas simple (si pudieras, trabajo en c/c++
Kainz
 
Mensajes: 9
Registrado: Mar Ago 30, 2011 6:05 pm

Re: sistema de dialogos para SDL

Notapor hugoruscitti » Vie Feb 17, 2012 3:49 pm

Hola,

No se si hay una implementación de dialogos con SDL, busqué por varios lados pero no encontré nada...

Tal vez te resulte útil ver el sistema de dialogos que tiene pilas-engine:

viewtopic.php?f=26&t=1018&p=5240&hilit=dialogo#p4837

Al menos para investigarlo, tomar ideas etc... el código de pilas-engine es python, aunque se puede
transladar a C++ con un poco de paciencia (y tiempo!).
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: sistema de dialogos para SDL

Notapor Kainz » Vie Feb 17, 2012 4:57 pm

hugoruscitti escribió:Hola,

No se si hay una implementación de dialogos con SDL, busqué por varios lados pero no encontré nada...

Tal vez te resulte útil ver el sistema de dialogos que tiene pilas-engine:

viewtopic.php?f=26&t=1018&p=5240&hilit=dialogo#p4837

Al menos para investigarlo, tomar ideas etc... el código de pilas-engine es python, aunque se puede
transladar a C++ con un poco de paciencia (y tiempo!).



Bueno me lo vere y a ver que tal, por ahora he conseguido crear mi propio sistema, pero realmente no creo que sea el mejor, asi que, a ver que descubro. Gracias

ahora si quieres te invito a resolverme esta duda (si quieres eh). viewtopic.php?f=6&t=1414
Kainz
 
Mensajes: 9
Registrado: Mar Ago 30, 2011 6:05 pm


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron