constant historia "^^ A veces...^"; constant titular "^ (C) 2002 Jenesis ^ Puede distribuirse libremente bajo licencia GNU GPL^" ; constant HAY_CURIOSIDADES; Constant NO_PUNTUACION; Constant NO_LUGARES; include "EParser"; release 4; global loc_ant = 0; !! cambia la descripcion de una localidad, según por donde se entra. [ curiosidades; print "Como curiosidad te diré que si has acabado la aventura sin morir en ella, te has perdido uno de los mensajes que aparecen en el juego.^ Para conseguir verlo sólo tienes que introducir la palabra 'terminar', 'reiniciar' o 'recuperar' en el puzzle que simula el final del juego, tras arreglar el acondicionador.^"; ]; [MensajeMuerte; style bold; print "^¡Te has precipitado y has sufrido una muerte prematura!^Hay muchas maneras de resaltar una palabra. ^Vuelve a intentarlo, la aventura no ha terminado...^^"; ]; object mensajeslibreria with antes [; examinar: switch(ml_n){ 3: print (_El) ml_o, " ", (esta) ml_o; if (ml_o has encendido) " enchufad", (o)ml_o, ".^"; else " desenchufad", (o)ml_o,"."; } Miscelanea: switch(ml_n) { 19: "No hay espejos en este sueño..."; 26: "(Primero pruebas a ", "coger ", (el) ml_o, ")"; 30: "No sé a que te refieres."; 37: "No se entera de nada."; 38: "No comprendo. ^¿Qué es lo que quieres que haga?"; } consultar: "No es la forma correcta de hacerlo."; Sacar: switch(ml_n){ 2: if (otro has animado) "¡Pero si no ", (lo) ml_o, " tiene", (n) otro, "!"; "No has dicho de dónde lo quieres sacar."; } despertarse, despertarotro: "No puedes. Estás profundamente dormido."; ]; include "Acciones"; include "Gramatica"; include "BajoNivel"; [abarsub; "Busca un sitio donde hacerlo."; ]; verb 'aba' *-> abar; extend 'consulta' * 'en' noun topic -> consultar; extend 'consulta' * -> abar; verb 'escribe'='consulta'; verboirregular "escribir" with imperativo 'escribe'; verb 'introduce'='consulta'; verboirregular "introducir" with imperativo 'introduce'; verb 'teclea'='consulta'; [misacarsub; "Has de especificar de dónde lo quieres sacar.";]; verb 'misaca' * noun -> misacar; extend 'saca' first * noun -> misacar; extend 'examina' * 'dentro''de' noun ->buscaren; verb 'preta'= 'empuja'; verb 'oprime'='empuja'; verboirregular "oprimir"with imperativo 'oprime'; [acarsub; if (jugador in falsa){ banderafin=3; style bold; borrarpantalla(); print "^^A veces cuando pensamos que tenemos todas las respuestas, es cuando descubrimos que no teníamos todas las preguntas...^"; esperartecla("^^ ..."); print"^Y te das cuenta de que una verdad a medias es media mentira.^ Y de que tu boca enmudece ante ciertas ideas.^ Y de que tu mente no busca en ciertas direcciones.^ Y recuerdas cómo te enseñaron que no hay nada que investigar, que la verdad ya está descubierta y escrita en los libros sagrados, mucho antes de que tú nacieras.^^"; rtrue; } "ops"; ]; verb 'aca' * -> acar; verb 'temina' 'reupera' 'aula''putuacion' 'curiosiddes'='aca'; verb 'termina''recupera''anula' = 'aca'; [arreglarsub; "¿Estás seguro de que necesita arreglo?"; ]; verb 'arregla' * -> arreglar * noun 'con' noun -> arreglar; extend 'une' * noun 'con' noun -> arreglar; verb 'repara' 'encinta' 'pega''empalma'='arregla'; verb 'levanta'='empuja'; verb 'desenchufa'='apaga'; verb 'aparta'='quita'; extend only "enchufa" replace * noun -> encender; [continuarsub;"Continuas con la aventura."; ]; verb 'continua' * -> continuar; !!metaverbos [mireiniciarsub; if (jugador in falsa); else reiniciarsub(); ]; extend 'reiniciar' replace * -> mireiniciar; [mirestaurarsub; if (jugador in falsa); else restaurarsub(); ]; extend 'restaurar' replace * -> mirestaurar; [largarsub; if (jugador in falsa); else finalizarsub(); ]; extend 'terminar' replace * -> largar; [restorearsub; if (jugador in falsa); else restaurarsub(); ]; extend 'recuperar' replace * -> restorear; !!! rutina colores tinta [tinta c; switch(c) { -1: c=0; 0: c=2; 1: c=6; ! Blue 2: c=3; ! Red 3: c=7; ! Magenta 4: c=4; ! Green 5: c=8; ! Cyan 6: c=5; ! Yellow 7: c=9; ! White (Light gray) 8: c=1; ! rojo vivo } @set_colour c 0; ]; !!! rutina colores papel [papel c; switch(c) { -1: c=0; 0: c=2; 1: c=6; ! Blue 4: c=4; ! Green 5: c=8; ! Cyan 2: c=3; ! Red 3: c=7; ! Magenta 6: c=5; ! Yellow 7: c=9; ! White (Light gray) 8: c=1; ! azul oscuro } @set_colour 0 c; ]; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [inicializar ; papel(7); tinta(0); borrarpantalla(); localizacion=oficina; modomirar = 2; font off; print "^Tu nombre no importa; inquilinos del planeta Tierra, unos y otros pensáis que éste os pertenece por derecho propio... Eres el digno hijo de tu padre, quien es a su vez digno hijo de tu abuelo. ^Tienes claro que de ellos has heredado tu casa, el suelo que pisas, y para ti lo más importante... el orgullo de tu linaje.^Hoy de nuevo la violencia ha estremecido el aire y ha manchado de sangre el suelo sobre esta tierra; esta vez les ha tocado a los otros... ^Sientes a la vez el placer de la venganza y la intranquilidad producida por la certeza de una segura represalia. Estás acostumbrado, llevas toda una vida así, conviviendo con el miedo, con los deseos insaciables de venganza y con el continuo y ardiente dolor que causa el más profundo de los rencores.^"; Esperartecla ("^^Pulsa una tecla para continuar..."); Borrarpantalla (); print "^Una vez que todos duermen y después de comprobar el correo electrónico, antes de acostarte, navegas por las páginas de los principales periódicos extranjeros y te detienes en las noticias, que hacen referencia a este nuevo golpe contra vuestro eterno enemigo. ^Normalmente, y más en estos casos en los que las víctimas son los otros; su lectura te resulta molesta y la evitas... ^Para ti esos medios de comunicación lo único que hacen es reinventar la verdad, simple y diplomática definición del verbo mentir o manipular. Sin embargo, una cierta euforia hija de esta gran victoria te hace sentirte capaz de plantarles cara a quienes no saben, ni quieren entender la verdad de lo que ocurre, VUESTRA verdad. ^No obstante, esta vez es diferente y esa verdad inamovible, se empaña sutilmente ante tus ojos mientras observas el monitor... ^"; Esperartecla ("^^Pulsa una tecla..."); Borrarpantalla (); print"^En la pantalla aparece una foto; es la de un padre llevando en brazos a su hijo muerto, un niño de apenas tres años. En el momento en que fue tomada la instantánea el hombre estaba mirando al objetivo, por eso, mientras miras la imagen, sientes como su dolorida mirada se cruza directamente con la tuya. ^Es sólo por un instante, pero esa mirada de desesperación y de tremenda tristeza te llena de intranquilidad, y te deja un cierto desasosiego que acelera levemente los latidos de tu corazón. ^Por un momento no ves al enemigo, por un momento te ves a ti mismo...^"; Esperartecla ("^^ ..."); Borrarpantalla (); print "^Ya en la cama, te cuesta conciliar el sueño. Rezas tus oraciones con la tranquilidad que te da el saber a Dios de tu parte. ^ A Él no es tan fácil engañarlo, Él siempre conoce la verdad absoluta, aquella que os otorga el derecho a vivir en estas tierras, aquella que os da la razón y el respaldo divino. Esa verdad que los demás niegan y rechazan simplemente porque os odian y os temen. ^Poco a poco, retazos de imágenes comienzan a bombardear tu cerebro, es como un pase de diapositivas, algunas forman parte de recuerdos, otras son totalmente desconocidas, al final una de ellas te engancha y comienza a tejer una historia. Por fin entras en la extraña realidad de tu mente, de nuevo te encuentras con la verdad, la más oculta y profunda, la que duerme arropada por nuestros sueños... ^^ Estás en un entorno tremendamente familiar, pero como suele suceder en el mundo de los sueños el lugar no se corresponde con su homólogo en el mundo real. De todos modos no te cabe la menor duda, estás en tu propia oficina.^^"; Esperartecla ("^^ ..."); Borrarpantalla (); ]; !!!!!!!!!!!!!!!!!!!! object limbo "limbo" has luz; !!!!!!!!!!!!!!!!!!!!!!!!!!! object oficina "OFICINA" with irrelevante 'pared' 'paredes''contigua''esquinas''penumbra''anea''asiento', descripcion [; if ((falsa has visitado)&&(pasadizo has abierta)) "La oficina es ahora un lugar agradablemente fresco. Un pasadizo sale desde aquí y se pierde en la penumbra.^"; if ((falsa has visitado)&&(pasadizo hasnt abierto)){ move corriente to oficina; "La oficina es ahora un lugar agradablemente fresco. Es extraño, el acondicionador ha desaparecido de la pared y no obstante sientes una ligera corriente de aire que no parece venir de la puerta abierta.^"; } print "Para ser la que se supone es tu oficina no hay demasiados muebles. Una mesa con un solo cajón y una silla. En una pared se dibujan las cuatro esquinas de un enorme y anticuado acondicionador de aire. En la otra, una puerta abierta de par en par se apoya en la pared contigua. No te extraña que esté abierta... el calor es insoportable.^"; rtrue; ], al_n [; if (puer_ta has abierta) { print "No te será tan fácil escapar de tu propio sueño...^"; return oficina; } ], al_o 0, adentro [; if (puer_ta has abierta) { print "No te será tan fácil escapar de tu propio sueño...^"; return oficina; } else return a1; ], afuera[; if (puer_ta has abierta) { print "No te será tan fácil escapar de tu propio sueño...^"; return oficina; } else return a1; ], antes[; oler: if (corriente in self) "La corriente de aire trae un ligero olor a tierra mojada.^"; ], has luz escenario; object corriente "corriente de aire" limbo with nombre 'corriente', adjetivos 'aire', descripcion "Es fresca y con cierto olor a tierra mojada.", has escenario femenino; object oficin_a "oficina" oficina with nombre 'oficina', descripcion "No se parece en nada a la tuya, pero no dudas de que lo es.", antes[; salirse: "Utiliza una salida."; ], has escenario femenino ; object muebles "muebles" oficina with nombre "muebles", descripcion "Son muy pocos para una oficina.", has nombreplural escenario; object puer_ta "puerta" oficina with nombre 'puerta''hueco', descripcion [; if (puer_ta hasnt abierto) "Ahora está cerrada."; else "Está abierta, por el hueco puedes ver otra oficina contigua.";], puerta_a oficina, direcc_puerta al_n, antes [; buscaren: <>; empujar: "Prueba a abrirla o a cerrarla."; cerrar: if (falsa hasnt visitado) "Ya hace demasiada calor, ¿quieres convertir ésto en un horno? ^"; ], despues[; cerrar: oficina.al_o = a1; give pasadizo abierto; "Al cerrar la puerta, se descubre un pasadizo que estaba escondido tras la misma."; abrir: give pasadizo ~abierto; oficina.al_o = 0; "La puerta cierra ahora el acceso al pasadizo."; ], has escenario puerta abrible abierto femenino; object pasadizo "pasadizo" oficina with nombre_m 'pasillo''pasadizo''corredor''tunel', nombre_f 'salida''entrada', genero g_masculino, descripcion "Es un largo y tenebroso túnel.", antes [; abrir, cerrar, examinar: if (pasadizo hasnt abierto)"No ves ningún pasadizo."; ], puerta_a a1, direcc_puerta al_o, has escenario puerta; object mesa "mesa" oficina with nombre 'mesa', descripcion "Es una mesa con un cajón.", antes [; meterse: "No tendría sentido."; ], has escenario femenino transparente soporte; object cajon "cajón" mesa with nombre 'cajon', descripcion [; if (cajon hasnt abierto) "Es un cajón cerrado"; else "Está abierto."; ], despues[; examinar: if (self has abierto)<>; ], has escenario abrible recipiente; object folios "folios" cajon with nombre_mp 'folios', nombre_m 'papel', nombre_fp 'cuartillas' 'hojas', genero g_masculino+g_plural, antes[; empujar:if (cinta in limbo){ move cinta to cajon; print "Debajo de los folios aparece un rollo de cinta adhesiva.^"; rtrue; } ], despues [; coger: if (cinta in limbo) { move cinta to cajon; print "Debajo de los folios aparece un rollo de cinta adhesiva"; "."; } ], ; object cinta "cinta" limbo with nombre_f 'cinta''adhesiva', nombre_m 'rollo', genero g_femenino, descripcion "Es un rollo de cinta adhesiva.", antes [; ponersobre, arreglar: if ( otro == cable ){ ; rtrue; } else rfalse; ], ; object silla "silla" oficina with nombre 'silla', inicial "Una silla rústica de anea está delante de la mesa.", antes [; examinar:"Es una silla de madera con el asiento de anea, nada extraño si tienes en cuenta que se trata de un sueño."; default: "La silla no es sino parte del decorado onírico."; ], has escenario femenino entrable soporte; class interruptor with antes[; encender: if (cable has general){ remove folios; remove cinta; give cajon escenario; move self to falsa; jugadorA (falsa,2); rtrue; } if (self has encendido) "Ya está enchufado."; else give self encendido; print "Enchufas ", (el) self, ".^"; give enchufe encendido; give acondicionador encendido; rtrue; apagar: if (self hasnt encendido) "Ya está desenchufado."; else give self ~encendido; print "Desenchufas el acondicionador.^"; give enchufe ~encendido; give acondicionador ~encendido; rtrue; ], has conmutable escenario encendido; interruptor acondicionador "acondicionador" oficina with nombre 'acondicionador''aparato', adjetivos 'aire''acondicionado', descripcion [; if (enchufe has encendido){ give self encendido; "Es muy viejo, carece de interruptor y está unido al enchufe por medio de un cable. Ahora no emite ni la más ligera brisa."; } else give self ~encendido; ], antes[; atacar: "Golpear al aparato no mejorará su funcionamiento.^"; ], has escenario encendido; object toma "toma de corriente" oficina with nombre 'toma' 'base' 'corriente', descripcion "Es una toma normal y... corriente.", has escenario femenino; interruptor enchufe "clavija" oficina with nombre_m 'enchufe', nombre_f 'clavija', genero g_femenino, descripcion [; if(enchufe has encendido) "Ahora mismo, está todo conectado."; else "Cuelga del cable"; ], antes[; tirar, quitar, misacar: ;rtrue; meter: ;rtrue; ], has escenario encendido; object cable "cable" oficina with descarga 0, arreglo 0, nombre_m 'cable''hilo', nombre_mp 'hilos', genero G_masculino, descripcion [; if (cable hasnt general) "Parece que uno de los hilos está roto."; else print "Ahora está arreglado.^"; ], antes [; arreglar, ponersobre, atar : if (enchufe has encendido){ cable.descarga=1; "Sientes una descarga eléctrica."; } if ((cinta in jugador)&&(cable.arreglo==0)){ give cable general; cable.arreglo=1; "Unes el cable con la cinta adhesiva.";} if ((cinta in jugador)&&(cable.arreglo==1)) "Ya no hace falta, el cable está arreglado."; else "No tienes con qué arreglarlo."; tocar: if (enchufe has encendido){ cable.descarga=1; "Sientes una descarga eléctrica."; } "El cable está roto."; apagar, encender: "Deberías utilizar el enchufe."; oler: if (cable.descarga==1) "Huele ligeramente a piel y plástico chamuscados."; ], has escenario ; !bloque puzzle CONTINUAR ****************************** object falsa "Has resuelto el primer puzzle..." with descripcion "^^¿Quieres REINICIAR, RE UPERAR un jueg guardado, A ULAR tu úl imo ^movim ento, ver la PU TUACIÓN de este juego, ver alg nas CURIOSID DES ^ o TE MINAR ?^^", antes[; if (accion == ##continuar){ borrarpantalla(); style bold; print "^^A veces lo que no se ve... resulta ser lo más evidente...^"; esperartecla("^^ ..."); print "^Y te das cuenta de que no hay peor ciego que aquél que no quiere ver. ^ Y te descubres a ti mismo mirando hacia otro lado, cuando ves a sus niños muertos y a sus padres llorándolos.^ Y te das cuenta de que lloráis con los mismos ojos y reís con los mismos labios; y que sois iguales en lo mas importante, en lo más humano...^^^"; ; remove acondicionador; remove cable; remove enchufe; remove toma; !move jugador to oficina; jugadorA (oficina,2); ""; } ], has escenario luz; object nada "nada" falsa with nombre 'nada', has escenario; !!bloque laberinto del bosque ************************ !!!!!!!!!!!! class bosque with irrelevante 'humus' 'restos''vegetales''penumbra', descripcion "Vayas donde vayas dentro del bosque, sólo se ven troncos, ramas y la lógica penumbra de un bosque profundo. ", antes [; salirse, salir : "Busca una salida."; !!ir: give localizacion ~visitado; examinar: if (uno==obj_arriba) "Sólo hojas y ramas."; if (uno==obj_abajo) "Es una mezcla de humus y restos vegetales."; oler: "Sientes un olor fresco que te recuerda a las setas y a los días de lluvia."; escuchar: "Aunque sabes que estás rodeado de seres vivos, sólo sientes el crujir del suelo bajo tus pasos, y el de las ramas sobre tu cabeza."; ], has luz escenario; object forest with nombre 'bosque', descripcion [; <>; ], antes[; salirse: "Tendrás que buscar la salida por ti mismo."; ], esta_en a1 a2 a3 b1 b2 b3 c1 c2 c3 , has escenario; object troncos "troncos" with nombre 'troncos', descripcion "Hay de varias texturas y tonos, pero todos se pierden en un techo de ramas y hojas.", esta_en a1 a2 a3 b1 b2 b3 c1 c2 c3, has escenario nombreplural; object ramas "ramas" with nombre 'ramas', descripcion "Finas y gruesas nacen del tronco de los árboles.", esta_en a1 a2 a3 b1 b2 b3 c1 c2 c3, has escenario femenino nombreplural; object hojas "hojas del bosque" with nombre 'hojas', descripcion "Miles de hojas de diferentes formas, colores y tamaños.", esta_en a1 a2 a3 b1 b2 b3 c1 c2 c3, has escenario femenino nombreplural; object arbol_es "arboles" with nombre_m 'arboles' 'vegetacion''especies''arbol', nombre_f 'espesura', genero G_masculino+G_plural, descripcion "Todo un bosque.", esta_en a1 a2 a3 b1 b2 b3 c1 c2 c3, antes [; meterse: "No podrías llegar a lo más alto"; ], has escenario nombreplural; !!!!!!!!!!!!!!!!! bosque a1 "BOSQUE" with descripcion "Estás en un bosque mezcla de varias especies. La vegetación exuberante te rodea por todos lados, no te extrañaría que en cualquier momento apareciera un oso. Te estremece pensar lo que sería sentir el zarpazo de tan fiero animal.^ Salidas posibles, norte y oeste.", al_n b1, al_o a2, has escenario; !!!!!!!!!!!!!!!!!! bosque a2 "BOSQUE" with al_n b2, al_o a3, al_e a1, describir "Salidas posibles, norte, este y oeste.", ; !!!!!!!!!!!!!!!!!! bosque a3 "BOSQUE" with descripcion "Estás en el extremo SO del bosque.^ Hacia el sur la espesura del bosque parece terminar abriéndose. ^Salidas posibles, norte, sur, este y arriba.", antes[; loc_ant = localizacion; ], al_n b3, al_s montana, arriba montana, al_e a2, ; !!!!!!!!!!!!!!!!!! bosque b1 "BOSQUE" with al_n c1, al_s a1, al_o b2, describir "Salidas posibles, norte, sur y oeste.", ; !!!!!!!!!!!!!!!!!! bosque b2 "BOSQUE" with descripcion "De algún modo eres consciente de que estás en el centro del bosque.^Salidas posibles, norte, sur, este y oeste.", al_n c2, al_s a2, al_e b1, al_o b3, ; !!!!!!!!!!!!!!!!! bosque b3 "BOSQUE" with al_n c3, al_s a3, al_e b2, describir "Salidas posibles, norte, sur y este.", ; !!!!!!!!!!!!!!!!! bosque c1 "BOSQUE" with descripcion "Estás en el extremo NE del bosque.^Salidas posibles, sur y oeste.", al_s b1, al_o c2, ; !!!!!!!!!!!!!!!!!! bosque c2 "BOSQUE" with al_s b2, al_e c1, al_o c3, describir "Salidas posibles, sur, este y oeste.", ; !!!!!!!!!!!!!!!!! bosque c3 "BOSQUE" with descripcion [; if (trampilla has abierta){ "Estás bajo los cerezos que viste desde la cima, a tus pies hay una trampilla abierta.^Salidas posibles, sur, este y abajo."; } if (cerezos in localizacion){ "Entre los árboles reconoces un grupo de cerezos.^Salidas posibles, sur y este."; } "Estás en el extremo NO del bosque.^Salidas posibles, sur y este."; ], antes[; examinar: if ((cerezos in localizacion)&&(uno==obj_abajo)){ move hojarasca to localizacion; "La capa de hojarasca es muy gruesa bajo los cerezos."; } ], abajo 0, adentro 0, al_s b3, al_e c2, ; !!! hacer aparecer las hojas del cerezo object cerezos "grupo de cerezos" limbo with nombre_m'grupo', nombre_mp'cerezos', genero_m, descripcion [; move hojarasca to localizacion; "Después de todo un verano recogiendo la luz del sol, ahora sus hojas, parecen irradiar su propia luz en un crisol de rojos incandescentes. Muchas de ellas han empezado a caer al suelo formando una gruesa capa de hojarasca."; ], has escenario; object hojarasca "hojarasca" limbo with nombre 'hojarasca''capa', descripcion [; if (trampilla hasnt abierta) "Entre la hojarasca puedes ver un brillo metálico."; else "Entre las hojas hay una trampilla levantada.";], antes[; quitar, empujar, buscaren, examinar, mirardebajo: move trampilla to c3; if (trampilla hasnt abierta) "Entre la hojarasca asoma un asa."; else "No encuentras nada nuevo entre la hojarasca."; ], has femenino escenario; object brillo "brillo" c3 with nombre 'brillo''metalico', descripcion "Hay algo bajo la hojarasca.", has escenario; object trampilla "trampilla" limbo with nombre_f 'trampilla''tapa''entrada''bajada''puerta', nombre_m'asa' , genero G_femenino, descripcion "Es una trampilla metálica", antes[; empujar, tirar: ; rtrue; ], despues [; abrir: c3.abajo = salacontrol; c3.adentro=salacontrol; "Levantas la tapa"; cerrar: c3.abajo=0; c3.adentro=0; ], puerta_a salacontrol, direcc_puerta abajo, has puerta abrible escenario; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! object montana "MONTAÑA SOBRE EL BOSQUE" with irrelevante 'ladera', descripcion [; if (loc_ant == cima) "Dejando atrás la cima, te vuelves a encontrar con el bosque."; else "Estás en la ladera de una montaña al sur del bosque, desde arriba debe verse un paisaje magnífico."; ], antes [; meterse: if (uno==montan_a) ; rtrue; ], al_s cima, arriba cima, abajo a3, al_n a3, has luz femenino escenario soporte transparente; object montan_a "montaña" montana with nombre 'montana''ladera', descripcion "Desde aquí la cima queda al sur y el valle al norte.", has femenino escenario; object bosque2 "bosque" montana with nombre_m 'bosque''valle', nombre_mp 'arboles', descripcion "Desde aquí es difícil reconocer los distintos árboles forman el bosque.", has escenario; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! object cima "CIMA DE LA MONTAÑA" with nombre 'cima''cumbre', descripcion "Estás en la cima de la montaña, a tus pies el bosque es una explosión de manchas de colores espectaculares. Tus ojos no se cansan de admirar el paisaje.^Estarías horas contemplando hasta los más mínimos detalles.", antes [; loc_ant = localizacion; !! carga la posición actual para descripción examinar: if (uno==obj_abajo) "No hay demasiado espacio, pero estás cómodo y puedes admirar el entorno natural."; if (uno==obj_arriba) "No hay nada sobre tí, estás en lo más alto."; ], al_n montana, abajo montana, has luz escenario femenino; object cim_a "cima" cima with nombre 'cima''cumbre', descripcion "Desde aquí la vista es magnífica.", has escenario femenino; object montana2 "montaña" cima with nombre 'montana', descripcion "No queda nada sobre tu cabeza, el mundo está a tus pies.", has escenario femenino; object mancha "paisaje" cima with nombre_f 'vista''explosion', nombre_fp 'manchas', nombre_m 'color''bosque''paisaje''valle''entorno', nombre_mp 'colores', genero g_masculino, descripcion "Antes de despojarse de sus hojas los árboles se visten con sus mejores galas, los abedules, las hayas y los cerezos se entremezclan en una explosión de color.", has escenario; object arboles "arboles" cima with nombre 'arboles', antes [; examinar: if (uno == arboles) "Todo un bosque otoñal."; ], has nombreplural escenario; object abedules "abedules" cima with nombre 'abedules', descripcion "Las ramas blancas empiezan a vislumbrarse bajo una lluvia de oro." has nombreplural escenario; object hayas "hayas" cima with nombre 'hayas', descripcion "Los bordes resecos de sus hojas tiñen el bosque de reflejos dorados.", has escenario nombreplural femenino; !!! hacer aparecer los cerezos en c3 object cerezos_desde_cima "cerezos" cima with valor 0, nombre 'cerezos', descripcion [; if (cerezos_desde_cima.valor == 1) {"Una X marca el lugar.";} else { cerezos_desde_cima.valor++; move cerezos to c3; print "En la esquina noroeste del bosque un grupo de cerezos silvestres entrecruzan sus ardientes hojas dibujando una X en el techo del bosque.^Una vez más una X marca el lugar.^"; esperartecla ("^^ ..."); style bold; borrarpantalla(); print "^A veces los árboles nos impiden ver el bosque...^"; ; esperartecla("^^ ..."); print "^Y te das cuenta de que la perspectiva muchas veces deforma la verdad.^ Y que lo que parece grande de cerca, es pequeño y trivial a lo lejos.^ Y que lo que parece un laberinto de cerca, puede tener una salida lejos del odio y la desconfianza. ^^"; esperartecla("^^ ...^"); <>;} ], has escenario nombreplural; !!!!!BLOQUE PUZZLE LUcES ********************************** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! object salacontrol "SALA DE CONTROL" with co_lor 0, descripcion [; tinta(7); papel(0); borrarpantalla(); print"^Te encuentras en una sala en penumbra. En una de las paredes hay un botón levemente iluminado por un diodo de luz.^"; ], has escenario luz; !!!!!!!!!!!!!!!!! object sala "sala" with nombre 'sala', adjetivo 'control', esta_en salacontrol salaroja salaverde salaazul, descripcion "Es un lugar un tanto extraño.", antes [; salirse: "No ves ninguna salida posible.";], has femenino escenario; class luces with antes [; apagar: if (localizacion==salacontrol) "Ya está apagada"; else ;rtrue; quemar: if (localizacion==salaroja or salaazul or salaverde) "Ya está encendida"; else ;rtrue; ], ; !!!! SIN LUZ ****************** luces lu_z "luz" salacontrol with nombre 'luz', descripcion "No hay apenas luz, sólo penumbra.", has escenario femenino ; !!!!CON LUZ ROJA ********************************************** object salaroja "SALA DE CONTROL" with descripcion [; papel (2); tinta(0); BorrarPantalla(); print"^La luz inunda la sala.^En la pared se pueden ver unas palabras sobre un fondo rojo. Están escritas en dos tonos, carmín (magenta) y amarillo. ^Un ordenador ocupa el centro de la sala y ves un interruptor en una de las paredes.^"; ], has escenario luz; luces luz_roja "luz" salaroja with nombre 'luz', descripcion "La luz es roja.", has femenino escenario ; object letras_rojo "palabras" salaroja with nombre 'palabras', adjetivos 'carmin''amarillo''amarillas''magenta', antes[; examinar: print"No te parece que el color influya en su significado, así que lees todas las palabras que ves en la pared.^"; style bold; print "^^Ésta es MI verdad.^^"; tinta (2); print" ";tinta(3);print" ";print"CADA";print" ";tinta(6);print"LUZ";print" ";tinta(2); print" ";print" ";tinta(3);print"LA";print" "; tinta(6);print"SALA.";print" ";tinta(2);print" "; print" "; tinta(3);print"Y";print" ";tinta(6);print"HALLARÁS"; print" ";TINTA(2);print" ";print" ";TINTA(3);print "CLAVE."; !papel (2); tinta (0); "^"; ], has femenino escenario nombreplural; !!!LUZ AZUL****************************************************** object salaazul "SALA DE CONTROL" with descripcion [; papel (1); tinta(0); borrarpantalla(); print"^La sala se llena de luz.^En la pared se pueden ver unas palabras sobre un fondo azul. Están escritas en dos tonos, carmín (magenta) y verdemar (cyan). ^Un ordenador ocupa el centro de la sala y ves un interruptor en una de las paredes.^"; ], has luz escenario; luces luz_azul "luz" salaazul with nombre 'luz', descripcion "La luz es azul.", has femenino escenario; object letras_azul "palabras" salaazul with nombre 'palabras', adjetivos 'carmin''magenta''cyan''verdemar''verdes', antes[; examinar: print"No te parece que el color influya en su significado, así que lees todas las palabras que ves en la pared.^"; style bold; print "^^Ésta es TU verdad.^^"; tinta(3);print"EXAMINA";print" ";tinta(1);print" ";print" ";tinta(5);print"LUZ";print" ";tinta(3); print"DE";print" ";tinta(1);print" "; print" ";tinta(5);print"SALA.";print" ";tinta(3);print"SÚMALAS";print" "; print" ";tinta(1);print" ";print" ";tinta(5);print"HALLARÁS";print" "; tinta(3);print"LA";print" "; tinta(1); print" "; !papel (1); tinta (0); "^"; ], has femenino escenario nombreplural; !!!LUZ VERDE *********************************************** object salaverde "SALA DE CONTROL" with descripcion [; papel (4); tinta(0); borrarpantalla(); print"^La sala se ilumina por efecto de la luz^En la pared se pueden ver unas palabras escritas sobre un fondo verde. Están escritas en dos tonos, verdemar (cyan) y amarillo. ^Un ordenador ocupa el centro de la sala y ves un interruptor en una de las paredes^";], has escenario luz; luces luz_verde "luz" salaverde with nombre 'luz', descripcion "La luz es verde.", has femenino escenario; object letras_verde "palabras" salaverde with nombre 'palabras', adjetivos 'verdemar''cyan''amarillo''amarillas', antes[; examinar: print"No te parece que el color influya en su significado, así que lees todas las palabras que ves en la pared.^"; style bold; print "^^Ésta es SU verdad.^^"; tinta(6);print"EXAMINA";print " ";tinta(1);print"CADA";print" ";tinta(4);print" "; print" ";tinta(6); print"DE";print" ";tinta(1);print"LA";print" "; tinta(4);print" ";print" ";tinta(6);print"SÚMALAS,"; print" "; tinta(1);print"Y";print" ";tinta(4);print" "; print" "; tinta(6); print"LA"; print " ";tinta(1); print "CLAVE."; !papel (4); tinta (0); "^"; ], has femenino escenario nombreplural; object letras "letras" with nombre_fp 'letras', nombre_f 'letra', genero g_femenino+plural, adjetivos 'rojas''roja''verdes''verdemar''amarilla''amarillas''rojo''amarillo' 'carmin''cyan''magenta', esta_en salaroja salaverde salaazul, antes [; examinar: "Deletrear letra por letra no tiene mucho sentido, deberías leer las palabras enteras.";], has escenario; object pared "pared" with nombre_f 'pared''muro', nombre_fp 'paredes', genero femenino, esta_en salaroja salaazul salaverde, descripcion "En una está el interruptor. En la otra es donde están las palabras.", has escenario; !!! BOTON ********* object boton "botón en la pared" salacontrol with descripcion "Aunque con forma de timbre, en el fondo estás seguro de que es una especie de interruptor. Un diodo de luz se enciende automáticamente al quedar la sala en penumbra.", nombre 'boton''timbre''pulsador''interruptor''punto', v1 0, antes [; empujar: boton.v1=boton.v1+1 ; if (boton.v1>5) boton.v1=0; if ((boton.v1==0)||(boton.v1==2)||(boton.v1==4)){ print "pulsas el boton y la estancia queda de nuevo en penumbra. ^"; move self to salacontrol; jugadorA(salacontrol,2); rtrue; } if (boton.v1==1){ move self to salaverde; jugadorA(salaverde,2); give salaverde~visitado; rtrue; } if (boton.v1==3){ move self to salaazul; jugadorA(salaazul,2); give salaazul ~visitado; rtrue; } if (boton.v1==5){ move self to salaroja; jugadorA(salaroja,2); give salaroja ~visitado; rtrue; } ], has escenario transparente ; object diodo "diodo" boton with nombre 'diodo', descripcion [; if (boton.v1 == 1 or 3 or 5) "Está en el interior de un botón y marca su posición cuando no hay luz en la sala."; if (boton.v1 == 0) "En la penumbra brilla con una luz verde en su interior."; if (boton.v1 == 2) "En la penumbra brilla con una luz azul en su interior."; if (boton.v1 == 4) "En la penumbra brilla con una luz roja en su interior."; ], antes [; empujar: <>; ], has escenario ; object tecla_do "ordenador" with descripcion "Es tu propio ordenador aunque tiene una chocante forma que te recuerda en algo a una tostadora de pan. En el monitor se puede leer... ^ ~Para saber una verdad cierta, introduce las dos palabras que componen la clave: ~", acierto 0, nombre_m 'teclado''ordenador', nombre_f 'consola', genero g_masculino, esta_en salaroja salaverde salaazul, antes [clave; consultar: np=consultar_desde; !examinando 1ª palabra clave=siguientepalabra(); if (clave=='blanca')tecla_do.acierto=1; if (clave=='luz')tecla_do.acierto=2; if (clave=='blanco'or 'color')tecla_do.acierto=4; !examinando 2ª palabra clave=siguientepalabra(); ! ganar if ((clave=='blanca') && (tecla_do.acierto==2)){ tecla_do.acierto=3; banderafin=2; papel(7); tinta(0); borrarpantalla(); print "^^En este mundo traidor^"; print"nada es verdad ni es mentira.^" ; print "Todo es según el color^"; print "del cristal con que se mira.^^"; style bold; borrarpantalla(); print "^Te despiertas de tu sueño y te despiertas de tu verdad.^ Ahora ya sabes quién eres y quiénes sois...^"; Esperartecla ("^^ ..."); Borrarpantalla (); print "^^Sois los orgullosos descendientes de unos padres que os han dejado el peor legado que se le puede dejar a un hombre. Una herencia donde toda esperanza de alcanzar la felicidad, está carcomida por un odio acumulado a través de los años, y cuya semilla fue plantada por manos y causas extrañas a vuestro propio presente y realidad. No obstante su fruto, esa verdad a medias, esa verdad deformada, esa verdad manipulada, os ha negado el más sagrado de los derechos del ser humano; el derecho que tiene todo ser inocente a crecer y a educarse en paz.^"; Esperartecla ("^^ ..."); Borrarpantalla (); print"^Y te das cuenta de que todo ser humano debería ser capaz de descubrir la Verdad por sí mismo, una Verdad que jamás haya sido cercenada por ningún dictador, por ninguna institución, ni por ninguna formación represiva. Una Verdad sin cristales de rencor que la disfracen, sin odiosas perspectivas que la deformen, sin cadenas que impidan su observación desde cualquier ángulo, desde cualquier lugar o cualquier otro punto de vista.^ Una Verdad que sea válida para todos, que todos compartan, que todos respeten y que todos sean capaces de entender.^"; Esperartecla ("^^ ..."); Borrarpantalla (); print"^^Y entonces descubres que esa guerra interminable que ya es parte de tu vida, no está respaldada por la verdad de Dios, sinó por la mezquina verdad de los hombres. De todos aquellos que se niegan a aceptar que no hay diferencias, que todos somos iguales, que todos tenemos los mismos derechos, las mismas obligaciones y las mismas necesidades.^ Y sientes que la Tierra, más allá de muros y fronteras es patrimonio y responsabilidad de toda, absolutamente toda la Humanidad. ^"; Esperartecla ("^^ ..."); Borrarpantalla (); print "^^Y ahora piensas en tu propio hijo, y lo imaginas creciendo sin el miedo que produce la continua amenaza, sin la ansiedad que produce el deseo siempre insatisfecho de la venganza, sin el dolor de haber perdido de forma violenta lo irrecuperable, la vida del ser querido...^ Y te empiezas a preguntar hasta qué punto es justo, que los hijos hereden los odios y rencores de los padres con todas sus terribles consecuencias...."; print "^En la pantalla del monitor puedes leer:^"; esperartecla("^^ ..."); borrarpantalla(); box"¿Tu verdad? no, la Verdad," "y ven conmigo a buscarla." "La tuya guárdatela.^" "A. Machado."; rtrue; } !perder if (clave=='luz'or'blanca')tecla_do.acierto=1; if (tecla_do.acierto==4){ tecla_do.acierto = 0; "Piensa...^¿Qué estás sumando, el color o la luz?"; } if (tecla_do.acierto==0){ "En el monitor puedes leer: ^ Clave incorrecta.^ Inténtalo de nuevo: "; } if (tecla_do.acierto==1 or 2) { tecla_do.acierto=0; "En el monitor puedes leer: ^ Clave incompleta o desordenada.^ Inténtalo de nuevo: "; } rtrue; examinar: rfalse; default: "Has de escribir la clave en el ordenador"; ], has escenario transparente; object monitor "monitor" tecla_do with nombre_m 'monitor', monbre_f 'pantalla', descripcion "En el monitor puedes leer: ^ Para saber una verdad cierta, introduce las dos palabras que componen la clave:^", has escenario;