Bien, hoy vamos a dedicar la sección a comentar algunos cambios que han sufrido unos cuantos condactos de la versión 1.3 a la versión 2.0.
Como ya sabréis la versión 2.0 es, por fin, una versión gráfica en la que los dibujos y las letras comparten sin problemas el espacio en la pantalla del ordenador. Esto ha provocado que aparecieran algunos condactos nuevos y que otros cambiaran un poco. Veamoslos:
Además aparecen nuevas funciones; por una parte se le han añadido características de sonido:
Además se le ha incluido capacidades para realizar cosas mediante interrupciones, mientras el jugador teclea otras cosas o espera a que algo sucede... Las cosas a hacer estará en un BLOQUE con un número especial, que se indicará como [*]. Para manejar las interrupciones se han incluido dos condactos nuevos:
n x 18.2
El CAECHO? al comenzar a ejecutar tiene las interrupciones desactivadas.
Otros cambios del nuevo sistema son:
Vamos a aprovechar lo comentado y vamos a reescribir un viejo ejemplo en el formato de CAECHO? 2.0.
\VOC
Rojo 5 Verbo;
Verde 6 Verbo;
Azul 7 Verbo;
Marrón 8 Verbo;
FIN 9 Verbo;
y 5 conjuncion;
\MEN 0
\0 ""\zrRojo.\zl""
\1 ""\zvVerde.\zl""
\2 ""\zzAzul.\zl""
\3 ""\zmMarrón.\zl""
\4 ""\zfbr\zblNO TE ENTIENDO.\zfn\zl""
\5 ""\zlTeclea: \zrRojo\zl,\zvVerde\zl,\zzAzul\zl,\zmMarrón\zl o FIN:\n >>""
\BLO
BLOQUE [0] Colores()
{
CAR 0;
COPI 0 47; /: Tabla donde está el Prompt :/
COPI 5 48; /: Mensaje del Prompt :/
MIENTRAS (IGQ 0 [0]) /: Un bucle infinito :/
{
PREG 0;
ANALIZA 0 1;
HAZ [10] /: Toma el verbo de la frase tecleada :/
{
Rojo:{MENSAJE 0 0;}
Verde:{MENSAJE 0 1;}
Azul:{MENSAJE 0 2;}
Marrón:{MENSAJE 0 3;}
FIN:{FIN;}
SINO {MENSAJE 0 4;}
}
ALEAT 4 1;
CAR [1];
}
}
\CAR
\0 ""gruesa""
\1 ""apache""
\2 ""spacial1""
\3 ""doble""
Córrelo y mete una entrada larga del estilo a:
Verde y rojo. Rojo y verde, azul y marron, verde...
¿Qué ocurre? En este ejemplo vemos la posibilidad de introducir más de un tipo de letra diferente en la misma pantalla. Esto puede permitir poner gráficos mediante letras y trucos semajantes.
Veamos otro viejo ejemplo reconstruido para mostrar el poder de las interrupciones. Cogeremos el ejemplo 'CALIENTE' y le meteremos corazones de color rojo que aparezcan por ahí mientras tecleas. Además lo haremos en versión de 256 colores, de tal forma que el color rojo del corazón 'palpite'.
\MEN 1
\0 ""Hace mucho, mucho tiempo ""
\1 "" y ""
\2 "" no se conocían. Pero un día, cuando el sol estaba oculto tras el
horizonte, ""
\3 "" se vieron, y sin perder tiempo se quitaron las \zbrCENSURED\zl y
hicieron el \zbrCENSURED\zl más de 5 veces.\n""
\4 ""Tu nombre: ""
\5 ""Otro nombre: ""
\BLO
BLOQUE [0] Caliente()
{
/: Iniciamos de forma diferente :/
CAR 0; /: Carga el juego de caracteres :/
MODO 1; /: 256 colores :/
COPI 1 59; /: 20 corazones por segundo. 1/0.055=20 :/
COLOR 100 60 0 0; /: Hacemos el color 100 un rojo intenso :/
COPI 60 1; /: Guardamos el nivel en la bandera 1 :/
S 200; /: 'TRUE'-> Decreciente; 'FALSE'-> Creciente :/
ACTI; /: Activa interrupciones :/
TINTA 15;
/: Antiguo código :/
COPI 1 47;
COPI 4 48;
PREG 0;
COPI 5 48;
PREG 1;
MEN 1 0;
ESCBUF 0;
MEN 1 1;
ESCBUF 1;
MEN 1 2;
ESCBUF 0;
MEN 1 1;
ESCBUF 1;
MEN 1 3;
TECLA 1 2; /: Espera a que pulse una tecla :/
}
BLOQUE [*] Corazon()
{
PUSH 3;
PUSH 4;
PUSH 5;
PUSH 6;
RECXY 5 6; /: Guardo la posición anterior :/
ALEAT 300 3; /: Un valor cualquiera de 'x' :/
ALEAT 150 4; /: Idem para 'y' :/
MOVXY [3] [4]; /: Lo ponemos ahí :/
TINTA 100; /: Color rojo :/
ESCCAR 3; /: Ponemos un corazón :/
/: Variamos el color :/
COLOR 100 [1] 0 0;
(V 200)
{ /: Decrecienta :/
DEC 10 1;
(IGQ 1 0) {/: Cambia el sentido :/ R 200;}
}
SINO
{ /: Incrementa :/
INC 10 1;
(IGQ 1 60) {/: Cambia el sentido :/ S 200;}
}
MOVXY [5] [6]; /: Recuperar la posición anterior :/
TINTA 15; /: Color blanco :/
POP 6;
POP 5;
POP 4;
POP 3;
}
\CAR
\0 ""gruesa""
Bueno, nada más por ahora. Hasta la próxima sección.
Melitón Rodríguez, el de la 117