Re: DAADVR
Posted: Tue Dec 21, 2021 8:49 am
Tenemos dos funciones principales, una para añadir Acciones y otra para añadir Objetos: AddAction y Additem. Al hacer esto se muestran en pantalla en la botonera, arriba a la derecha.
Con SetTextSpeed(10) cambiamos la velocidad a la que se escribe el texto en pantalla.
Podemos cargar una lista de música y/o FX con:
AddMusic("music01"); //carga mp3
AddFX("fx01"); //carga .ogg
SetScreen("screen003"): Muestra el gráfico que deseamos en ese momento, con extensión png.
RemoveItem("Libros"): Elimina de la botonera el objeto Libros
AddInventary("Llave"): Para añadir objetos a nuestro inventario.
GotoStage(2): Carga la pantalla 2
El juego comienza en virtual Start(). Y con la función ShowText es como presentamos texto en la pantalla.
function WrongAction(): Es lo que se ejecuta si la combinación de Acción + Item no la tenemos programada.
Por cada combinación de Acción + Objeto, debemos crear una función como esta:
function Examinar_Habitacion()
function Examinar_Ventana()
Etc etc
De modo que dentro pondremos lo que queremos que haga nuestro juego cuando se ejecuten esas combinaciones de Acción + Item.
Hay código que se ejecuta si se cumple cierta logica, como esto:
Se comprueba si en el inventario, disponemos del objeto libro. Si lo tenemos, se ejecutan unas funciones y si no, se ejecutan otras.
Este es el código de la primera pantalla de la demo.
Con SetTextSpeed(10) cambiamos la velocidad a la que se escribe el texto en pantalla.
Podemos cargar una lista de música y/o FX con:
AddMusic("music01"); //carga mp3
AddFX("fx01"); //carga .ogg
SetScreen("screen003"): Muestra el gráfico que deseamos en ese momento, con extensión png.
RemoveItem("Libros"): Elimina de la botonera el objeto Libros
AddInventary("Llave"): Para añadir objetos a nuestro inventario.
GotoStage(2): Carga la pantalla 2
El juego comienza en virtual Start(). Y con la función ShowText es como presentamos texto en la pantalla.
function WrongAction(): Es lo que se ejecuta si la combinación de Acción + Item no la tenemos programada.
Por cada combinación de Acción + Objeto, debemos crear una función como esta:
function Examinar_Habitacion()
function Examinar_Ventana()
Etc etc
De modo que dentro pondremos lo que queremos que haga nuestro juego cuando se ejecuten esas combinaciones de Acción + Item.
Hay código que se ejecuta si se cumple cierta logica, como esto:
Se comprueba si en el inventario, disponemos del objeto libro. Si lo tenemos, se ejecutan unas funciones y si no, se ejecutan otras.
Code: Select all
_bool = CheckInventary("libro");
if ( _bool == false )
{
SetScreen("screen004");
AddAction("Coger");
AddItem("Libro");
ShowText("Te acercas a los libros y los ojeas un poco. Son libros viejos, de escritores clásicos.[wait]\n\nTe llama la atención uno especialmente pequeño y grueso.[wait]");
}
else
{
ShowText("No hay nada de interés aquí.[wait]");
}
Este es el código de la primera pantalla de la demo.
Code: Select all
class Stage_001 implements Stage
{
// [start]
// [wait]
// [waitpress]
// [music1]
// [fx1]
// [cls]
// [showbuttons]
// [hidebuttons]
// [lighton]
// [lightoff]
// [gotoFuera]
// [AddAction]
// [AddItem]
// [RemoveAction]
// [RemoveItem]
// [gameover]
// AddInventary("libro")
// _bool = CheckInventary("libro")
// RemoveInventary("libro")
virtual Init()
{
SetTextSpeed(10);
SetScreen("screen001");
AddAction("Examinar");
AddAction("Abrir");
AddAction("Ir");
AddItem("Habitacion");
AddItem("Puerta");
AddItem("Ventana");
AddItem("Suelo");
AddItem("Paredes");
// AddItem("Stage2");
// AddItem("Stage3");
// AddItem("Stage4");
AddMusic("music01"); //carga mp3
AddFX("fx01"); //carga .ogg
}
virtual Start()
{
_str = "[music1]Estás en lo que aparentemente es una habitación de cuatro paredes y suelo de madera. Ves una puerta y una ventana.[wait]";
ShowText(_str);
}
function WrongAction()
{
ShowText("No entiendo eso...[wait][start]");
}
function Examinar_Habitacion()
{
SetScreen("screen002");
_bool = CheckInventary("libro");
if ( _bool == false )
{
RemoveItem("libro");
AddItem("Libros");
ShowText("No ves nada de interés, salvo un montículo de libros en una de las esquinas.\n\nIgual no es mala idea echar un vistazo a esos libros.[wait]");
}
else
{
ShowText("No ves nada de interés, salvo un montículo de libros en una de las esquinas.\n\nPero ya les echamos un vistazo antes y cogiste uno.[wait]");
}
}
function Examinar_Ventana()
{
SetScreen("screen003");
_str = "Es una ventana que no tiene forma alguna de abrirse desde dentro.[wait]";
ShowText(_str);
}
function Examinar_Suelo()
{
_str = "El suelo está impoluto. Acaban de limpiar?[wait]";
ShowText(_str);
}
function Examinar_Libros()
{
RemoveItem("Libros");
_bool = CheckInventary("libro");
if ( _bool == false )
{
SetScreen("screen004");
AddAction("Coger");
AddItem("Libro");
ShowText("Te acercas a los libros y los ojeas un poco. Son libros viejos, de escritores clásicos.[wait]\n\nTe llama la atención uno especialmente pequeño y grueso.[wait]");
}
else
{
ShowText("No hay nada de interés aquí.[wait]");
}
}
function Examinar_Libro()
{
ShowText("Es un libro muy pequeño y grueso. Apenas pesa.[wait]");
}
function Examinar_Puerta()
{
ShowText("Es una puerta de madera maciza con un hueco para introducir una llave.[wait]");
}
function Examinar_Paredes()
{
ShowText("Las paredes son limpias y blancas. No tienen marca alguna de haber tenido cuadros, clavos o cualquier otra cosa que las dañara.[wait]");
}
function Coger_Libro()
{
_bool = CheckInventary("libro");
if ( _bool == false )
{
AddInventary("libro");
// RemoveAction("Coger");
// RemoveItem("Libro");
ShowText("Coges el pequeño libro y notas que pesa muy poco.[wait]");
}
else
{
// RemoveAction("Coger");
ShowText("Ya tienes el libro.[wait]");
}
}
function Abrir_Libro()
{
AddItem("Llave");
RemoveItem("Libro");
// RemoveItem("Coger");
ShowText("El libro tiene un hueco enorme entre sus páginas, como un agujero, y en su interior hay una llave.[wait]");
}
function Abrir_Ventana()
{
ShowText("La ventana no puede abrirse de modo alguno.[wait]");
}
function Abrir_Suelo()
{
ShowText("No es posible hacer tal cosa.[wait]");
}
function Abrir_Paredes()
{
ShowText("No puedes hacer eso, no eres Hulk.[wait]");
}
function Coger_Llave()
{
RemoveItem("Llave");
AddInventary("Llave");
ShowText("Coges la llave y te la guardas.[wait]");
}
function Mirar_Habitacion()
{
ShowText("Tu dormitorio es grande, pero la decoración es minimalista; una cama, una mesilla con una lámpara y un armario empotrado en la pared es todo lo que tiene de interesante la habitación.\n\n Como persona pragmática que eres, usas la habitación para dormir y los ornamentos son algo prescindible.");
}
function Abrir_Puerta()
{
// Comentar para poder hacer el puzle. Esto vale para poder probar el stage2 directamente.
_bool = CheckInventary("Llave");
if ( _bool == false )
{
// AddInventary("libro");
// RemoveAction("Coger");
// RemoveItem("Libro");
ShowText("Necesitas una llave para abrir la puerta.[wait]");
}
else
{
ShowText("Introduces la llave en la puerta y giras la llave. Oye un chasquido en la puerta y notas que se abre el suelo de repente y caes hacia abajo. [waitpress][gotoFuera]");
}
}
function Ir_Stage2()
{
GotoStage(2);
}
function Ir_Stage3()
{
GotoStage(3);
}
function Ir_Stage4()
{
GotoStage(4);
}
function GotoFuera()
{
GotoStage(4);
}
}