Colegio Erevest 2
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 (segunda versión, de febrero de 1986).
Cuatro meses después de terminar la primera versión de Colegio Erevest quise añadirle algunas mejoras. Trabajé en esta segunda versión entre diciembre de 1985 y febrero de 1986.
Principales mejoras respecto a Colegio Erevest 1
- Código algo más legible, con los bloques separados.
- Los datos de las líneas
DATA
ocupan menos memoria (mediante la funciónVAL
y otros cálculos, en lugar de números). - Pantalla de presentación más elaborada.
- El programa pregunta si el jugador necesita o no instrucciones, en lugar de mostrarlas sin más.
- Rutina de entrada asíncrona. Esto fue un difícil reto que me propuse, para que el juego no estuviera detenido esperando instrucciones del jugador. Tras un tiempo de espera, se llama a la rutina de movimiento de personajes. En la tercera versión perfeccioné más el sistema.
- Juego de caracteres nuevo. Originalmente lo guardé en una línea REM al final del programa, pero en 2010, al revisar el código para publicarlo, lo extraje a un fichero independiente.
- Signos de puntuación en los textos, especialmente todos los puntos que faltaban.
- Los gráficos de los escenarios no se borran para dejar paso al texto, sino que se desplazan hacia arriba poco a poco.
- Encuentros más elaborados con los curas. Además recuerdan si ha habido encuentros anteriores con el jugador.
Pantallazos
Pantalla de presentación, más elaborada que en la versión anterior:
El objetivo, con varios cambios en la redacción:
En la página principal del programa hay una descripción más detallada del objetivo.
Salvo algún pequeño detalle, los gráficos de los escenarios son los mismos que los de la versión anterior. Estos son algunos ejemplos:
Puedes ver otros ejemplos de escenarios de la versión 1 y escenarios de la versión 3.
El encuentro con el cura Samuel y la expulsión:
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 2
2 :
3 REM Copyright (C) 1985,1986,2010 Marcos Cruz (http://programandala.net)
4 :
5 REM Licencia/Permesilo/License: http://programandala.net/lp
6 :
7 REM 1985-07 Colegio Erevest 1
8 REM 1985-12 / 1986-02 Colegio Erevest 2
9 REM 2010-04-09 Retoque menor en el codigo, para publicarlo. Juego de caracteres extraido de la linea REM en que estaba y guardado en un fichero.
10 REM 2010-04-10 Anhadidos los creditos antes de las instrucciones. Eliminada la rutina CLS.
11 REM 2010-04-11 Mejorado el reinicio, para que no cargue la pantalla de presentacion ni el juego de caracteres.
12 REM 2010-04-16 Errata corregida. Fondo blanco al cargar la pantalla de presentacion.
13 REM 2011-03-25 Corregida la direccion de CLEAR.
90 GO TO VAL "9002"
99 REM TIE********************
100 IF O(IS) THEN LET A$="NO TIENES "+S$(IS): GO SUB TEX: GO TO ORD
110 RETURN
199 REM MOV********************
210 LET PER=INT (RND*NP+1)
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): IF P(PER)<>SIT THEN RETURN
225 IF PER=CURA THEN GO TO 210
226 PRINT " ";CHR$ 8;: IF LEN A$ THEN PRINT "..."
228 LET A$="VIENE EL "+Z$+P$(PER): GO SUB TEX: LET CURA=PER: GO TO PIL
231 REM IMP********************
232 LET BL=OFF: LET TEC=150: LET A$=""
233 PRINT W$;
234 LET I$=INKEY$: IF TEC<-150 THEN LET BL=ON: RETURN
235 LET TEC=TEC-1: IF I$="" AND MON AND TEC<0 THEN GO SUB MOV: GO TO 234
236 IF CODE I$=13 THEN PRINT " ": BEEP .01,9: RETURN
237 IF CODE I$=12 AND LEN A$ THEN BEEP .01,0: PRINT CHR$ 8;" ";CHR$ 8;CHR$ 8;: LET A$=A$( TO LEN A$-1): GO TO 233
238 IF I$<" " OR I$>"£" THEN GO TO 234
240 LET TEC=50: BEEP .01,0: LET A$=A$+I$: PRINT I$;: GO TO 233
299 REM NHA********************
300 GO TO VAL "5E3"+VAL "100"*(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
505 LET A$=A$+" *"
510 IF A$(1)=" " THEN LET A$=A$(2 TO ): GO TO 510
540 FOR N=1 TO LEN A$: IF A$(N)=" " THEN LET B$=A$( TO N-1): LET U$=B$: LET A$=A$(N+1 TO ): GO TO 560
550 NEXT N
560 IF A$="*" THEN LET A$="EXPLICATE MEJOR.": GO SUB TEX: GO TO ORD
565 IF A$(1)=" " THEN LET A$=A$(2 TO ): GO TO 560
570 LET C$=A$( TO LEN A$-2): LET Y$=C$: FOR N=1 TO NV: IF V$(N)<>U$ THEN NEXT N: LET A$="£"+B$+"? NO COMPRENDO.": GO SUB TEX: GO TO ORD
580 FOR M=1 TO NS: IF S$(M, TO 4)<>Y$ THEN NEXT M: LET A$="£"+C$+"? NO ENTIENDO.": GO SUB TEX: GO TO ORD
590 IF NOT T(M,N) THEN LET A$="NO PUEDES HACER ESO,"+N$+".": GO SUB TEX: GO TO ORD
600 LET IS=M: GO TO 1000+(N-1)*100
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
850 REM PAU********************
860 FOR L=ON TO PAUSA
870 IF INKEY$<>"" THEN RETURN
880 NEXT L: RETURN
999 REM VE*********************
1000 LET N=S(SIT,IS): IF NOT N THEN LET A$="NO PUEDES IR EN ESA DIRECCION."+(" HAY UNA PARED." AND (SIT>5)): GO SUB TEX: GO TO ORD
1010 IF N>100 THEN LET A$="NO PUEDES 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 TIENES "+S$(IS): GO SUB TEX: GO TO ORD
1105 IF (SIT=10 OR SIT=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 PUEDES LLEVAR MAS COSAS.": GO SUB TEX: GO TO ORD
1130 LET O(IS)=0: LET NC=NC+1: GO TO OK
1199 REM DEJA*******************
1200 GO SUB TIE: IF IS<>7 THEN LET O(IS)=SIT: LET NC=NC-1: GO TO OK
1220 FOR N=HAY TO NS: IF NOT O(N) THEN LET O(N)=SIT
1230 NEXT N: LET NC=0: GO TO OK
1299 REM ABRE*******************
1300 IF IS=13 THEN GO TO 1330
1305 IF O(8) THEN LET A$="NO TIENES LA LLAVE.": GO SUB TEX: GO TO ORD
1310 FOR N=1 TO 4: LET M=S(SIT,N): IF M>100 THEN LET S(SIT,N)=M-100: LET S(M-100,N-(N=2 OR N=4)+(N=1 OR N=3))=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=1: LET O(9)=SCA: LET O(10)=SCA: 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 LO HAS COPIADO ANTES.": GO SUB TEX: GO TO ORD
1405 IF O(11) AND O(14) THEN LET A$="NO TIENES CON QUE ESCRIBIR.": GO SUB TEX: GO TO ORD
1410 IF O(12) THEN LET A$="NO TIENES EN QUE ESCRIBIR.": GO SUB TEX: GO TO ORD
1415 IF (SIT=10 OR SIT=11) AND NOT LUZ THEN LET A$="NO HAY LUZ,NO VEO NADA,"+N$+".": GO SUB TEX: GO TO ORD
1420 GO SUB 3000: FOR N=ON TO VAL "10"
1430 LET A$="PREGUNTA "+STR$ N+")": GO SUB TEX: GO SUB INP: LET E$(11)=A$: IF E$(11)<>E$(N) THEN LET A$="TE HAS EQUIVOCADO.INTENTALO DE NUEVO,PERO DATE PRISA.": GO SUB TEX: GO TO 1430
1440 NEXT N: LET EC=ON: LET A$="YA HAS COPIADO EL EXAMEN.": GO SUB TEX: GO TO ORD
1499 REM CAMBIA*****************
1500 GO SUB TIE: IF CC THEN LET A$="YA LAS HAS CAMBIADO ANTES.": GO SUB TEX: GO TO ORD
1510 IF O(11) AND O(14) THEN LET A$="NO TIENES CON QUE ESCRIBIR.": GO SUB TEX: GO TO ORD
1515 IF (SIT=10 OR SIT=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 2000: FOR N=ON TO VAL "10"
1530 LET A$="NOTA DE "+L$(N, TO 12): GO SUB TEX: GO SUB INP: FOR L=1 TO LEN A$: IF (A$(L)<"0" OR A$(L)>"9") AND A$(L)<>"." AND A$(L)<>"," THEN LET A$="NO ENTIENDO.": GO SUB TEX: GO TO 1530
1540 NEXT L: LET M=INT VAL A$: IF M<0 OR M>10 THEN LET A$="NO VALE.": GO SUB TEX: GO TO 1530
1550 IF M<5 THEN LET A$="AESTAS SEGURO?": GO SUB TEX: GO TO 1530
1560 LET A$=" " AND M<10: LET L$(N,13 TO )=A$+STR$ M: NEXT N: LET CC=1: LET A$="YA HAS CAMBIADO LAS NOTAS.": GO SUB TEX: GO TO ORD
1599 REM HAZ********************
1600 FOR N=HAY TO NS: IF NOT O(N) THEN LET A$="TIENES "+S$(N): GO SUB TEX
1610 NEXT N: GO TO ORD
1699 REM MIRA*******************
1700 IF IS=7 THEN GO TO NHA
1705 GO SUB TIE: IF (SIT=10 OR SIT=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=18 THEN LET A$="@TIENE ALGO ESCRITO!": GO SUB TEX: FOR N=1 TO 200: NEXT N: LET A$="PONE... "+X$: GO SUB TEX: GO TO ORD
1720 IF IS=9 THEN GO SUB VAL "2E3": GO TO ORD
1730 IF IS=10 THEN GO SUB VAL "3E3": GO TO ORD
1735 IF IS=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=10 OR SIT=11) AND NOT LUZ THEN LET A$="NO PUEDO LEER A OSCURAS.": GO SUB TEX: GO TO ORD
1905 IF IS=12 AND NOT EC THEN LET A$="ESTA EN BLANCO.": GO SUB TEX: GO TO ORD
1906 IF IS=12 AND EC THEN GO SUB VAL "3E3": GO TO ORD
1910 IF IS=18 THEN LET A$="PONE... "+X$: GO SUB TEX: GO TO ORD
1920 IF IS=9 THEN GO SUB VAL "2E3": GO TO ORD
1930 GO SUB VAL "3E3": GO TO ORD
1999 REM NOTAS******************
2000 LET A$="ALUMNO:"+N$: GO SUB TEX: LET A$="EVALUACION:5": GO SUB TEX: LET A$="CURSO: 3"+CHR$ VAL "144"+" DE B.U.P.": 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
2998 :
2999 REM EXAMEN*****************
3000 LET A$="EXAMEN FINAL DE 3"+CHR$ VAL "144"+" DE B.U.P.": GO SUB TEX: LET A$="================================": GO SUB TEX
3010 PRINT : FOR N=ON TO VAL "10": LET A$=STR$ N+")"+E$(N): GO SUB TEX: NEXT N: RETURN
3999 REM PIL********************
4000 LET MON=OFF: LET EXP =OFF: IF SIT>VAL "24" THEN LET EXP =ON: LET A$="TE COJE 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 T
EX
4001 IF V(PER) AND NOT EXP 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 "4085"
4005 IF EXP 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 EXP =ON: LET A$="@QUE HACES AQUI?": GO SUB TEX: LET A$="£QUE ES ESE PAPEL QUE TIENES AHI ESCONDIDO?,DEJAME VER...": GO SUB TEX: PAUSE CODE "d": LET A$="HUUM..": GO SUB TEX: PAUSE CODE "d": LET A$="ASI QUE HAS C
OPIADO EL EXAMEN...": GO SUB TEX
4010 IF EXP 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 EXP 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: PRINT W$;: FOR N=ON TO CODE "d": IF INKEY$<>"" THEN LET A$="@NO OSES RESPONDERME,CONDENADO FARISEO!": GO SUB tex: GO TO 4035
4031 NEXT n
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 EXP =ON: LET A$="ESO SIGNIFICA TU EXPULSION IRRE-MEDIABLE DE ESTE CENTRO DE FOR- MACION INTEGRAL.": GO SUB TEX
4045 IF EXP THEN LET A$="£CUANTAS VECES TE ADVERTI QUE SI NO TE GUSTABA EL COLEGIO QUE": GO SUB TEX
4050 IF EXP 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 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 RANDOMIZE : 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 A$="@NO ES ASI!...@QUEDAS EXPULSADO INDEFINIDAMENTE POR REBELDIA Y DESACATO!": IF M$(VAL "11")=M$(M) THEN LET
A$="@MUY BIEN! ASI ME GUSTA:QUE A PESAR DE TODO SEAS UN HOMBRE."
4073 IF BL THEN LET A$="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 GO SUB TEX: IF M$(VAL "11")<>M$(M) THEN LET EXP =ON: GO TO 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",CODE "COPY": FOR L=ON TO LEN A$: PRINT W$;A$(L);: NEXT L: PRINT : 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",CODE "COPY"
4112 FOR L=ON TO VAL "22"
4120 PRINT : FOR N=ON TO VAL "20": NEXT N
4130 NEXT L: LET V(PER)=ON: IF NOT EXP 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*(NOT (EC AND CC))+FIN*(EC AND CC)
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*(NOT (EC AND CC))+FIN*(EC AND CC)
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*(NOT (EC AND CC))+FIN*(EC AND CC)
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*(NOT (EC AND CC))+FIN*(EC AND CC)
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": LET X=92: LET Y=146: GO SUB 5780: LET Y=122: GO SUB 5780: LET Y=96: GO SUB 5780: PLOT 91,144: PLOT 90,143: DRAW -3,-3,PI/2: DRAW 0,-15: DRAW 1,-1
5730 PLOT 92,70: DRAW -2,-2: DRAW 4,0: DRAW -2,2: 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
5740 LET X=186: LET Y=146: GO SUB 5780: LET Y=122: GO SUB 5780: LET Y=96: GO SUB 5780: PLOT 186,70: DRAW -2,-2: DRAW 4,0: DRAW -2,2: GO TO 5790
5780 PLOT X,Y: 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: RETURN
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 LET PAUSA=CODE "K": GO SUB PAU: 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 LET PAUSA=VAL "75": GO SUB PAU: PAPER 7: BORDER 7: INK 0: 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+N: PLOT M,Y: DRAW 0,N: NEXT M: LET A$="ESTAS EN UN 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=120 TO 231: PLOT N,96: DRAW 10,10: NEXT N: FOR N=96 TO 24 STEP -1: PLOT 232,N: DRAW 10,10: 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 0,0; INK 2; FLASH 1;"XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx"'"xX"; FLASH 0;" AUTOSERVICIO EREVEST "; FLASH 1;"xX"'"XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx"
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 6,15; PAPER 4;"EL";AT 6,23;"CURA": PLOT 160,105: PLOT 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 80,110,7: CIRCLE 80,110,6: DRAW 20,-20: DRAW -1,0: DRAW -20,20: DRAW 0,-15: DRAW 1,0: DRAW 0,15: DRAW 15,0: DRAW 0,1: DRAW -15,0: PLOT 106,86: DRAW 0,-20: DRAW -8,0: DRAW 0,1: DRAW 8,0: DRAW 0,20: DRAW 20,0: DRAW 0,8: DRAW 1,0: DRAW 0,-
8: DRAW -20,0
7890 PRINT AT 6,12; PAPER 4;"EL CURA": INK 0: LET A$="ESTAS EN 3"+CHR$ 144+" 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$: LET PAUSA=CODE "d": GO SUB PAU: 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: LET PAUSA=CODE "K": GO SUB PAU: LET PER=N: GO TO PIL
8001 NEXT N
8003 LET PAUSA=CODE "K": GO SUB PAU: GO SUB BOR: FOR N=HAY TO NS: IF O(N)=SIT THEN LET A$="HAY "+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 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 EXP THEN GO TO VAL "8530"
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
8530 IF CC AND EC AND NOT EXP THEN LET A$="HAS LOGRADO TU OBJETIVO: HAS CAMBIADO TUS NOTAS Y HAS COPIADOLAS PREGUNTAS DEL EXAMEN FINAL DEL CURSO.": GO SUB TEX
8540 IF O(VAL "12") AND NOT EXP THEN LET A$="SIN EMBARGO,NO TIENES EL FOLIO EN EL QUE HAS COPIADO LAS PRE- GUNTAS.LO DEBES HABER DEJADO EN ALGUN SITIO EN LA HUIDA.AHORA TETOCARA ESTUDIAR EL EXAMEN.": GO SUB TEX
8550 IF NOT O(VAL "12") THEN LET A$="@ENHORABUENA!": GO SUB TEX
8560 LET A$="TARDASTE ": GO SUB TEX: 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
8570 PRINT ''''': NEXT L: LET A$="PULSA UNA TECLA PARA JUGAR": GO SUB TEX: PRINT '''''
8580 LET PAUSA=VAL "1E3": GO SUB PAU: CLS : PRINT "Reiniciando...": GO TO VAL "9002"
8999 REM INICIACION*************
9001 INK VAL "7": PAPER VAL "7": INK VAL "7": CLEAR USR "a"-VAL "793": LET charset=USR "a"-VAL "792": BORDER VAL "7": LOAD "EREVEST2.C"CODE charset: LOAD "EREVEST2.S"SCREEN$ : RANDOMIZE (charset-VAL "256"): POKE VAL "23606",PEEK VAL "23670": POKE VAL "236
07",PEEK VAL "23671"
9002 RESTORE
9004 REM BANDERAS...............
9005 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 PAU=VAL "850": 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": PAPER VAL "7": INK OFF
9029 REM PARAMETROS MATRICES....
9030 LET NC=ON: LET NS=VAL "18": LET NV=VAL "10": LET NP=VAL "3": LET NH=VAL "30": LET NCM=VAL "3": 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,VAL "3"),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
9130 DIM T(NS,NV): FOR N=ON TO NS: FOR M=ON TO NV: READ T(N,M): NEXT M: NEXT N
9140 READ Z$: DIM P$(NP,VAL "8"): FOR N=ON TO NP: READ P$(N): NEXT N
9150 DIM E$(VAL "11",VAL "25"): 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 "▘",VAL "3",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","NORTE","SUR","ESTE","OESTE","PUERTA","INVENTARIO","TODO","LLAVE","NOTAS","EXAMEN","BOLI","FOLIO","CAJA","LAPIZ","LINTERNA","ZAPATO","CALCETIN","PAPELITO"
9230 DATA ON,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF
9231 DATA ON,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF
9232 DATA ON,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF
9233 DATA ON,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF,OFF
9234 DATA OFF,OFF,OFF,ON,OFF,OFF,OFF,OFF,OFF,OFF
9235 DATA OFF,OFF,OFF,OFF,OFF,OFF,ON,OFF,OFF,OFF
9236 DATA OFF,OFF,ON,OFF,OFF,OFF,OFF,ON,OFF,OFF
9237 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,OFF,OFF
9238 DATA OFF,ON,ON,OFF,OFF,ON,OFF,ON,OFF,ON
9239 DATA OFF,ON,ON,OFF,ON,OFF,OFF,ON,OFF,ON
9240 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,OFF,OFF
9241 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,OFF,ON
9242 DATA OFF,OFF,OFF,ON,OFF,OFF,OFF,ON,OFF,OFF
9243 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,OFF,OFF
9244 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,ON,OFF
9245 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,OFF,OFF
9246 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,OFF,OFF
9247 DATA OFF,ON,ON,OFF,OFF,OFF,OFF,ON,OFF,ON
9250 DATA "PADRE ","'DERBY'","SAMUEL","GILBERTO"
9260 DATA "PERSPECTIVA CONICA","EL MODELO DE BOHR","VIRTUDES TEOLOGALES","LA VERDAD ULTIMA","EL VASO CAMPANIFORME"
9270 DATA "RESUMEN DE 'EL QUIJOTE'","ACELERACION INSTANTANEA","INTEGRALES INMEDIATAS","REDACCION EN INGLES","OPINA SOBRE TUS COMPA^EROS"
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 "1"): 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*VAL "3"+VAL "25"): LET SCA=O(VAL "13"): LET O(9)=SCA+VAL "100": LET O(VAL "10")=SCA+VAL "100"
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 CLS : PRINT "Colegio Erevest 2"''"(C) 1985,1986,2010 Marcos Cruz"'"(http://programandala.net)"
9487 PRINT "Licencia/Permesilo/License:"'"http://programandala.net/lp"
9488 PRINT '"Nota: Existe una version mas"'"moderna de este programa, y otra"'"en proyecto."
9489 PRINT '"Pulsa una tecla para empezar.": PAUSE VAL "1E3"
9499 REM INSTRUCCIONES**********
9500 CLS : 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 A$="" 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: IF BL THEN LET A$="BUENO,PUES TE LAS DARE POR SI ACASO.": GO SUB TEX: GO TO VAL "9510"
9508 : IF A$="" THEN GO TO VAL "9507"
9509 IF LEN A$ AND A$(1)="N" THEN GO TO VAL "9580"
9510 PRINT : LET A$="SON LAS "+STR$ (INT (RND*VAL "5"+VAL "8"))+" 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 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 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 LET A$="PUEDE QUE A ESTAS HORAS TODAVIA HAYA ALGUN CURA DENTRO,PERO HAY QUE ARRIESGARSE.": GO SUB TEX
9570 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 PRINT : LET A$="@BUENA SUERTE,"+N$+"!": GO SUB TEX: LET A$="PULSA UNA TECLA.": GO SUB TEX: LET PAUSA=VAL "5E2": GO SUB PAU: POKE VAL "23674",OFF: POKE VAL "23673",OFF: POKE VAL "23672",OFF: GO TO NHA
9997 :
9998 CLEAR : SAVE "A:EREVEST2.B" LINE VAL "9E3": ERASE "A:EREVEST2.BAK": SAVE "T:": SAVE "EREVEST2.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.