introduccion a programacion con berkeley logo

Páginas: 19 (4636 palabras) Publicado: 2 de octubre de 2014
Tutorial Berkeley logo

UCBLogo: Telesketch
Queremos diseñar un programa que emule el funcionamiento de un telesketch, de tal
manera que podamos dibujar rayas hacia arriba, abajo, izquierda y derecha con el
teclado pulsando las teclas i, k, j y lrespectivamente, de tal manera que podamos
realizar un dibujo en la pantalla en función de las teclas que pulsemos.
Veamos el siguiente código deeste sencillo telesketch:
clearscreen
hideturtle
to tele
make “tecla rc
if tecla = “i [fd 5]
if tecla = “k [back 5]
if tecla = “j [lt 90 fd 5 rt 90]
if tecla = “l [rt 90 fd 5 lt 90]
tele
end
El código creado se ha hecho usando un procedimiento, en este caso el
procedimiento tele. Un procedimiento, a efectos prácticos, viene a ser como definir un
nuevo comando que a partir de ahora elcompilador va a saber ejecutar. Para
ejecutarlo no tenemos más que escribir su nombre y pulsar intro: tele.
las dos primeras líneas (clearscreen y hideturtle) sencillamente borran la pantalla y
ocultan la tortuga respectivamente. La línea tercera (to tele) y última (end), delimitan y
definen el procedimiento tele. La penúltima línea (tele) aporta recursividad, es decir,
como llama alprocedimiento tele desde el propio procedimiento tele, garantiza que el
programa se ejecute indefinidamente.
La lectura del teclado la da la línea make “tecla rc que significa que va a esperar hasta
que haya una tecla pulsada y que la variable tecla va a tener el valor de la tecla
pulsada (rc significa read character, es decir, leer carácter). (NOTA: en LOGO no hace
falta declarar previamente lavariable).
En resumen, lo que tenemos es un programa que se ejecuta de manera continua, que
lee una tecla cuando se pulsa y que guarda el valor de la tecla pulsada en una
variable que se llama tecla.
Una cuestión importante para este y para el resto de programas, es el tema de
la orientación de la tortuga: inicialmente mira hacia arriba y así debemos dejarla
siempre, mirando hacia arriba despuésde cada interacción, pues así garantizaremos
la integridad del funcionamiento del videojuego, lo veremos en breve con este
ejemplo.

El resto de las líneas sencillamente indica qué es lo que se espera que el programa
haga en función de las teclas pulsadas, así:








Si pulsamos la tecla i, la tortuga avanza 5 unidades, es decir, dibuja una línea desde
donde está haciaarriba de 5 unidades. Esto se consigue con la sentencia if tecla = “i
[fd 5], pues la primera parte es un condicional (si la variable tecla vale “i…) y la
segunda lo que debe hacer en este supuesto [fd 5] que significa que avance 5
unidades. Y, además, como hemos dicho, lo hará hacia arriba. ¿Por qué? Porque
inicialmente la tortuga mira hacia arriba y vamos a garantizar (ya veremos cómo) quedespués de cada pulsación así quede siempre.
Si pulsamos la tecla k, la tortuga retrocede 5 unidades, lo que se traduce en que
dibuja una línea desde donde está hacia abajo 5 unidades. Esto se consigue porque
al escribir [back 5], la tortuga, como está mirando hacia arriba, ir hacia atrás es dibujar
una línea hacia abajo (y como no cambiamos la dirección de la tortuga, esta sigue
mirando haciaarriba).
Si pulsamos la tecla j ejecutamos 3 instrucciones: las dos primeras son para hacer lo
que queremos que haga, es decir, dibujar una línea hacia la izquierda, y la última, la
hacemos para preservar la orientación de la tortuga inicial, es decir, que mire de
nuevo hacia arriba. Esto se traduce en el siguiente código: lt 90 (hace que la tortuga
gire 90 grados a la izquierda), fd 5 (avanzamos5 en la dirección en la que la tortuga
mira, es decir, a la izquierda) y finalmente rt 90 (para que la tortuga vuelva a mirar
hacia arriba y así garantizar una orientación correcta de la tortuga).
Si pulsamos la tecla l hacemos lo mismo que con la tecla j pero dibuja 5 unidades
hacia la derecha en lugar de hacia a la izquierda.
Una captura con la imagen del juego:

UCBLogo: videojuego...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Log. Programacion
  • Introduccion A Logo
  • introducción a la programacion
  • Introducción a la programación
  • Introducción A La Programacion
  • Introduccion A La Programacion
  • INTRODUCCION A LA PROGRAMACION
  • Introducción a la Programación

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS