Constant Historia "^^EL CANTAR DE ROMANFREDO^"; Constant Titular "(c) Marzo-Mayo 2005 aryekaix^"; Include "EParser"; Include "Cortos"; Object MensajesLibreria with antes[; Miscelanea: switch(ml_n) { 17: "Oscuridad por doquier,^ nada se puede ver."; 23, 24, 25, 37: "No es momento para parlar,^hay una dama que rescatar."; 26: rtrue; 30: "El juglar dice: ~No sé de qué me habláis.~"; ! COGE XADI 39: "El juglar dice: ~Eso no lo haría jamás Romanfredo de Nomprosa.~"; ! Actuar sobre lo irrelevante 44: "El juglar dice: ~No sé de qué me habláis.~"; ! "Coge todo" si no hay nada } if (ml_n==19) "Era Romanfredo de Nomprosa,^ el más valiente caballero,^ en la busca de su dama, la más fermosa,^ que jamás se vio en el mundo entero."; else rfalse; Oler: "Romanfredo no olisquea lo que encuentre^ cual vulgar chucho campestre."; Escuchar: "Sólo oye lo esperable^ este caballero respetable."; Probar, Beber, Comer: "Romanfredo no va a lamer nada^ cual sierpe o víbora condenada."; Hablar, Preguntar, Responder: "No es momento para parlar,^urge a una dama rescatar."; Tocar: switch(ml_n) { 1, 2: "Nomprosa toca con sus manos^ pero ha sido en vano."; 3: <>; } Excavar: "Romanfredo es un caballero veterano en la guerra^ non se pondrá a excavar como topo o lombriz de tierra."; Cortar: "Eso no es menester cortar,^ entero vale más que por la mitad."; Saltar: "Nomprosa no va a imitar^ a las ranas en su brincar."; Losiento: "El juglar dice: -No pasa nada..."; Dormir: "Romanfredo de Nomprosa^ no descansará jamás^ hasta rescatar a Liricandra^ de las garras del mal."; Cantar: "-El juglar dice: Ya estoy cantando, por si vuestras mercedes no os habíais percatado."; Trepar: "Caballero de tan noble porte,^ no trepa cual bestias del bosque."; Rezar: "¡Oh Dios, ayúdame en mi gesta,^ para vencer al dragón perverso^ que tiene cautiva a mi dama honesta^ Liricandra de Monteverso!"; Despertarse: "El juglar murmura: ~Eso es lo que tendría que decirles a los que están roncando a mi vera.~"; Pensar: "El noble Romanfredo^ cruza los brazos,^ frunce el ceño,^ ...y medita en vano."; Tacos, Soso: "Caballero tan valeroso,^ no hace juramentos deshonrosos."; Si, No: "El juglar dice: -Sólo era una pregunta retórica..."; Quemar: "Lo único que arde aquí e ahora,^ es el corazón de Romanfredo por su señora."; Atacar: "Es una imprudencia^ usar la violencia^ en tal menudencia.^"; Frotar: "Si Nomprosa no lava ni sus vergüenças,^ de seguro no se detendrá en frotar tales simpleças."; Nadar: "El juglar dice: -No hay agua suficiente en la que Romanfredo pueda nadar."; Soplar: "Resopla el caballero^ recuperando el resuello."; Columpiar, Gesticular, Agitar: "Nomprosa no puede el tiempo perder,^ la vida de su amada depende de él."; ]; ! Proporcionamos una funcion ImprimirRango, antes de incluir Acciones, ! para sustituir a la que venia por defecto, que escribia "." La ! nuestra no escribirá nada de nada. [ ImprimirRango; ]; Replace LugaresSub; [ LugaresSub; "Tranquilo, no te vas a perder."; ]; Replace ObjetosSub; [ ObjetosSub; "Mira el inventario (i)."; ]; Include "Acciones"; Include "Gramatica"; Object Corto_Inicial class cortometraje with descripcion [; self.delay=50; "^^^El juglar llegó a la plaza del pueblo.^^^"; ] "Sentose a la sombra del roble, sacó su laúd y comenzó a tañer algunas notas.^^^^" [; self.delay=50; "La gente, atraída por su música, se agrupó en torno a él...^^^"; ] ; [ Inicializar; localizacion=entrada; modomirar=2; move rosa to jugador; Corto_Inicial.proyeccion(); Erase_Window(); box " ¿Nos cantáis vos un cantar? " " ¿Cantaros un cantar? ¿Y qué tendría eso de divertido? " " Tengo una idea mejor: " " Vamos a cantar un cantar entre vuestras mercedes y yo. "; print "^^"; Pause(); Cls(); ]; Object Limbo "Limbo" with descripcion "Eh, ¿cómo has llegado hasta aquí?", has luz; Object lala "lala" limbo with estado 0, descripcion [; switch(self.estado) { 1,2,3: "No veo eso que dices."; } ], cada_turno [; switch(self.estado++) { 3: banderafin=1; "De su plácido sueño el dragón despierta,^ Romanfredo se defiende en vano intento,^ pues es asado de los pies a la testa^ por el reptil con su abrasador aliento."; } ], has escenario; object calambur "Calambur" Limbo with nombre 'calambur' 'espada' 'arma', with descripcion "Questa es la espada Calambur,^ blandida por héroes, arma noble:^ etérea, ligera, filo doble,^ empuñadura de perlas, hoja azur.", antes [; Dejar: if (calambur in jugador) move calambur to jugador; "~No me pesa llevarlo,^ así que no pienso soltarlo.~"; ], has femenino; Object rosa "rosa" Limbo with nombre 'rosa' 'flor', descripcion "Es la rosa mágica inmortal,^ que creció^ en la orilla del mar,^ que floreció^ a la luz de la luna^ y que ha de ser entregada^ a cambio de su espada.^ al espíritu de la laguna.", antes [; Oler: "Dulce fragancia la desta rosa,^ piensa Romanfredo de Nomprosa."; Dejar: if (rosa in jugador) move rosa to jugador; "~No me pesa llevarlo,^ así que no pienso soltarlo.~"; Lanzar: if (jugador in cueva6) {move rosa to Purgatorio; move calambur to jugador; "El valiente caballero Romanfredo de Nomprosa^ a la profunda laguna arroja la su rosa.^ En sus frías aguas la flor se hunde,^ su mágica esencia con ellas se funde.^ La superficie se agita e se ilumina^ la roca tiembla e se torna adamantina.^ He aquí un resplandor de luz tan intensa^ que mantener la mirada a Romanfredo le cuesta.^ La claridad el dominio de la penumbra resta^ el espíritu de la laguna aquí se manifiesta.^ El espíritu es una ninfa ondina,^ con gracia liviana sobre el agua camina.^ A Romanfredo le otorga la su espada divina:^ es la Calambur la por todos temida.^ La ninfa ondina presto desaparece,^ e la calma del lugar se restablece...";} else "~No me pesa llevarlo,^así que no pienso soltarlo.~"; ], has femenino; object antorcha "antorcha" Limbo with nombre 'antorcha' 'palo', with descripcion "Antorcha cuya luz guía,^ en esta cueva sombría.", antes [; Dejar: if (antorcha in jugador) move antorcha to jugador; "~No me pesa llevarlo,^ así que no pienso soltarlo.~"; Apagar: "Una antorcha apagada,^ no serviría para nada."; ], has femenino encendido luz; object plantas "plantas venenosas" Limbo with nombre 'plantas' 'planta' 'espinos' 'espinas' 'espino' 'espina' 'zarza' 'zarzas', with descripcion "Sin duda son plantas ponzoñas,^piensa el caballero de Nomprosa.", antes [; Tocar, Coger: "Romanfredo no juzga de mucha ayuda^ tocar tales plantas a manos desnudas."; Quemar, Encender: banderafin=1; "Romanfredo a las zarzas prende fuego,^ mas de las cenizas que dellas queda luego^ se desprende un vapor de ponzoña letal^ e Romanfredo cae en letargo mortal."; Cortar, Atacar: if (calambur in jugador) {move lala to guarida; print "Romanfredo las plantas cercena y elimina,^ahora a la busca del dragón se encamina.^"; JugadorA(guarida); rtrue; JugadorA(guarida); rtrue;} if (calambur notin jugador) {<>;} ], has escenario; object Purgatorio "Purgatorio" with descripcion "Eh, ¿cómo has llegado hasta aquí?", has luz; object entrada "Entrada a la Cueva del Dragón" with descripcion "Aquí empieça la aventura^ de Romanfredo de Nomprosa:^ en la grotesca gruta^ do el Dragón reposa.^ Aquí está prisionera^ Lirincandra de Monteverso,^ la más fermosa damisela^ de todo el universo.^ Aquí baja Romanfredo^ de Serventesio, su caballo,^ tan fuerte como el acero,^ tan raudo como el rayo.", no_puedes_ir "El juglar dice: -Romanfredo sólo quisiera ir al interior de la cueva.", adentro [; if (jugador hasnt general) {move serventesio to purgatorio; print "Romanfredo se adentra^en la infernal caverna...^"; JugadorA(cueva2); rtrue; JugadorA(cueva2); rtrue;} ], has luz; object serventesio "Serventesio" entrada with nombre 'serventesio' 'caballo' 'corcel' 'montura', with descripcion "Blanco e brioso corcel,^ bello e noble animal.^ Nadie tuviera amigo más fiel,^ ni compañero de viaje más leal.", antes [; Trepar, Meterse: "Romanfredo subirá a su grupa,^ cuando vuelva con su dama de la gruta."; ], has animado propio hablable escenario; object cuevaentrada "cueva" entrada with nombre 'cueva' 'gruta' 'caverna', with descripcion "Sus cársticas fauces la cueva muestra orgullosa,^ esperando sin duda engullir a Romanfredo de Nomprosa.", antes [; Meterse: if (jugador hasnt general) {move serventesio to purgatorio; print "Romanfredo se adentra^ en la infernal caverna...^"; JugadorA(cueva2); rtrue; JugadorA(cueva2); rtrue;} ], has escenario; object cueva2 "En la cueva del dragón" with descripcion [; print "Adentro, en la gruta,^ se advierte cierta penumbra.^"; if (palo in cueva2) print "Hay un palo de madera,^ quizá más tarde servir pudiera.^"; ], al_o cueva1, al_e cueva3, al_n cueva5, afuera "De la caverna sólo saldrá Romanfredo^ cuando rescate a la dama de Monteverso.", no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", has luz; object palo "palo" cueva2 with nombre 'palo' with descripcion "Es tan sólo un palo de madera,^ bueno será llevarlo de todas maneras.", antes [; Coger: if (palo hasnt general) {move palo to jugador; "Coge el madero^Romanfredo, el caballero.";} Dejar: if (palo in jugador) move palo to jugador; "~No me pesa llevarlo,^ así que no pienso soltarlo.~"; Encender, Quemar: if (jugador in cueva7) {move palo to Purgatorio; move antorcha to jugador; move plantas to cueva0; "Al acercar el palo a la infernal hoguera^ el fuego se abraza a la seca madera.^ Romanfredo una antorcha faze desta manera^ que guiará su camino en la oscuridad traicionera.";} else "Se necesita una llama incandescente,^ para que del palo brote fuego ardiente."; ], has oculto; object cueva1 "En la cueva del dragón" with descripcion "Estalactitas y estalagmitas.", al_e cueva2, al_n cueva4, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca." ; object cueva3 "En la cueva del dragón" with descripcion "Estalactitas y estalagmitas.", al_o cueva2, al_n cueva6, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca." ; object cueva4 "En la cueva del dragón" with descripcion "Estalactitas y estalagmitas.", al_s cueva1, al_e cueva5, al_n cueva7, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", ; object cueva5 "En la cueva del dragón" with descripcion "Estalactitas y estalagmitas.", al_s cueva2, al_o cueva4, al_e cueva6, al_n cueva8, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", ; object cueva6 "En la cueva del dragón" with descripcion "Aquí el techo de la cueva^ desplomado se ha y está descubierto.^ Una corriente de agua tiempo lleva^ desgastando poco a poco e disolviendo.^ Las mismas aguas rumorosas^ que rezuman las paredes rocosas^ desembocan en la cristalina laguna^ e bañan las estalagmitas puntiagudas.", al_s cueva3, al_o cueva5, al_n cueva9, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", has luz; object laguna "laguna" cueva6 with nombre 'laguna' 'lago' 'manantial' 'agua' 'aguas', with descripcion "En el agua misteriosa de la laguna^ rielan mil estrellas y la luna.^ Los fulgores titilantes y el argénteo reflejo^ danzan en el inquietante líquido espejo.", has escenario; object cueva7 "En la cueva del dragón" with descripcion "Esta es zona de ígnea roca:^ en medio hay un cráter llameante^ que emana luz e calor no poca^ creando un ambiente inquietante.", al_s cueva4, al_e cueva8, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", has luz; object crater "cráter" cueva7 with nombre 'crater' 'volcan', with descripcion "Cráter del mismísimo averno^ do arde fuego sempiterno.", has escenario; object cueva8 "En la cueva del dragón" with descripcion "Estalactitas y estalagmitas.", al_s cueva5, al_o cueva7, al_e cueva9, al_n cueva0, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", ; object cueva9 "En la cueva del dragón" with descripcion "Estalactitas y estalagmitas.", al_s cueva6, al_o cueva8, no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", ; object cueva0 "En la cueva del dragón" with descripcion "La salida está bloqueada^ zarzas y espinas impiden el paso^ bosques de planta enlazada^ que ocupan el espacio escaso.", al_s cueva8, al_n [; if (antorcha in jugador) "~Esas plantas son venenosas,^ rozarlas por tanto sería letal:^ cortarlas he para avanzar~,^ piensa el caballero de Nomprosa."; if (antorcha notin jugador) "Romanfredo tropieza e choca^ contra alguna pared de roca."; ], no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", ; object guarida "En la guarida del dragón" with descripcion "Al dragón encuentra al fin,^ el valiente caballero;^ aunque parece bien dormir,^ sigue resultando fiero.^ Liricandra está cautiva,^ se le encoge el corazón^ a Nomprosa al verla aún viva.^ Romanfredo se arma de valor:^ ya se le acabaron los días^ al monstruo terrible e malvado,^ no más oro ni damas robaría^ cuando estuviere despachado.", no_puedes_ir "Romanfredo tropieza e choca^ contra alguna pared de roca.", al_s "De la guarida sólo saldrá Romanfredo^ cuando rescate a la dama de Monteverso." has luz; object dragon "dragón" guarida with nombre 'dragon' 'reptil' 'monstruo', with descripcion "El dragón está profundamente dormido,^ cosa prudente es no facer ruido.", antes [; Atacar, Cortar: banderafin=2; Corto_Final.proyeccion(); rtrue; ], has animado propio hablable escenario; object liricandra "Liricandra de Monteverso" guarida with nombre 'liricandra' 'monteverso' 'dama' 'mujer' 'chica' 'senora', with descripcion "Liricandra, aunque viva,^ parece estar malherida.^ Suspira al ver a su amado,^ mas su penas no han acabado.", antes [; Hablar, Preguntar, Responder: "Liricandra con un gesto^ a su amado hace callar:^ menester es huír presto^ e al dragón no despertar.^"; Coger: "Al intentar en sus brazos tomarla^ Romanfredo no puede evitar lacerarla.^ La pobre dama está malherida^ e sus llagas se han abierto al ser movida.^ De los sus labios escaba un quejido^ que despiertan al monstruo de fino oído.^"; ], has animado propio hablable escenario; object tesoro "tesoro" guarida with nombre 'tesoro' 'joyas' 'joya' 'plata' 'oro', with descripcion "Joyas, oro y plata de ley:^ eso guarda el dragón^ cual tesoro de rey.", has escenario; Object Corto_Final class cortometraje with descripcion [; self.delay=50; "^^Romanfredo empuña la Calambur decidido^ e su hoja hunde en el dragón maldito.^ La bestia ruge un rabioso bramido^ antes de exhalar su último suspiro.^^ El caballero rescata a su dama^ e se casan en la Iglesia más cercana.^^"; ] "^-¡Ejem! -carraspeó el juglar al ver que la gente se marchaba sin haber soltado una mísera moneda-. ¿No piensan pagarme vuestras mercedes?^" "^-¿Y por qué habríamos de hacer tal cosa? -respondióle un rudo campesino-. Hemos ayudado a vuestra merced a componer su cantar. ¿Acaso no es eso pago suficiente?^" "^-Pero os he estado diviertiendo.^" "^-¿Diviertiendo? -dijo otro aldeano-. Jamás en mi vida he escuchado tamaño bodrio. Esas historias están muy vistas y ya no se llevan.^" "^-Muy cierto -continuó la lechera-. Además es un cantar sexista. ¿Por qué ha de ser el hombre el héroe?^" "^-¿Y por qué Romanfredo mata al dragón? -repuso un joven-. Es una crueldad matar animales-. ¿No sabéis que los dragones están en peligro de extinción?^" "^-Eso sin contar las deficiencias y errores en la métrica y en la estructura, además de la rima forzada y artificiosa -prosiguió un bardo que la casualidad quiso que se encontrara también entre el público-. Es obvio que el juglar es novato, porque ha cogido lo típico y le ha añadido elementos atípicos.^" "^-¿Y qué es un cantar sin orcos? -comentó un mancebo.^" "^-De acuerdo, ingratos, os cantaré otro cantar de acuerdo con lo que me habéis pedido.^^^" [; self.delay=50; "Liricandra de Nomprosa^ era guerrera valerosa^ mitad princesa humana^ mitad salamandra^ pues era heroína mutante^ que luchaba con láser-katana^ contra bichos acojonantes^ en una galaxia muy muy lejana^ se entrenó como jedi a edad temprana^ jamás perdió una batalla^ pues no hallaba rival de su talla^ no mataba dragones^ pues estaban en peligro de extinción^ en su lugar mataba orcos^ que sobraban más de un millón...^"; ] ; [ Pause i width; width = 0->33; if (width == 0) width = 80; spaces (width - 18); font off;print "[ Pulsa Espacio ]"; font on; do { @read_char 1 0 0 i; } until (i==32 or 10 or 13); CLS(); ]; [ CLS ; @erase_window -1; ];