Ir al contenido principal

4º ESO - Programación con MSWLogo - Videojuego de coches (V)

Obtener y guardar la tecla pulsada. Variables


Vamos a ver, a continuación, dos instrucciones que nos permiten conocer la tecla que hemos pulsado y la forma de guardar el carácter correspondiente a la tecla en la memoria del ordenador, dentro de una variable.

leercar = lc Devuelve el valor ASCII (número entre 1 y 127) de la ultima tecla pulsada.

caracter código ASCII = car código ASCII Devuelve el carácter (letra, número, signo,…) correspondiente al código ASCII indicado.

Estas dos instrucciones las usamos de manera combinada, es decir:
car lc Así, obtenemos el carácter correspondiente al código de la última tecla pulsada.

La letra, número o símbolo obtenido con las instrucciones anteriores tenemos que almacenarla en algún lugar, para ello utilizamos las variables:

Una variable es una porción de la memoria del ordenador donde podemos guardar algo: un número, una palabra, un carácter, una frase, etc. A las variables hay que asignarles un nombre y un valor inicial (su contenido, que posteriormente podrá ser modificado). Para crear una variable se utiliza la instrucción haz:
haz “nombre de la variable valor asignado

Ejemplo: 
haz “operando 5 define la variable operando y le asigna un valor inicial de 5
haz “tecla car lc define la variable tecla y, a través de car lc, le asigna el carácter de la tecla pulsada, que queda almacenado en la variable.

Para referirnos, posteriormente, al valor de una variable, es decir, a lo que guarda en su interior, tenemos que colocar dos puntos ( : ) inmediatamente delante de su nombre.

Vamos a modificar nuestro juego de coches para que cada vez que se pulsa una tecla se ejecute un procedimiento que denominaremos control. De momento éste procedimiento lo único que hace es guardar el carácter de la tecla pulsada en la variable “tecla. Posteriormente, como veremos en el siguiente apartado, tendrá que girar la tortuga a izquierda o derecha según que la tecla pulsada sea el número 4 o el número 6.

para juego
bp sl
ponfoco [Pantalla de MSWLogo]
ponteclado [control]
siempre [av 1 repite 2000 []]
fin
para control
haz “tecla car lc
fin




Tomando decisiones. SI


En la mayoría de los programas el ordenador necesita tomar decisiones; es decir, decidir la realización de unas actuaciones u otras en función del resultado de una operación, de que un número sea mayor o menor que otro, de que una condición sea verdadera o falsa, etc.

En nuestro juego necesitamos que la decisión (girar a izquierda o derecha) se tome dependiendo del contenido de la variable “tecla, es decir, del carácter correspondiente a la tecla pulsada. Para ello se utiliza la instrucción si:

si condición [instrucciones]
Si la condición es verdadera se ejecutan las instrucciones comprendidas entre los corchetes. Si la condición es falsa se pasa a la siguiente instrucción del programa sin ejecutar las encerradas entre los corchetes. Las condiciones pueden ser de distintos tipos: =, >, <, etc.

Ya podemos dar un salto importante en nuestro programa. Con los procedimientos siguientes la tortuga está en movimiento permanente y con las teclas numérica 4 y 6 podemos hacerla girar a derecha e izquierda:

para juego
bp sl
ponfoco [Pantalla de MSWLogo]
ponteclado [control]
siempre [av 1 repite 2000 []]
fin
para control
haz “tecla car lc
si :tecla = 4 [gi 20]
si :tecla = 6 [gd 20]
fin


Estos procedimientos debemos guardarlos en el disco duro del ordenador utilizando la opción Guardar como… del menú Archivo (poner como nombre del archivo “juego de coches”). En cualquier momento,
podremos acceder a ellos con la opción Cagar… del mismo menú.



Siguiente: Programación con MSWLogo (VI)

Comentarios

Publicar un comentario

Entradas populares de este blog

Prácticas con FluidSIM

FluidSim es una herramienta de simulación para la obtención de los conocimientos básicos de la neumática y de la hidráulica.

Crucigrama: materiales metálicos

¿Te atreves a contestar este crucigrama sobre los materiales metálicos?

Crucigrama: estructuras

¿Te atreves a contestar este crucigrama sobre el tema de las estructuras visto en clase?