Colegio Erevest 3
Descripción del contenido de la página
Aventura conversacional escrita en Sinclair BASIC para la Sinclair ZX Spectrum, ambientada en un colegio de curas nada simpáticos (tercera y última versión, de mayo de 1986).
Tres meses después de escribir la segunda versión de Colegio Erevest terminaba esta tercera versión mejorada. Era mayo de 1986.
Principales mejoras respecto a Colegio Erevest 2
- Pantalla de presentación nueva, dibujada casi desde cero (aprovecha sólo algún detalle de la anterior).
- Mensaje de espera sobre la pantalla de presentación, mientras el programa lee los datos.
- Los personajes se mueven por el mapa mientras escribimos. La rutina de entrada de comandos llama ocasionalmente a la rutina de movimiento de personajes. Esto dificulta un poco escribir pero le da realismo al juego: los curas pueden pillarnos mientras escribimos.
- Cuando un cura se encuentra en un escenario contiguo, la rutina de movimiento de personajes nos informa de que se oyen pasos, y en dos tercios de las ocasiones añade el punto cardinal del que proceden. Esto evita muchos sustos y hace la aventura más jugable.
- Intérprete de comandos un poco más elaborado, y con seis sinónimos nuevos para los verbos. Sigue necesitando dos palabras, pero ahora toma las dos primeras palabras que reconoce en la frase, lo que permite escribir frases más naturales.
- Mensajes del protagonista en primera persona, para ser coherentes con las instrucciones en imperativo (es mi sistema preferido: comandos en imperativo y mensajes en primera persona, como si el protagonista fuera un personaje más de la aventura, no el mismo jugador). En las versiones anteriores algunos mensajes estaban en primera persona y otros en segunda persona. Los mensajes del «narrador» siguen estando en segunda persona.
- Al abrir la caja fuerte el protagonista informa de su contenido.
- Se conservan los datos del jugador que ha conseguido el objetivo en el menor tiempo. (Al empezar el juego por primera vez, el supuesto poseedor de la plusmarca es alguien llamado Lutero).
Pantallazos
Pantalla de presentación:
Salvo algún pequeño detalle, los gráficos de los escenarios son los mismos que los de las versiones anteriores. Estos son algunos ejemplos:
Puedes ver otros ejemplos de escenarios de la versión 1 y escenarios de la versión 2.
El objetivo:
En la página principal del programa hay una descripción más detallada del objetivo.
El programa nos informa de si algún cura se está moviendo en un escenario contiguo, aunque no escribamos nada. Para comprobarlo se puede poner la velocidad máxima al emulador y simplemente esperar:
Código fuente
En la página principal hay un listado de variables que ayuda a entender el código fuente.
1 REM Colegio Erevest 3
2 :
3 REM Copyright (C) 1985,1986,2010 Marcos Cruz (http://programandala.net)
4 :
5 REM Licencia/Permesilo/License: http://programandala.net/lp
7 :
8 REM 1985-07 Colegio Erevest 1
9 REM 1985-12 / 1986-02 Colegio Erevest 2
10 REM 1986-05 Colegio Erevest 3
11 REM 2010-04-09 Cambios menores para publicar el codigo. El juego de caracteres se extrae del interior de la linea REM donde estaba y se guarda en un fichero.
12 REM 2010-04-10 Anhadidos los creditos antes de las instrucciones. Eliminada la rutina CLS.
13 REM 2010-04-11 Mejorado el reinicio, para que no cargue la pantalla de presentacion ni el juego de caracteres.
14 REM 2010-04-12 Eliminada la rutina PAU. Creada la rutina TRIM para corregir error al imprimir los avisos de pasos.
15 REM 2010-04-16 Eliminado un NEXT L desparejado de la linea 8570. Corregida errata. Fondo negro antes de cargar la pantalla de presentacion.
16 REM 2011-03-25 Corregida la direccion de CLEAR.
17 :
98 GO TO VAL "9004"
99 REM TIE ***
100 IF NOT O(IS) THEN RETURN
105 LET A$=H$(VAL J$(IS-HAY+1)): IF A$(2)=" " THEN LET A$="3O "
106 LET A$=A$(2 TO VAL A$(1))
110 LET A$="NO L"+A$+"TENGO.": GO SUB TEX: GO TO ORD
199 REM MOV ***
210 LET PER=INT (RND*NP+1)
211 IF PER=CURA THEN RETURN
215 LET H=INT (RND*4+1): IF NOT S(P(PER),H) THEN RETURN
220 LET P(PER)=S(P(PER),H)-100*(S(P(PER),H)>100)
221 IF P(PER)=SIT THEN GO TO 226
222 FOR N=1 TO 4: IF S(SIT,N)-100*(S(SIT,N)>100)=P(PER) THEN LET A$="...SE OYEN UNOS PASOS"+(" AL "+S$(N) AND RND>.3): GO SUB 4095: LET A$=A$+"!": GO SUB TEX: GO TO ORD
223 NEXT N: RETURN
226 IF LEN A$ THEN PRINT "..."
228 LET A$="VIENE EL "+Z$+P$(PER): GO SUB TEX: LET CURA=PER: GO TO PIL
231 REM INP ***
232 IF MON THEN GO SUB MOV
233 BEEP .1,30: LET BL=OFF: LET TEC=300: LET KTEC=50: LET MTEC=TEC/3: LET RTEC=0: LET A$=""
234 PRINT W$;
235 LET I$=INKEY$: IF TEC=RTEC THEN LET BL=ON: RETURN
237 LET I=CODE I$: LET TEC=TEC-1
239 IF I=13 THEN PRINT " ": BEEP .01,9: RETURN
240 IF I=12 THEN IF LEN A$ THEN BEEP .01,0: PRINT CHR$ 8;" ";CHR$ 8;CHR$ 8;: LET A$=A$( TO LEN A$-1): GO TO 234
242 IF I<32 THEN GO TO 245
243 LET TEC=TEC+KTEC: BEEP .01,0: LET A$=A$+I$: PRINT I$;: GO TO 234
245 IF MON THEN IF TEC<MTEC THEN GO SUB MOV
246 GO TO 234
299 REM NHA ***
300 GO TO VAL "5E3"+CODE "d"*(SIT-ON)
399 REM OK ***
400 PRINT "VALE,";N$;"."
499 REM ORD ***
500 LET MON=ON: PRINT : GO SUB INP: IF BL THEN LET A$="EL TIEMPO PASA...": GO SUB TEX: GO TO ORD
504 LET A$=A$+" "
505 LET VERBOK=OFF
506 LET SUJEOK=OFF
507 LET HAYSUJ=OFF
510 FOR L=1 TO LEN A$: IF A$(L)<>" " THEN NEXT L: LET A$="NO ENTIENDO.": GO SUB TEX: GO TO ORD
540 LET C$=A$( TO L-1): LET U$=C$: LET A$=A$(L+1 TO ): GO SUB 570: IF VERBOK THEN GO TO 543
542 GO TO 510
543 FOR L=1 TO LEN A$: IF A$(L)<>" " THEN NEXT L: LET A$=("£"+B$+"? NO COMPRENDO." AND HAYSUJ)+("EXPLICATE MEJOR." AND NOT HAYSUJ): GO SUB TEX: GO TO ORD
545 LET B$=A$( TO L-1): LET Y$=B$: LET A$=A$(L+1 TO ): GO SUB 580: IF SUJEOK THEN GO TO 590
550 GO TO 543
570 FOR N=1 TO NV: IF V$(N)<>U$ THEN NEXT N: RETURN
575 LET VERBOK=1: RETURN
580 LET HAYSUJ=1: FOR M=1 TO NS: IF S$(M, TO 4)<>Y$ THEN NEXT M: RETURN
585 LET SUJEOK=1: RETURN
590 IF NOT VAL T$(M,N) THEN LET A$="NO PUEDES HACER ESO,"+N$+".": GO SUB TEX: GO TO ORD
595 LET IS=M
600 IF N=1 OR N=11 OR N=17 THEN GO TO 1000
601 IF N=2 OR N=13 THEN GO TO 1100
602 IF N=3 OR N=14 OR N=15 THEN GO TO 1200
603 IF N=4 THEN GO TO 1300
604 IF N=5 THEN GO TO 1400
605 IF N=6 THEN GO TO 1500
606 IF N=7 THEN GO TO 1600
607 IF N=8 OR N=16 THEN GO TO 1700
608 IF N=9 OR N=12 THEN GO TO 1800
609 GO TO 1900
700 REM BOR ***
715 BORDER VAL "7": PAPER VAL "7": INK OFF
716 RANDOMIZE USR VAL "3438": POKE VAL "23692",CODE "COPY": PRINT AT VAL "21",OFF'': RETURN
999 REM VE ***
1000 LET N=S(SIT,IS): IF NOT N THEN LET A$="NO PUEDO IR EN ESA DIRECCION."+(" HAY UNA PARED." AND (SIT>VAL "5")): GO SUB TEX: GO TO ORD
1010 IF N>VAL "100" THEN LET A$="NO PUEDO IR EN ESA DIRECCION. HAY UNA PUERTA CERRADA.": GO SUB TEX: GO TO ORD
1020 LET SIT=N: GO TO NHA
1099 REM COGE ***
1100 IF NOT O(IS) THEN LET A$="YA TENGO "+S$(IS): GO SUB TEX: GO TO ORD
1105 IF (SIT=VAL "10" OR SIT=VAL "11") AND NOT LUZ THEN LET A$="NO HAY LUZ AQUI.": GO SUB TEX: LET A$="NO VEO NI TORTA,"+N$+".": GO SUB TEX: GO TO ORD
1110 IF O(IS)<>SIT THEN LET A$="NO VEO "+S$(IS)+" AQUI.": GO SUB TEX: GO TO ORD
1120 IF NC=NCM THEN LET A$="NO PUEDO LLEVAR MAS COSAS.": GO SUB TEX: GO TO ORD
1130 LET O(IS)=OFF: LET NC=NC+ON: GO TO OK
1199 REM DEJA ***
1200 GO SUB TIE: IF IS<>VAL "7" THEN LET O(IS)=SIT: LET NC=NC-ON: GO TO OK
1220 FOR N=HAY TO NS: IF NOT O(N) THEN LET O(N)=SIT
1230 NEXT N: LET NC=NOT PI: GO TO OK
1299 REM ABRE ***
1300 IF IS=VAL "13" THEN GO TO VAL "1330"
1305 IF O(VAL "8") THEN LET A$="NO TENGO LA LLAVE.": GO SUB TEX: GO TO ORD
1310 FOR N=ON TO VAL "4": LET M=S(SIT,N): IF M>CODE "d" THEN LET S(SIT,N)=M-CODE "d": LET S(M-CODE "d",N-(N=VAL "2" OR N=VAL "4")+(N=ON OR N=INT PI))=SIT: LET A$="ABRO LA PUERTA QUE VA AL "+S$(N): GO SUB TEX: GO TO OK
1320 NEXT N: LET A$="NO HAY NINGUNA PUERTA CERRADA.": GO SUB TEX: GO TO ORD
1330 IF CA THEN LET A$="@YA ESTA ABIERTA,HOMBRE!": GO SUB TEX: GO TO ORD
1340 LET A$="£CUAL ES LA COMBINACION?": GO SUB TEX: GO SUB INP: IF A$=X$ THEN LET CA=ON: LET O(9)=SCA: LET O(10)=SCA: LET A$="@DENTRO HAY UNAS NOTAS Y UN EXAMEN!": GO SUB TEX: GO TO OK
1350 LET A$="LA CAJA NO SE ABRE.PARECE QUE NOES ESA LA COMBINACION.": GO SUB TEX: GO TO ORD
1399 REM COPIA ***
1400 GO SUB TIE: IF EC THEN LET A$="@YA ESTA COPIADO!": GO SUB TEX: GO TO ORD
1405 IF O(VAL "11") AND O(VAL "14") THEN LET A$="NO TENGO CON QUE ESCRIBIR.": GO SUB TEX: GO TO ORD
1410 IF O(VAL "12") THEN LET A$="NO TENGO EN QUE ESCRIBIR.": GO SUB TEX: GO TO ORD
1415 IF (SIT=VAL "10" OR SIT=VAL "11") AND NOT LUZ THEN LET A$="NO HAY LUZ,NO VEO NADA,"+N$+".": GO SUB TEX: GO TO ORD
1420 FOR M=ON TO VAL "10"
1430 LET A$=E$(M,VAL "2" TO CODE E$(M,ON)-CODE " "): GO SUB TEX
1435 GO SUB MOV
1436 PAUSE CODE "Z"
1440 NEXT M: LET EC=ON: LET A$="YA ESTA.": GO SUB TEX: GO TO ORD
1499 REM CAMBIA ***
1500 GO SUB TIE: IF CC THEN LET A$="YA ESTAN CAMBIADAS DE ANTES.": GO SUB TEX: GO TO ORD
1510 IF O(VAL "11") AND O(VAL "14") THEN LET A$="NO TENGO CON QUE ESCRIBIR.": GO SUB TEX: GO TO ORD
1515 IF (SIT=VAL "10" OR SIT=VAL "11") AND NOT LUZ THEN LET A$="ESTO ESTA A OSCURAS Y NO VEO NA-DA DE NADA,"+N$+".": GO SUB TEX: GO TO ORD
1520 GO SUB VAL "2E3": PRINT '
1525 FOR A=ON TO VAL "10"
1530 LET A$="NOTA DE "+L$(A, TO 12): GO SUB TEX: GO SUB INP
1535 FOR L=1 TO LEN A$: IF (A$(L)<"0" OR A$(L)>"9") AND A$(L)<>"." THEN LET A$="NO ENTIENDO.": GO SUB TEX: GO TO VAL "1530"
1540 NEXT L
1545 LET M=INT VAL A$: IF M<OFF OR M>VAL "10" THEN LET A$="NO VALE.": GO SUB TEX: GO TO VAL "1530"
1550 IF M<5 THEN LET A$="£ESTAS SEGURO?": GO SUB TEX: GO TO VAL "1530"
1560 LET A$=" " AND M<VAL "10": LET L$(A,VAL "13" TO )=A$+STR$ M
1565 NEXT A: LET CC=ON: LET A$="ASI ESTA MEJOR.": GO SUB TEX: GO TO ORD
1599 REM HAZ ***
1600 FOR N=HAY TO NS: IF O(N) THEN GO TO VAL "1610"
1603 LET A$=H$(VAL J$(N-HAY+ON)): LET A$=A$(VAL "2" TO VAL A$(ON))
1605 LET A$="TENGO UN"+A$+S$(N): GO SUB TEX
1610 NEXT N: GO TO ORD
1699 REM MIRA ***
1700 IF IS=VAL "7" THEN GO TO NHA
1705 GO SUB TIE: IF (SIT=VAL "10" OR SIT=VAL "11") AND NOT LUZ THEN LET A$="NO PUEDO MIRAR NADA PORQUE ESTO ESTA MUY OSCURO.": GO SUB TEX: GO TO ORD
1710 IF IS=VAL "18" THEN LET A$="@TIENE ALGO ESCRITO!": GO SUB TEX: FOR N=ON TO VAL "200": NEXT N: LET A$="PONE... "+X$: GO SUB TEX: GO TO ORD
1720 IF IS=VAL "9" THEN GO SUB VAL "2E3": GO TO ORD
1730 IF IS=VAL "10" THEN GO SUB VAL "3E3": GO TO ORD
1735 IF IS=VAL "12" AND EC THEN GO SUB VAL "3E3": GO TO ORD
1740 LET A$="NO TIENE NADA ESPECIAL.": GO SUB TEX: GO TO ORD
1799 REM ENCIENDE ***
1800 GO SUB TIE: IF LUZ THEN LET A$="@YA ESTA ENCENDIDA,HOMBRE!": GO SUB TEX: GO TO ORD
1810 LET LUZ=ON: GO TO OK
1899 REM LEE ***
1900 GO SUB TIE: IF (SIT=VAL "10" OR SIT=VAL "11") AND NOT LUZ THEN LET A$="NO PUEDO LEER A OSCURAS.": GO SUB TEX: GO TO ORD
1905 IF IS=VAL "12" AND NOT EC THEN LET A$="ESTA EN BLANCO.": GO SUB TEX: GO TO ORD
1906 IF IS=VAL "12" AND EC THEN GO SUB VAL "3E3": GO TO ORD
1910 IF IS=VAL "18" THEN LET A$="PONE... "+X$: GO SUB TEX: GO TO ORD
1920 IF IS=VAL "9" THEN GO SUB VAL "2E3": GO TO ORD
1930 GO SUB VAL "3E3": GO TO ORD
1999 REM NOTAS ***
2000 PRINT ': LET A$="ALUMNO:"+N$: GO SUB TEX: LET A$="CURSO: 3A DE B.U.P.": GO SUB TEX: LET A$="CALIFICACIONES FINALES": GO SUB TEX: LET A$="________________________________": GO SUB TEX
2010 PRINT : FOR N=ON TO VAL "10": LET A$=L$(N): GO SUB TEX: NEXT N: RETURN
2999 REM EXAMEN ***
3000 PRINT ': LET A$="EXAMEN FINAL DE 3A DE B.U.P.": GO SUB TEX: LET A$="================================": GO SUB TEX
3010 PRINT : FOR N=ON TO VAL "10": LET A$=" - CUESTION "+STR$ N+":": GO SUB TEX: LET A$=E$(N,VAL "2" TO CODE E$(N,ON)-CODE " "): GO SUB TEX: NEXT N: RETURN
3999 REM PIL ***
4000 LET MON=OFF: LET EXPU=OFF: IF SIT>VAL "24" THEN LET EXPU=ON: LET A$="TE COGE POR EL CUELLO Y TE DICE:@COMO HAS ENTRADO AQUI?"+(" ANTES TE DI UNA OPORTUNIDAD DE ENDERE-ZAR TU VIDA Y LA DESPERDICIASTE.PERO ESTO YA ES DEMASIADO." AND V(PER)): GO SUB
TEX
4001 IF V(PER) AND NOT EXPU THEN LET A$="SE ACERCA HACIA TI Y TE DICE:": GO SUB TEX: LET A$="£OTRA VEZ TU POR AQUI? SERA ME- JOR QUE TE VAYAS CUANTO ANTES.": GO SUB TEX: GO TO VAL "4007"*(EC AND NOT O(12))+VAL "4085"*(NOT (EC AND NOT O(VAL "12")))
4005 IF EXPU THEN LET A$="ESTA HABITACION ESTABA CERRADA CON LLAVE,MALDITO HEREJE.": GO SUB TEX: IF (SCA=SIT) AND CA THEN LET A$="@Y ADEMAS HAS ABIERTO LA CAJA!": GO SUB TEX
4007 IF NOT O(VAL "12") AND EC THEN LET EXPU=ON: PRINT : LET A$="£QUE ES ESE PAPEL QUE TIENES AHI ESCONDIDO?,DEJAME VER...": GO SUB TEX: PAUSE CODE "d": LET A$="HUM...": GO SUB TEX: PAUSE CODE "d": LET A$="ASI QUE HAS COPIADO EL EXAMEN...": GO SUB TEX
4010 IF EXPU THEN LET A$="ESTO SIGNIFICA TU INMEDIATA EXPULSION DE ESTE CENTRO.": GO SUB TEX: LET A$="NOTIFICARE ESTO A TUS PADRES Y": GO SUB TEX
4015 IF EXPU THEN LET A$="TE ENCOMENDARE AL PAPA PARA TU SALVACION,AUNQUE ME PARECE QUE ATI YA NO TE SALVA NI DIOS.": GO SUB TEX: GO TO FIN
4020 LET A$="SE VUELVE HACIA TI CON UNA SON- RISA SARCASTICA Y TE DICE LO DE SIEMPRE:": GO SUB TEX
4025 LET A$="£QUE TAL,"+N$+"?": GO SUB TEX: LET A$="£SABES QUE ESTAR EN EL COLEGIO A ESTAS HORAS ES UNA GRAVE FALTADE DISCIPLINA?": GO SUB TEX
4030 LET A$="£NO RESPONDES?": GO SUB TEX: GO SUB INP: IF BL=OFF AND A$<>"" THEN LET A$="@NO OSES RESPONDERME,CONDENADO FARISEO!": GO SUB TEX
4035 LET FAL=FAL+ON: LET A$="YA TIENES "+STR$ FAL+" FALTA"+("S" AND (FAL>ON)): GO SUB TEX: LET A$="DE DISCIPLINA,"+N$+".": GO SUB TEX
4040 IF FAL>VAL "2" THEN LET EXPU=ON: LET A$="ESO SIGNIFICA TU EXPULSION IRRE-MEDIABLE DE ESTE CENTRO DE FOR- MACION INTEGRAL.": GO SUB TEX
4045 IF EXPU THEN LET A$="£CUANTAS VECES TE ADVERTI QUE SI NO TE GUSTABA EL COLEGIO QUE": GO SUB TEX
4050 IF EXPU THEN LET A$="YO REPRESENTO (@EREVEST SOY YO!)" AND (PER=ON): LET B$="NUESTRO DIRECTOR REPRESENTA" AND (PER>ON): LET A$=A$+B$: GO SUB TEX: LET A$="TE BUSCASES OTRO?": GO SUB TEX: GO TO VAL "8500"
4055 LET A$="ESTE COMPORTAMIENTO NO ES PROPIODE UN ALUMNO QUE SE ESTA FORMAN-DO EN EL COLEGIO EREVEST.": GO SUB TEX: LET A$="ESTO ME PRUEBA QUE SOLO ERES UNALATA VACIA Y VIEJA,"+N$+".": GO SUB TEX
4060 LET A$="ERES COMO UNA SEPULTURA,BLANCA YLIMPIA POR FUERA,PERO PODRIDA POR DENTRO.": GO SUB TEX
4065 LET A$="NO ERES UN HOMBRE,"+N$+".": GO SUB TEX: LET A$="NO TIENES VOLUNTAD NI LIBERTAD. SI QUIERES SER LIBRE,NO TE DEJESLLEVAR POR LOS DEMAS,NI POR NADADE NADA.": GO SUB TEX
4070 LET A$="ESO SI,SOLO HAZ LO QUE NOSOTROS TE DIGAMOS,PUES YA SABES QUE SO-MOS LAS PERSONAS MAS PREPARADAS PARA AYUDARTE.": GO SUB TEX: LET A$="A PROPOSITO,£COMO VA TU VIDA ES-PIRITUAL?": GO SUB TEX
4072 LET M=INT (RND*VAL "10"+ON): LET A$="£CUAL ES EL MANDAMIENTO "+STR$ M+"?": GO SUB TEX: GO SUB INP: LET M$(VAL "11")=A$: LET B$="@NO ES ASI!...@QUEDAS EXPULSADO INDEFINIDAMENTE POR REBELDIA Y DESACATO!": LET EXPU=ON: IF M$(VAL "11")=M$(M) THEN LET
B$="@MUY BIEN! ASI ME GUSTA: QUE A PESAR DE TODO SEAS UN HOMBRE.": LET EXPU=OFF
4073 IF BL OR A$="" THEN LET B$="ASI QUE NO TE LO SABES,£EH? TE PARECE BIEN ESO,£VERDAD? PUES NO PUEDO DEJAR QUE PERMA- NEZCAS POR MAS TIEMPO EN ESTE CENTRO DE FORMACION INTEGRAL. AQUI SOLO QUEREMOS PERSONAS RES-PONSABLES."
4075 LET A$=B$: GO SUB TEX: IF M$(VAL "11")<>M$(M) THEN LET EXPU=ON: GO TO VAL "8500"
4080 LET A$="EN FIN,OTRO DIA VEN A BUSCARME YSEGUIREMOS CHARLANDO...": GO SUB TEX: LET A$="HASTA LA VISTA,"+N$+".": GO SUB TEX
4085 GO SUB PAGE: GO TO ORD
4086 :
4087 REM TEX ***
4090 POKE VAL "23692",VAL "255": FOR L=ON TO LEN A$: PRINT W$;A$(L);: NEXT L: PRINT : LET A$="": RETURN
4094 REM TRIM ***
4095 FOR L=LEN A$ TO ON STEP -1: IF A$(L)<>" " THEN RETURN
4096 LET A$=A$( TO LEN A$-ON)
4098 NEXT L: RETURN
4100 REM PAGE ***
4105 LET P(PER)=INT (RND*NH+ON): IF P(PER)=SIT THEN GO TO VAL "4105"
4110 PRINT : LET A$="SE DA MEDIA VUELTA Y SE VA.": GO SUB TEX: POKE VAL "23692",VAL "255"
4120 FOR L=ON TO VAL "22": FOR N=ON TO ON+ON: NEXT N: PRINT : NEXT L
4130 LET V(PER)=ON: IF NOT EXPU THEN LET A$="@UF!...POR POCO £EH?": GO SUB TEX
4135 RETURN
4140 :
4997 REM DIBUJOS ***
4998 :
4999 REM PUERTA 1 ---
5000 PAPER 0: BORDER 1: INK 7: CLS : PRINT AT 4,12; INVERSE 1;"COLEGIO";AT 5,12;"EREVEST": PRINT AT 6,10;"▛▀▀▀▀▀▀▀▀▀▜";AT 6,15; OVER 1;"▐";AT 6,15;"▝"
5010 FOR N=1 TO 10: PRINT TAB 10;"▌ ▐ ▐": NEXT N: PRINT AT 12,14; OVER 1;"o o"
5020 PLOT 0,40: DRAW 255,0: PRINT AT 3,0;: FOR n=1 TO 10: PRINT " =======": NEXT n: FOR n=3 TO 12: PRINT AT n,23;"=======": NEXT n
5030 FOR N=17 TO 21: PRINT AT N,0;"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL": NEXT N
5090 LET A$="ESTAS EN UNA PUERTA DEL COLEGIO.": GO TO PAI
5198 :
5199 REM PUERTA 2-3 ---
5200 PAPER 0: BORDER 1: INK 7: CLS : PRINT AT 3,3;"██████████████████████████": FOR N=4 TO 16: PRINT AT N,3;"█";TAB 11;"█";TAB 20;"█";TAB 28;"█": NEXT N
5210 PRINT AT 10,3;"██████████████████████████";AT 10,4; OVER 1;"O";AT 10,12;"O";AT 10,21;"O":
5220 PLOT 24,40: DRAW 207,0: DRAW 24,-40: PLOT 24,40: DRAW -24,-40: PLOT 24,151: DRAW -24,24: PLOT 231,151: DRAW 24,24
5230 LET A$="TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT": PRINT AT 17,3;A$( TO 26);AT 18,3;A$( TO 26);AT 19,2;A$( TO 28);AT 20,2;A$( TO 28);AT 21,1;A$
5290 LET A$="ESTAS EN UNA PUERTA DEL COLEGIO.": GO TO PAI
5294 :
5295 REM PUERTA 4 ---
5300 PAPER 0: BORDER 1: INK 7: CLS : FOR N=1 TO 6: PRINT "LLLLLLLLLLLLLLLLLL": NEXT N: FOR N=1 TO 11: PRINT "LLLLLLLLLL": NEXT N
5310 OVER 1: PRINT AT 6,10;"////////";AT 6,10;"▛▀▀▀▀▀▀▜"
5315 FOR N=7 TO 16: PRINT AT N,10;"▌ ▐";AT N,10;"////////": NEXT N: PRINT AT 11,11;"l";AT 11,11;"0": OVER 0
5320 PLOT 0,39: DRAW 144,0: DRAW 0,136: PLOT 144,39: DRAW 111,-39
5390 LET A$="ESTAS EN UNA PUERTA DEL COLEGIO.": GO TO PAI
5394 :
5395 REM PUERTA 5 ---
5400 PAPER 0: BORDER 1: INK 7: CLS : PLOT 70,65: DRAW 0,90: DRAW 50,0: DRAW 0,-90: PLOT 125,65: DRAW 0,90: DRAW 50,0: DRAW 0,-90
5410 PLOT 72,123: DRAW 0,30: DRAW 46,0: DRAW 0,-30: DRAW -46,0: PLOT 127,123: DRAW 0,30: DRAW 46,0: DRAW 0,-30: DRAW -46,0
5420 PLOT 72,75: DRAW 0,30: DRAW 46,0: DRAW 0,-30: DRAW -46,0: PLOT 127,75: DRAW 0,30: DRAW 46,0: DRAW 0,-30: DRAW -46,0
5430 PRINT AT 7,14;"0";AT 7,16;"0": FOR N=2 TO 13: PRINT AT N,8; OVER 1; INVERSE 1;" ": NEXT N: FOR N=14 TO 20: PRINT AT N,22-N;"____________________________"((21-N)*2 TO ): NEXT N
5490 LET A$="ESTAS EN UNA PUERTA DEL COLEGIO.": GO TO PAI
5494 :
5495 REM W.C. PROFESORES 6 ---
5500 BORDER 5: CLS : PLOT 10,70: DRAW 40,20: DRAW 0,60: DRAW -40,-20: DRAW 0,-60: PLOT 13,75: DRAW 35,17: DRAW 0,52: DRAW -35,-17: DRAW 0,-52
5510 PLOT 15,50: DRAW 40,10,PI/3: DRAW 0,10,PI/5: DRAW -40,-20: DRAW -5,0: DRAW 40,20: DRAW 5,0: PLOT 10,50: DRAW 46,15,PI: PRINT AT 14,3; OVER 1; INK 2;"▛";AT 13,4; INK 5;"▛": PRINT AT 18,4;"U"
5520 PLOT 0,0: DRAW 100,40: DRAW 0,135: PLOT 100,40: DRAW 155,0
5540 PRINT AT 9,9;"L": PLOT 72,97: DRAW -4,-30: DRAW 7,-7,-PI/2: DRAW 6,6,PI/2: DRAW -5,5: PLOT 78,67: DRAW -3,28
5590 LET A$="ESTAS EN EL W.C. DE PROFESORES. EL OLOR ES INAGUANTABLE.": GO TO PAI
5594 :
5595 REM GIMNASIO 7 ---
5600 BORDER 4: CLS : DRAW 70,70: DRAW 135,0: DRAW 50,-55: PLOT 70,70: DRAW 0,80: DRAW -70,25: PLOT 70,150: DRAW 135,0: DRAW 50,25: PLOT 205,150: DRAW 0,-80
5610 FOR N=120 TO 75 STEP -5: PLOT 100,N: DRAW 60,0: PLOT 100,N-2: DRAW 60,0: NEXT N: PLOT 98,67: DRAW 0,60: DRAW 3,3: DRAW 0,-60: DRAW -3,-3: PLOT 160,67: DRAW 0,60: DRAW 3,3: DRAW 0,-60: DRAW -3,-3
5620 PLOT 180,165: DRAW 0,-60: CIRCLE 180,100,5: PLOT 187,168: DRAW 0,-60: CIRCLE 187,103,5
5630 CIRCLE 60,20,10: PLOT 68,28: DRAW 20,20: DRAW 1,-1: DRAW -20,-20: CIRCLE 91,51,7
5690 LET A$="ESTAS EN EL GIMNASIO. EL OLOR A ZAPATO ES SOBREHUMANO.": GO TO PAI
5694 :
5695 REM DESPENSA 8 ---
5700 BORDER 0: CLS : DRAW 55,60: DRAW 200,0: PLOT 55,60: DRAW 0,115: PRINT AT 3,11;"J J J J J"
5730 PLOT 125,146: DRAW -3,-3,PI/3: DRAW 0,-20: DRAW 10,-20,PI/1.5: DRAW 7,7,-PI: DRAW -7,-7,-PI: PLOT 139,110: DRAW -10,15,PI/2: DRAW -1,10: DRAW 4,4: DRAW -6,6: DRAW -2,-2: DRAW 6,-6
5780 PLOT 186,146: DRAW 0,-4: DRAW -3,-3,PI/2: DRAW 0,-15: DRAW 3,-3,PI/2: DRAW 3,3,PI/2: DRAW 0,15: DRAW -3,3,PI/2: PLOT 186,120: DRAW -2,-2: DRAW 4,0: DRAW -2,2
5790 LET A$="ESTAS EN LA DESPENSA. HAY UN TUFO A CARNE PODRIDA...": GO TO PAI
5794 :
5795 REM COCINA 9 ---
5800 BORDER 1: CLS : PLOT 0,60: DRAW 255,0: PLOT 0,60: DRAW 18,20: DRAW 225,0: DRAW 12,-19: LET X=4: GO SUB 5880: LET X=57: GO SUB 5880: PRINT AT 18,5;"0";AT 18,8;"0": LET X=110: GO SUB 5880: PLOT 110,45: DRAW 50,0: PRINT AT 15,14; OVER 1;"uuoouu";AT 16,1
6;"__"
5820 PLOT 163,4: DRAW 88,0: DRAW 0,50: DRAW -88,0: DRAW 0,-50: PLOT 208,4: DRAW 0,50
5850 OVER 1: FOR N=0 TO 11: PRINT AT N,3; INK 1;"***************************": NEXT N: OVER 0: PLOT 18,80: DRAW 0,95: PLOT 244,80: DRAW 0,95: PRINT AT 12,15;"o o";AT 13,15;"O O"; OVER 1;AT 12,15;"/ /";AT 13,15;"/ /": PLOT 115,80: DRAW -7,-20: PLOT 146,8
0: DRAW 12,-20: GO TO 5890
5880 PLOT X,4: DRAW 50,0: DRAW 0,50: DRAW -50,0: DRAW 0,-50: RETURN
5890 LET A$="ESTAS EN LA COCINA. LA SUCIEDAD CUBRE LOS MUEBLES.": GO TO PAI
5894 :
5895 REM SOTANO 10 ---
5900 PAPER 5: INK 0: IF NOT LUZ THEN INK 7: BORDER 0: PAPER 0
5930 CLS : DRAW 50,40: DRAW 0,135: PLOT 50,40: DRAW 205,0: PLOT 100,175: DRAW 0,-60: FOR N=3 TO 1 STEP -1: CIRCLE 100,111,N: NEXT N: PLOT 97,113: DRAW -2,2: DRAW -2,0: PLOT 97,111: DRAW -2,2: DRAW -2,0: PLOT 97,109: DRAW -2,2: DRAW -2,0
5940 PLOT 102,113: DRAW 2,2: DRAW 2,0: PLOT 102,111: DRAW 2,2: DRAW 2,0: PLOT 103,109: DRAW 2,2: DRAW 2,0: PLOT 100,109: DRAW -2,-2: PLOT 101,109: DRAW 2,-2
5990 LET A$="ESTAS EN EN EL SOTANO."+((" TODO ESTA A OSCURAS,NO VES NADA.") AND NOT LUZ): IF LUZ THEN LET LUZ=OFF: GO TO PAI
5991 PAUSE CODE "K": GO SUB BOR: GO TO ORD
5994 :
5995 REM BALONERA 11 ---
6000 BORDER 0: PAPER 5: INK 0: IF NOT LUZ THEN INK 7: PAPER 0
6010 CLS : DRAW 100,70: DRAW 0,105: PLOT 100,70: DRAW 50,0: PLOT 150,70: DRAW 105,-70: PLOT 150,70: DRAW 0,105
6020 PLOT 125,175: DRAW 0,-20: DRAW 3,0: DRAW 0,-2: DRAW -6,0: DRAW 0,2: DRAW 3,0: PLOT 123,152: DRAW 7,-7,PI: DRAW -3,2: DRAW 2,2: DRAW -2,2
6090 LET A$="ESTAS EN LA BALONERA."+((" TODO ESTA A OSCURAS,NO VES NADA.") AND NOT LUZ): IF LUZ THEN LET LUZ=OFF: GO TO PAI
6091 PAUSE CODE "K": PAPER VAL "7": BORDER VAL "7": INK NOT PI: GO SUB BOR: GO TO ORD
6094 :
6095 REM HALL 12 ---
6100 BORDER 1: PAPER 1: INK 7: CLS : DRAW 60,60: DRAW 100,0: DRAW 60,-60: PLOT 60,60: DRAW 0,115: PLOT 160,60: DRAW 0,115
6110 PLOT 10,10: DRAW 0,130: DRAW 30,30: DRAW 0,-130: PLOT 13,13: DRAW 0,130: DRAW 30,30: DRAW 0,-130: PRINT AT 11,2;"}"
6120 PLOT 210,10: DRAW 0,130: DRAW -30,30: DRAW 0,-130: PLOT 213,7: DRAW 0,130: DRAW -30,30: DRAW 0,-130: PRINT AT 10,23;"{"
6130 PLOT 80,60: DRAW 0,110: DRAW 60,0: DRAW 0,-110: PLOT 83,60: DRAW 0,110: DRAW 60,0: DRAW 0,-110: PRINT AT 7,11;"|"
6190 LET A$="ESTAS EN UN HALL.": GO TO PAI
6194 :
6195 REM HALL ENTRADA 13 ---
6200 CLS : INK 2:: FOR N=50 TO 0 STEP -5: PLOT 0,N: DRAW 255,0: NEXT N
6201 PRINT AT 15,0;"▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
6210 INK 3: PLOT 40,120: DRAW 70,0: DRAW 0,40: DRAW -70,0: DRAW 0,-40: PLOT 37,117:: DRAW 76,0: DRAW 0,46: DRAW -76,0: DRAW 0,-46: PLOT 71,163: DRAW 5,5: DRAW 5,-5: PRINT AT 3,8; BRIGHT 1;"SED";AT 5,6;"BUENOS"
6220 INK 0: INVERSE 1: PRINT AT 3,25;" ";AT 4,25;" ";AT 5,23;" ";AT 6,25;" ";AT 7,25;" ";AT 8,25;" ";AT 9,25;" ": INVERSE 0
6290 LET A$="ESTAS EN EL HALL DE ENTRADA.": GO TO PAI
6294 :
6295 REM RECEPCION 14 ---
6300 BORDER 6: CLS : PLOT 0,75: DRAW 0,100: DRAW 255,0: DRAW 0,-100: DRAW -100,0: PLOT 0,75: DRAW 31,0
6310 FOR N=13 TO 21: PRINT AT N,0; PAPER 6;"////////////////////////////////": NEXT N: PRINT AT 13,18;" ";AT 14,18;" "
6320 FOR N=10 TO 15: PRINT AT N,4; INVERSE 1;" ": NEXT N: PLOT 32,96: DRAW 10,10: DRAW 112,0: DRAW -10,-10: PLOT 154,106: DRAW 0,-47: DRAW -10,-10
6330 PLOT 80,106: DRAW 40,0,-PI
6390 LET A$="////////////////////////////////ESTAS EN RECEPCION.": GO TO PAI
6394 :
6395 REM SALA VISITAS 15 ---
6400 BORDER 1: CLS : DRAW 100,50: DRAW 155,-50: PLOT 100,50: DRAW 0,125
6410 PLOT 180,175: DRAW 0,-60: PLOT 160,95: DRAW 40,0,-PI: DRAW -40,0: PLOT 165,95: DRAW 30,0,PI
6420 PLOT 10,70: DRAW 60,20: DRAW 0,50: DRAW -60,-20: DRAW 0,-50: PLOT 10,95: DRAW 60,20: PLOT 40,80: DRAW 0,50
6490 LET A$="ESTAS EN LA SALA DE VISITAS."
6491 GO TO PAI
6494 :
6495 REM PASILLO 16 ---
6500 LET X=90
6501 LET Y=80
6502 LET N=10
6503 GO TO 6910
6595 REM PASILLO 17 ---
6600 LET X=50
6601 LET Y=80
6602 LET N=20
6603 GO TO 6910
6695 REM PASILLO 18 ---
6700 LET X=100
6701 LET Y=70
6702 LET N=30
6703 GO TO 6910
6795 REM PASILLO 19 ---
6800 LET X=60
6801 LET Y=40
6802 LET N=40
6803 GO TO 6910
6894 :
6895 REM PASILLO 20 ---
6900 LET X=50: LET Y=60: LET N=50
6910 BORDER 0: CLS : PLOT X,Y: DRAW 0,N: DRAW N,0: DRAW 0,-N: DRAW -N,0
6930 PLOT 0,0: DRAW X,Y: PLOT X+N,Y: DRAW 255-X-N,-Y
6950 PLOT X,Y+N: DRAW -X,175-Y-N: PLOT X+N,Y+N: DRAW 255-X-N,175-Y-N
6990 FOR M=X TO X: PLOT M,Y: DRAW 0,N: NEXT M: LET A$="ESTAS EN EL PASILLO.": GO TO PAI
6994 :
6995 REM W.C. ALUMNOS 21 ---
7000 BORDER 5: CLS : PLOT 0,11: DRAW 255,0: PLOT 0,160: DRAW 255,0: PRINT AT 6,24;"__": FOR N=7 TO 10: PRINT AT N,25;"|": NEXT N: PRINT AT N,25;"O": PLOT 150,100: DRAW 40,0: DRAW 0,30: DRAW -40,0: DRAW 0,-30: PLOT 150,130: DRAW 8,8: DRAW 40,0: DRAW -8,-8:
PLOT 198,138: DRAW 0,-30: DRAW -8,-8
7030 PLOT 155,60: DRAW 30,0,-3.5: DRAW -30,0,-3.5: PLOT 155,37: DRAW 30,0,-1.5: DRAW -30,0,-PI
7040 DRAW 0,-10: DRAW 10,-15: DRAW 10,0,1: DRAW 10,15: DRAW 0,10: CIRCLE 170,32,7
7050 PRINT AT 15,6;"O": PLOT 40,11: DRAW 0,90: DRAW 50,0: DRAW 0,-90: PLOT 38,11: DRAW 0,92: DRAW 54,0: DRAW 0,-92
7090 LET A$="ESTAS EN EL W.C. DEL ALUMNADO. IMPECABLE COMO SIEMPRE,CLARO.": GO TO PAI
7095 REM CAPILLA 22.............
7100 BORDER 1: CLS : PLOT 0,50: DRAW 255,0: INVERSE 1: FOR N=10 TO 18: PRINT AT N,15; PAPER 6; INK 7; BRIGHT 1;"++++++++++++++": NEXT N: INVERSE 0
7110 INK 6: FOR N=1 TO 10: PLOT 119+N,95+N: DRAW 110,0: NEXT N: FOR N=1 TO 9: PLOT 231+N,23+N: DRAW 0,72: NEXT N: INK 0
7120 PLOT 40,30: DRAW -10,-10: DRAW 1,0: DRAW 10,10: DRAW 0,-5: DRAW 1,0: DRAW 0,5: DRAW 10,-10: DRAW 1,0: DRAW -10,10
7140 DRAW 0,60: DRAW -1,0: DRAW 0,-60: PLOT 43,90: DRAW 20,0: DRAW -10,10: DRAW -40,0: DRAW 10,-11: DRAW 40,0: DRAW 0,1: DRAW -40,0: DRAW 10,-10: DRAW 40,0: DRAW -10,10: PLOT 33,100: DRAW 20,-20: DRAW -1,0: DRAW -20,20
7190 INVERSE 1: FOR N=1 TO 10: PRINT AT N,10;" ": NEXT N: PRINT AT 4,7;" ";: INVERSE 0: LET A$="ESTAS EN LA CAPILLA.": GO TO PAI
7194 :
7195 REM PASILLO 23 ---
7200 LET X=100
7201 LET Y=30
7202 LET N=55
7203 GO TO 6910
7204 :
7295 REM COMEDOR 24 ---
7300 CLS : PLOT 0,50: DRAW 255,0: DRAW 0,5: DRAW -255,0: DRAW 0,-5: PLOT 0,55: DRAW 30,20: DRAW 195,0: DRAW 30,-20
7310 PLOT 10,50: DRAW 2,-40: DRAW 4,0: DRAW 2,40: PLOT 30,50: DRAW 1,-25: DRAW 3,0: DRAW 1,25
7320 PLOT 240,50: DRAW 2,-40: DRAW 4,0: DRAW 2,40: PLOT 220,50: DRAW 1,-25: DRAW 3,0: DRAW 1,25
7330 PRINT AT 2,4; BRIGHT 1;"REFECTORIO SELF-SERVICE"
7390 PLOT 0,80: DRAW 255,0: DRAW 0,60: DRAW -255,0: DRAW 0,-60: PLOT 0,80: DRAW 30,20: DRAW 195,0: DRAW 30,-20: PLOT 30,100: DRAW 0,40: PLOT 225,100: DRAW 0,40: LET A$="ESTAS EN EL COMEDOR.": GO TO PAI
7394 :
7395 REM DIR.TEC. 25 ---
7400 PAPER 6: CLS : PRINT AT 14,9; INVERSE 1;"DIR.TEC.": FOR N=15 TO 21: PRINT AT N,0; PAPER 2;" ": NEXT N
7410 FOR N=4 TO 10: PRINT AT N,5; PAPER 5; BRIGHT 1;" ": NEXT N
7420 PLOT 40,87: DRAW 0,57: DRAW 65,0: DRAW 0,-57: DRAW -65,0: PLOT 72,87: DRAW 0,57: PLOT 40,115: DRAW 65,0
7430 IF SCA=SIT THEN PLOT 195,60: DRAW 0,40: DRAW 40,0: DRAW 0,-40: DRAW -40,0: PLOT 196,61: DRAW 0,38: DRAW 38,0: DRAW 0,-38: DRAW -39,0: PRINT AT 11,26; INVERSE 1;"0~";AT 7,24;" CAJA ";AT 8,24;"FUERTE"
7490 LET A$="ESTAS EN EL DESPACHO DEL DIRECTOR TECNICO.": GO TO PAI
7494 :
7495 REM DIRECTOR 26 ---
7500 BORDER 1: CLS : PRINT AT 14,11; INVERSE 1;"DIRECTOR": FOR N=15 TO 21: PRINT AT N,10; PAPER 2;" ": NEXT N
7520 FOR N=4 TO 10: PRINT AT N,5; PAPER 5; BRIGHT 1;" ": NEXT N: PLOT 40,87: DRAW 0,57: DRAW 65,0: DRAW 0,-57: DRAW -65,0: PLOT 72,87: DRAW 0,57: PLOT 40,115: DRAW 65,0
7530 IF SCA=SIT THEN PLOT 196,80: DRAW 0,40: DRAW 40,0: DRAW 0,-40: DRAW -40,0: PLOT 197,81: DRAW 0,38: DRAW 38,0: DRAW 0,-38: DRAW -39,0: PRINT AT 9,26; INVERSE 1;"0~";AT 5,24;" CAJA ";AT 6,24;"FUERTE"
7540 INVERSE 1: PRINT AT 1,18;" ";AT 2,18;" ";AT 3,15;" ";AT 4,18;" ";AT 5,18;" ";AT 6,18;" ";AT 7,18;" ";AT 8,18;" ": INVERSE 0
7590 LET A$="ESTAS EN EL DESPACHO DEL DIRECTOR.": GO TO PAI
7594 :
7595 REM SECRETARIA 27 ---
7600 PAPER 5: BORDER 5: CLS : FOR N=15 TO 21: PRINT AT N,14; PAPER 2;" ": NEXT N
7610 IF SCA=SIT THEN PLOT 10,60: DRAW 0,40: DRAW 40,0: DRAW 0,-40: DRAW -40,0: PLOT 11,61: DRAW 0,38: DRAW 38,0: DRAW 0,-38: DRAW -39,0: PRINT AT 11,3; INVERSE 1;"0~";AT 7,1;" CAJA ";AT 8,1;"FUERTE"
7620 FOR N=4 TO 10: PRINT AT N,20; PAPER 5; BRIGHT 1;" ": NEXT N
7630 PLOT 160,87: DRAW 0,57: DRAW 65,0: DRAW 0,-57: DRAW -65,0: PLOT 192,87: DRAW 0,57: PLOT 160,115: DRAW 65,0
7690 LET A$="ESTAS EN SECRETARIA.": GO TO PAI
7694 :
7695 REM C.O.U. 28 ---
7700 BORDER 1: CLS : PAPER 4: PLOT 0,20: DRAW 255,0: PRINT AT 4,13;"▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜": FOR N=5 TO 13: PRINT AT N,13;"▌ ▐": NEXT N: PRINT AT N,13;"▙▄▄▄▄▄▄▄▄▄\.
.▄▄▄▄▟": PAPER 7: PRINT TAB 12; INK 2;"▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
7710 PLOT 168,150: DRAW 0,20: DRAW -1,0: DRAW 0,-20: PLOT 160,165: DRAW 15,0: DRAW 0,-1: DRAW -15,0
7730 PLOT 6,150: DRAW 51,0: DRAW 0,-95: DRAW -51,0: DRAW 0,95: PLOT 8,148: PLOT 55,148: PLOT 8,58: PLOT 55,58: PRINT AT 4,1;"TAREAS": FOR N=134 TO 60 STEP -2: PLOT 9,N: DRAW INT (RND*36+10),0: NEXT N
7750 INK 7: CIRCLE 170,100,20: CIRCLE 170,100,19: DRAW 0,10,PI: PLOT 151,100: DRAW 1,-10,PI: PRINT AT 12,21;"█": PLOT 160,95: DRAW 20,0,PI: CIRCLE 160,105,5: CIRCLE 180,105,5: PRINT AT 5,14; PAPER 4;"EL ";Z$;AT 6,19;P$(INT (RND*NP+1)): PLOT 160,105: PLO
T 180,105: PLOT 161,105: PLOT 179,105: INK 0
7790 LET A$="ESTAS EN LA CLASE DE C.O.U.": GO TO PAI
7794 :
7795 REM B.U.P. 29 ---
7800 BORDER 1: CLS : PLOT 0,20: DRAW 255,0: PAPER 4: PRINT AT 4,5;"▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜": FOR N=5 TO 13: PRINT AT N,5;"▌ ▐": NEXT N: PRINT AT N,5;"▙▄▄▄▄▄▄▄▄▄▄\.
.▄▄▄▟": PAPER 7: PRINT TAB 4; INK 2;"▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
7810 PLOT 108,150: DRAW 0,20: DRAW -1,0: DRAW 0,-20: PLOT 100,165: DRAW 15,0: DRAW 0,-1: DRAW -15,0: PLOT 190,150: DRAW 50,0: DRAW 0,-95: DRAW -50,0: DRAW 0,95
7830 PLOT 192,148: PLOT 238,148: PLOT 192,58: PLOT 238,58: PRINT AT 4,24;"TAREAS": FOR N=134 TO 60 STEP -2: PLOT 192,N: DRAW INT (RND*36+10),0: NEXT N
7840 INK 7: CIRCLE 95,108,7: CIRCLE 95,85,16
7841 PLOT 92,105: DRAW 5,0: PLOT 92,110: DRAW 3,0: PLOT 97,110: DRAW 3,0: CIRCLE 85,107,4: CIRCLE 104,107,4
7842 PLOT 110,94: DRAW 10,0: CIRCLE 125,94,3
7843 PLOT 80,94: DRAW -10,0: CIRCLE 67,94,3
7890 PRINT AT 5,6; PAPER 4;"EL ";Z$;AT 6,10;P$(INT (RND*NP+1)): INK 0: LET A$="ESTAS EN 3A DE B.U.P.": GO TO PAI
7894 :
7895 REM BIBLIOTECA 30 ---
7900 CLS : DRAW 50,50: DRAW 155,0: DRAW 50,-50: PLOT 50,50: DRAW 0,125: PLOT 205,50: DRAW 0,125
7910 FOR N=70 TO 160 STEP 10: PLOT 50,N: DRAW 155,0: PLOT 50,N-2: DRAW 155,0: DRAW 0,-2: PLOT 50,N: DRAW 10,5: DRAW 0,3: PLOT 60,N+5: DRAW 135,0: DRAW 0,3: PLOT 195,N+5: DRAW 10,-5: NEXT N
7920 PLOT 60,169: DRAW 0,6: PLOT 195,169: DRAW 0,6
7990 LET A$="ESTAS EN LA BIBLIOTECA. EL POLVO CUBRE LOS ESTANTES."
7998 :
7999 REM PAI ***
8000 PRINT #ON;AT OFF,OFF;A$: IF SIT<6 THEN IF EC AND CC AND NOT O(12) THEN GO TO FIN
8001 FOR N=ON TO NP: IF P(N)=SIT THEN GO SUB BOR: LET A$="@MALDICION,EL "+Z$+P$(N): GO SUB TEX: LET A$="ESTA AQUI!": GO SUB TEX: PAUSE CODE "K": LET PER=N: GO TO PIL
8002 NEXT N: PAUSE VAL "255"
8003 PAUSE CODE "K": GO SUB BOR: FOR N=HAY TO NS: IF O(N)=SIT THEN LET A$=H$(VAL J$(N-HAY+1)): LET A$=A$(2 TO VAL A$(1)): LET A$="VES UN"+A$+S$(N): GO SUB TEX
8005 NEXT N
8010 LET N=OFF: FOR M=ON TO 4: LET N=N+(S(SIT,M)>100): NEXT M: IF NOT N THEN GO TO 8016
8011 LET B$="S" AND (N>ON)
8012 PRINT : LET A$="HAY "+("UNA " AND B$<>"S")+"PUERTA"+B$+" CERRADA"+B$+" HACIA:": GO SUB TEX: FOR N=ON TO 4: IF S(SIT,N)>100 THEN LET A$=S$(N): GO SUB TEX
8014 NEXT N
8016 LET N=OFF: FOR M=ON TO 4: LET N=N+((S(SIT,M)>OFF) AND (S(SIT,M)<100)): NEXT M: IF NOT N THEN GO TO ORD
8018 LET B$="S" AND (N>ON)
8020 PRINT : LET A$="HAY SALIDA"+B$+" HACIA:": GO SUB TEX: FOR N=ON TO 4: LET M=S(SIT,N): IF M AND M<100 THEN LET A$=S$(N): GO SUB TEX
8030 NEXT N
8040 GO TO ORD
8499 REM FIN ***
8500 LET N=(VAL "65636"*PEEK VAL "23674"+VAL "256"*PEEK VAL "23673"+PEEK VAL "23672")/CODE "2"
8505 LET M=INT (N/CODE "<"): LET N=INT (N-M*CODE "<"): LET H=INT (M/CODE "<"): LET M=M-H*CODE "<"
8506 IF NOT EXPU THEN GO TO 8530
8507 REM EXPULSADO:
8510 GO SUB PAGE: LET A$="HAS TENIDO LA MISMA SUERTE QUE MUCHOS DE TUS COMPA^EROS: HAS SIDO EXPULSADO DEL EREVEST.": GO SUB TEX
8515 IF CC OR EC THEN LET A$="@QUE LASTIMA!,HABIAS CONSEGUIDO": GO SUB TEX
8516 IF CC OR EC THEN LET A$=("CAMBIAR TUS NOTAS" AND CC)+("." AND (NOT EC))+(" Y " AND (CC AND EC))+(("COPIAR EL "+(" " AND CC)+"EXAMEN.") AND EC): GO SUB TEX
8525 LET A$="LA PROXIMA VEZ TEN MAS CUIDADO, "+N$+".": GO SUB TEX
8526 GO TO 8555
8527 REM LOGRADO:
8530 BORDER VAL "7": PAPER VAL "7": INK OFF: CLS : LET A$="HAS LOGRADO TU OBJETIVO: HAS CAMBIADO TUS NOTAS Y HAS COPIADOLAS PREGUNTAS DEL EXAMEN FINAL DEL CURSO.": GO SUB TEX
8550 LET A$="@ENHORABUENA!": GO SUB TEX
8552 REM TIEMPO
8555 LET A$="TARDASTE EN SER EXPULSADO:"
8556 IF NOT EXPU THEN PRINT : LET A$="LO CONSEGUISTE EN:"
8557 GO SUB TEX
8558 PRINT TAB VAL "10"-LEN STR$ H;: LET A$=STR$ H+" HORA"+("S" AND (H>ON OR NOT H)): GO SUB TEX: PRINT TAB VAL "10"-LEN STR$ M;: LET A$=STR$ M+" MINUTO"+("S" AND (M>ON OR NOT M)): GO SUB TEX: PRINT TAB VAL "10"-LEN STR$ N;: LET A$=STR$ N+" SEGUNDO"+("S"
AND (N>ON OR NOT N)): GO SUB TEX
8560 IF EXPU THEN GO TO VAL "8569"
8561 LET TSEG=H*VAL "3600"+M*CODE "<"+N
8562 LET RSEG=HREC*VAL "3600"+MREC*CODE "<"+NREC
8563 IF TSEG<RSEG THEN LET RECORD=TSEG: LET HREC=H: LET MREC=M: LET NREC=N: LET R$=N$: LET A$="@HAS ESTABLECIDO UN NUEVO RECORD!": GO SUB TEX: GO TO VAL "8569"
8564 REM RECORD ANTIGUO
8565 PRINT : LET A$="EL RECORD SIGUE EN POSESION DE": GO SUB TEX: LET A$=R$+",CON:": GO SUB TEX
8566 PRINT TAB VAL "10"-LEN STR$ HREC;: LET A$=STR$ HREC+" HORA"+("S" AND (HREC>ON OR NOT HREC)): GO SUB TEX: PRINT TAB VAL "10"-LEN STR$ MREC;: LET A$=STR$ MREC+" MINUTO"+("S" AND (MREC>ON OR NOT MREC)): GO SUB TEX: PRINT TAB VAL "10"-LEN STR$ NREC;: LET
A$=STR$ NREC+" SEGUNDO"+("S" AND (NREC>ON OR NOT NREC)): GO SUB TEX
8569 LET HORA=HORA+H: LET MINU=MINU+M+ON: IF MINU>CODE "<" THEN LET HORA=HORA+ON: LET MINU=MINU-CODE "<"
8570 PRINT ''': LET A$="PULSA UNA TECLA PARA JUGAR": GO SUB TEX
8580 PAUSE VAL "1E3": CLS : PRINT "Reiniciando...": GO TO VAL "9004"
8999 REM INICIACION ***
9000 BORDER NOT PI: PAPER NOT PI: CLEAR USR "a"-VAL "793": LET charset=USR "a"-VAL "792": LOAD "EREVEST2.C"CODE charset: LOAD "EREVEST3.S"SCREEN$
9001 RANDOMIZE (charset-VAL "256"): POKE VAL "23606",PEEK VAL "23670": POKE VAL "23607",PEEK VAL "23671"
9002 PRINT #NOT PI;AT SGN PI,VAL "7"; PAPER NOT PI; INK VAL "7"; BRIGHT SGN PI;"ESPERA UN MOMENTO"
9003 LET HORA=VAL "9": LET MINU=NOT PI: LET HREC=NOT PI: LET MREC=VAL "15": LET R$="LUTERO": LET NREC=NOT PI
9004 RESTORE
9005 REM BANDERAS ---
9006 LET ON=SGN PI: LET OFF=NOT PI: LET MON=OFF: LET CA=OFF: LET LUZ=OFF: LET EC=OFF: LET CC=OFF
9008 REM VARIABLES ---
9009 LET W$=CHR$ VAL "18"+CHR$ ON+">"+CHR$ VAL "18"+CHR$ OFF+CHR$ VAL "8": LET FAL=OFF: LET CURA=OFF
9011 REM RUTINAS ---
9012 LET PAI=VAL "8E3": LET PAGE=VAL "4100": LET FIN=VAL "8500": LET BOR=VAL "700": LET OK=VAL "400": LET ORD=VAL "500": LET TIE=VAL "100": LET MOV=VAL "200": LET NHA=VAL "300": LET PIL=VAL "4E3": LET TEX=VAL "4090": LET INP=VAL "232"
9019 REM PREPARACION ---
9025 POKE VAL "23658",VAL "8"
9029 REM PARAMETROS MATRICES....
9030 LET NC=ON: LET NS=VAL "18": LET NV=VAL "16": LET NP=INT PI: LET NH=VAL "30": LET NCM=INT PI: LET HAY=VAL "8"
9099 REM MATRICES FIJAS ---
9100 DIM U$(VAL "4"): DIM Y$(VAL "4")
9105 DIM S(NH,VAL "4"): FOR N=ON TO NH: READ S(N,ON),S(N,VAL "2"),S(N,INT PI),S(N,VAL "4"): NEXT N
9110 DIM V$(NV,VAL "4"): FOR N=ON TO NV: READ V$(N): NEXT N
9120 DIM S$(NS,VAL "8"): FOR N=ON TO NS: READ S$(N): NEXT N
9122 READ J$: DIM H$(INT PI,VAL "4"): FOR N=ON TO INT PI: READ H$(N): NEXT N
9130 DIM T$(NS,NV): FOR N=ON TO NS: READ T$(N): NEXT N
9140 READ Z$: DIM P$(NP,VAL "8"): FOR N=ON TO NP: READ P$(N): NEXT N
9150 DIM E$(VAL "10",CODE "!"): FOR N=ON TO VAL "10": READ E$(N): NEXT N
9160 DIM M$(VAL "11",CODE "-"): FOR N=ON TO VAL "10": READ M$(N): NEXT N
9180 DIM L$(VAL "10",VAL "14"): FOR N=ON TO VAL "10": READ L$(N): NEXT N
9199 REM DATAS ---
9200 DATA OFF,OFF,CODE "q",OFF,OFF,OFF,OFF,CODE "u",OFF,VAL "21",OFF,CODE "w",OFF,OFF,CODE "|",OFF,OFF,OFF,OFF,CODE "m",OFF,OFF,OFF,VAL "18",OFF,OFF,OFF,VAL "23",OFF,OFF,VAL "9",OFF,VAL "24",OFF,CODE "i",VAL "8",OFF,OFF,OFF,VAL "16",OFF,OFF,OFF,VAL "24",C
ODE "}",VAL "14",CODE "©",CODE "~",OFF,VAL "15",VAL "14",CODE "e",VAL "12",VAL "16",OFF
9205 DATA VAL "13",VAL "13",OFF,OFF,OFF,VAL "14",VAL "17",VAL "10",OFF,VAL "16",VAL "18",CODE "f",CODE " ",VAL "17",VAL "19",VAL "6",CODE "▝",VAL "18",VAL "20",CODE "g",OFF,VAL "19",VAL "23",VAL "21",CODE "▘",INT PI,OFF,OFF,VAL "20",OFF,OFF,VAL "23"
,OFF,VAL "20",VAL "24",VAL "7",VAL "22",VAL "23",VAL "9",VAL "11",CODE "h",OFF,CODE "p",OFF,OFF,OFF,OFF,CODE "p",OFF,OFF,OFF,OFF,CODE "p",OFF,OFF,CODE "u",OFF,OFF,OFF,CODE "v",OFF,OFF,OFF,CODE "x",OFF
9220 DATA "VE","COGE","DEJA","ABRE","COPIA","CAMBIA","HAZ","MIRA","ENCIENDE","LEE","VETE","CONECTA","RECOGE","TIRA","SUELTA","EXAMINA"
9225 DATA "NORTE","SUR","ESTE","OESTE","PUERTA","INVENTARIO","TODO","LLAVE","NOTAS","EXAMEN","BOLI","FOLIO","CAJA","LAPIZ","LINTERNA","ZAPATO","CALCETIN","PAPELITO"
9226 DATA "12333131333","3A","4AS","2"
9230 DATA "1000000000100000"
9231 DATA "1000000000100000"
9232 DATA "1000000000100000"
9233 DATA "1000000000100000"
9234 DATA "0001000000000001"
9235 DATA "0000001000000000"
9236 DATA "0010000100000111"
9237 DATA "0110000100001111"
9238 DATA "0110010101001111"
9239 DATA "0110100101001111"
9240 DATA "0110000100001111"
9241 DATA "0110000101001111"
9242 DATA "0001000100000001"
9243 DATA "0110000100001111"
9244 DATA "0110000110011111"
9245 DATA "0110000100001111"
9246 DATA "0110000100001111"
9247 DATA "0110000101001111"
9259 DATA "PADRE ","DERBY","SAMUEL","GILBERTO"
9260 DATA "AEXPLICA EL DISE^O DE EL ESCORIAL","=LA MECANICA CUANTICA Y LA FE","?JUVENTUD Y VIRTUDES TEOLOGALES",":LAS 5 VIAS DE SANTO TOMAS","7EXPLICA: CRUZADAS Y FE"
9270 DATA "9'EL QUIJOTE' DESDE LA FE","@DARWIN Y FE: £VENIMOS DEL MONO?","AMATEMATICAS,RACIONALISMO Y CREDO","9LA FE Y EL IDIOMA INGLES","=£COMO VA TU VIDA ESPIRITUAL?"
9280 DATA "AMARAS A DIOS SOBRE TODAS LAS COSAS","NO TOMARAS EL NOMBRE DE DIOS EN VANO","SANTIFICARAS LAS FIESTAS","HONRARAS A TU PADRE Y A TU MADRE","NO MATARAS"
9290 DATA "NO COMETERAS ACTOS IMPUROS","NO ROBARAS","NO DIRAS FALSOS TESTIMONIOS NI MENTIRAS","NO CONSENTIRAS PENSAMIENTOS NI DESEOS IMPUROS","NO CODICIARAS LOS BIENES AJENOS"
9300 DATA "MATEMATICAS 3","FILOSOFIA 2","FISICA 4","QUIMICA 3","BIOLOGIA 4","HISTORIA 1","E.FISICA 5","E.A.T.P. 6","INGLES 4","RELIGION 9"
9399 REM MATRICES AZAR ---
9400 RANDOMIZE : DIM X$(VAL "10"): LET A$="": FOR N=ON TO VAL "10": LET A$=A$+CHR$ INT (RND*VAL "10"+CODE "0"): NEXT N: LET X$=A$
9410 DIM P(NP): DIM V(NP): FOR N=ON TO NP
9420 LET P(N)=INT (RND*(NH-VAL "6")+VAL "6"): IF P(N)=VAL "10" OR P(N)=VAL "11" THEN GO TO VAL "9420"
9430 NEXT N
9440 DIM O(NS): FOR N=HAY TO NS: LET O(N)=INT (RND*(NH-VAL "6")+VAL "6"): NEXT N
9450 LET O(VAL "8")=OFF: LET O(VAL "13")=INT (RND*INT PI+VAL "25"): LET SCA=O(VAL "13"): LET O(9)=SCA+CODE "d": LET O(VAL "10")=SCA+CODE "d"
9470 IF O(VAL "15")=VAL "10" OR O(VAL "15")=VAL "11" THEN LET O(VAL "15")=INT (RND*NH+ON): GO TO VAL "9470"
9475 LET SIT=INT (RND*VAL "5"+ON)
9481 REM GRAFICOS ---
9482 FOR N=USR "A" TO USR "A"+VAL "7": READ L: POKE N,L: NEXT N: DATA VAL "24",CODE "$",VAL "24",OFF,CODE "~",OFF,OFF,OFF
9485 REM CREDITOS ***
9486 GO SUB BOR: CLS : PRINT "Colegio Erevest 3"''"(C) 1985,1986,2010 Marcos Cruz"'"(http://programandala.net)"
9487 PRINT '"Licencia/Permesilo/License:"'"http://programandala.net/lp"
9488 PRINT '"Nota: hay en proyecto una nueva"'"version de este programa."
9489 PRINT '"Pulsa una tecla para empezar.": PAUSE VAL "1E3"
9499 REM INSTRUCCIONES ***
9500 GO SUB BOR: CLS : PRINT : LET A$="£COMO TE LLAMAS?": GO SUB TEX: GO SUB INP
9503 IF BL THEN LET A$="BUENO,TE LLAMARE 'AMIGO MIO'.": GO SUB TEX: LET A$="AMIGO MIO"
9505 IF LEN A$<INT PI OR LEN A$>VAL "12" THEN GO TO VAL "9500"
9506 PRINT : LET N$=A$: LET A$="BIEN,"+N$+".": GO SUB TEX
9507 LET A$="£NECESITAS INSTRUCCIONES?": GO SUB TEX: GO SUB INP
9509 LET A$=A$+" ": IF A$(ON)<>"S" THEN GO TO VAL "9580"
9510 PRINT : LET A$="SON LAS "+STR$ HORA+(":"+("0" AND MINU<VAL "10")+STR$ MINU AND MINU<>OFF)+" DE LA NOCHE.": GO SUB TEX
9520 LET A$="ESTAS EN LAS CERCANIAS DEL FAMO-SO COLEGIO EREVEST (CENTRO DE FORMACION INTEGRAL).": GO SUB TEX
9530 PAUSE CODE "X": LET A$="MA^ANA TENDRA LUGAR EL EXAMEN FINAL DEL CURSO Y NO SABES NI DEQUE VA.": GO SUB TEX: LET A$="UN COMPA^ERO TE DIO AYER UNA LLAVE MAESTRA DE LAS CERRADURAS DEL COLEGIO.": GO SUB TEX
9540 PAUSE CODE "X": LET A$="QUIZA SI LOGRARAS ENTRAR Y CO- PIAR LAS PREGUNTAS DEL EXAMEN PODRIAS APROBAR...Y DE PASO CAMBIARIAS TUS NOTAS DE TODO EL CURSO.": GO SUB TEX
9550 PAUSE CODE "X": LET A$="PUEDE QUE A ESTAS HORAS TODAVIA HAYA ALGUN CURA DENTRO,PERO HAY QUE ARRIESGARSE.": GO SUB TEX
9570 PAUSE CODE "X": LET A$="LAS NOTAS Y EL EXAMEN ESTAN EN UNA CAJA FUERTE QUE DEBES HALLARSIN AYUDA DE NADIE,ASI COMO LA COMBINACION PARA ABRIRLA.": GO SUB TEX
9580 PAUSE CODE "X": PRINT : LET A$="@BUENA SUERTE,"+N$+"!": GO SUB TEX: PAUSE VAL "255": POKE VAL "23674",OFF: POKE VAL "23673",OFF: POKE VAL "23672",OFF: GO TO NHA
9995 :
9998 CLEAR : SAVE "A:EREVEST3.B" LINE VAL "9E3": ERASE "A:EREVEST3.BAK": SAVE "T:": SAVE "EREVEST3.B" LINE VAL "9E3": STOP
9999 POKE VAL "23606",NOT PI: POKE VAL "23607",CODE "<"
Descargas
Los ficheros de esta y las demás versiones de Colegio Erevest están disponibles en la sección de descarga de la página principal de Colegio Erevest.