! ! Créditos. ! ! Constantes Constant Historia "El Abismo"; Constant Titular "^Cruzando el Abismo.^Enero de 2002^"; ! Número de serie Serial "012002"; ! Constantes para modificar el comportamiento del parser Constant PUNTUACION_MAX 1; !Constant ADMITIR_INFINITIVOS; ! Ya no es necesario esto con la nueva librería Constant ADMITIR_COMANDO_SALIDAS; ! Incluir la librería (en parte) ! Estas líneas están presentes en cualquier aventura Include "EParser"; Include "grafdemo"; Include "six"; Include "abismo.bli"; Include "Acciones"; ! Definición de localidades !--------------------------------------------------------------------- ! Localidad Abismo !--------------------------------------------------------------------- Object elAbismo "Al borde del abismo." with irrelevante 'rocas' 'roca', arena 0, numgrafico graf_abismo, descripcion "A tus pies, se abre el abismo insondable. Te encuentras de pie en un saliente de roca, de espaldas a la pared sur del mismo. Al otro lado, el lado norte, un saliente de roca gemelo al que pisas ahora, da paso a la caverna que se abre al exterior. En medio de los salientes, la nada.", al_n [; if (arena==1) "¡No puedo cruzar el abismo!"; else <>; ], al_e "Las escarpadas rocas te cortan el paso.", al_o "Las escarpadas rocas te cortan el paso.", al_s "¡Pero si la pared de roca está a tu espalda!", has luz; Object -> saliente "saliente de roca" with nombre 'saliente', adjetivo 'rocoso', descripcion "El suelo del saliente está lleno de montoncitos de arena.^", inicial "Estás de pie sobre el saliente de roca.", has estatico; Object -> negroabismo "abismo insondable" with nombre 'abismo', adjetivo 'negro' 'insondable', descripcion "El abismo es negro e insondable. Muy profundo. Da miedo.", antes [; cruza: if (elAbismo.arena==0) { banderafin = 1; "Intentas cruzar el abismo de un salto pero ... fracasas."; } else { banderafin = 2; "Cruzas el abismo por el puente que vislumbras vagamente ..."; } ], has oculto estatico; Object -> cartel "cartel podrido" with nombre 'cartel' 'aviso', adjetivo 'mohoso' 'roñoso' 'viejo' 'podrido', descripcion "El cartel indica: 'Ten Fe: pero que no sea ciega.'^", inicial "Aquí hay un cartel medio podrido por la humedad.", has estatico; Object -> arenaloca "arena" with numgrafico graf_arena, nombre 'arena' 'granos' 'montoncitos', adjetivo 'gordos' 'gorda' 'arenoso' 'arenosa', articulo "bastante", descripcion "Montoncitos de arena gorda ...^", antes [; echaA: if (otro==negroabismo){ elAbismo.arena = 1; elAbismo.numgrafico = graf_abismopuente; ++puntuacion; remove arenaloca; "Al caer la arena al abismo, parte queda sobre una superficie que no habías visto antes debido a un efecto óptico ... ¡es un puente!.^Ahora podrás cruzar seguro."; } else <>; ], has oculto femenino; ! Después de las localidades, incluimos la gramática ! Este include siempre está aquí en todos los programas [echaASub; "No he entendido demasiado bien qué quieres echar y en dónde ..."; ]; [cruzaSub; "No he entendido demasiado bien qué quieres cruzar ..."; ]; Include "Gramatica"; !Definiciones de la gramática para este juego Extend 'cruza' first * noun -> cruza; Extend 'salta' first * noun -> cruza; Extend 'tira' first * held 'a' noun -> echaA * held 'al' noun -> echaA * held 'en' noun -> echaA; Extend 'lanza' first * held 'a' noun -> echaA * held 'al' noun -> echaA * held 'en' noun -> echaA; Extend 'echa' first * held 'a' noun -> echaA * held 'al' noun -> echaA * held 'en' noun -> echaA; !--------------------------------------------------------------------- ! Inicialización !--------------------------------------------------------------------- Object mapa "mapa del tesoro" with nombre 'mapa' 'tesoro', descripcion "El mapa que te ha llevado hasta aquí.^ Desearías no haberlo encontrado nunca.", antes [; echaA: if (otro==negroabismo) { remove mapa; "El mapa cae al abismo y se pierde en sus profundidades."; } ] ; [ Inicializar; if (~~ComprobarInterprete()) { print "^^Lo siento, este juego precisa un intérprete con posibilidades gráficas.^^"; EsperarTecla(); quit; } else { print "^Te adentraste en la cueva del tesoro, y ... recuerdas perfectamente como al llegar a la cámara secreta del rey, activaste una trampa que podría haber sido mortal ...^ Buscabas la riqueza, pero ahora te conformas con salir vivo ... ^^"; EsperarTecla(); } localizacion = elAbismo; move mapa to jugador; PonerAltodeVentanaGrafica(200); BorrarGraficos(); PintaMarco(true); ];