/* DECLARACIÓN DE VARIABLES GLOBALES */ global entero odre; /* indica el contenido del objeto ODRE */ global entero vida; /* vida del jugador */ global entero exp; /* puntos de experiencia del jugador */ global entero tiempo; /* tiempo de juego */ global entero batalla; /* ¿comenzó la batalla debajo de la torreta? */ /* Verbos */ verbo bajar; global entero gloc; global entero batalla; si gloc=TORRETA y no(batalla) imprime 'No puedo abandonar mi turno de guardia.'; ret; fsi; si gloc=TORRETA y batalla imprime 'Bajo las escaleras que conducen al patio del recinto.'; gloc=PATIO; /* cambia de localidad */ ret; fsi; imprime 'No puedo bajar.'; verbo examinar; global entero gloc; /* variable global que indica la localidad actual */ global entero odre; si obj_tiene(obj_num('odre')) oo obj_esta(obj_num('odre'),gloc) si odre=1 imprime 'Está lleno de agua.'; fsi; si odre=0 imprime 'Está vacio.'; fsi; ret; fsi; verbo beber; global entero odre; global entero vida; si (nombre='agua' oo nombre='agua del odre' oo nombre='agua de odre') si obj_tiene(obj_num('odre')) y odre=1 imprime 'Está fresca. Recuperas cinco puntos de vida.'; vida=vida+5; odre=0; ret; fsi; imprime 'No hay agua a la vista.'; ret; fsi; imprime 'No puedo beber eso'; /* Rutinas comunes */ sub esptecla; cadena a; imprime 'Pulsa enter ...'; a=lee_cadena(); /* Rutinas sobrepuestas */ sub inicio; global entero odre; global entero vida; global entero batalla; global entero tiempo; imprime ' Jamás una estrella acaricia esta tierra con su poética luz cargada de misterios.'; imprime ' Ni tampoco el sol envía aquí sus cálidos rayos de vida.'; imprime ' Ésta es la suboscuridad, el mundo secreto debajo de la superficie de los Reinos.'; imprime ' Su cielo es un techo de fría piedra, y sus paredes muestran la tumefacción de la'; imprime 'muerte a quienes se atreven a bajar hasta aquí'; imprime ''; imprime ' Pero aquí hay islas de vida, ciudades tan grandes como muchas de las de la super-'; imprime 'ficie. Pero estos lugares no son un refugio; únicamente un estúpido podría pensar'; imprime 'algo así. Son el hogar de las razas malvadas de entre todos los Reinos, entre las que'; imprime 'figuran los duergas, los kuo-toas y los elfos oscuros'; imprime ''; imprime ' En una de estas cavernas, de tres kilómetros de ancho, se alza Menzoberranzan.'; imprime ' Un monumento a la gracia letal que caractería a los elfos drows. La ciudad es'; imprime 'perfecta en todas sus formas y ni una sola piedra conserva su contorno natural.'; imprime ' Temibles entre los más temibles, los drows gobiernan este mundo sin ley y las '; imprime 'demás razas observan su paso cautelosas, pues incluso la belleza palidece ante'; imprime 'la espada de una elfo oscuro.'; imprime ''; imprime 'Ésta es la Suboscuridad, el valle de la muerte, la tierra de las pesadillas y de'; imprime 'los drows'; imprime ''; usa esptecla; imprime ''; imprime 'Menzoberranzan, una aventura de Javier Basilio Pérez'; imprime ''; /* Inicializamos algunas variables */ odre=1; /* odre lleno de agua */ vida=10; /* inicialmente diez puntos de vida */ tiempo=0; batalla=0; /* Este proc. se ejecuta tras cada acción */ sub central; global entero tiempo; global entero batalla; tiempo=tiempo+1; /* pasa una unidad de tiempo */ si tiempo>10 y no(batalla)/* comienza la batalla del patio */ imprime 'Empiezo a escuchar gritos en el patio de la casa...'; usa esptecla; imprime '¡Parece que han atacado la casa! Una batalla debe estar librándose...'; batalla=cierto; /* comienza la batalla */ fsi; /* Definición de sinónimos */ verbo baja; usa bajar; verbo bebe; usa beber; verbo ex; usa examinar; verbo examina; usa examinar; verbo mirar; usa describir; verbo mira; usa describir; verbo n; usa norte; verbo e; usa este; verbo o; usa oeste; verbo s; usa sur; verbo i; usa inventario; verbo coge; usa coger; verbo deja; usa dejar;