Skip to content

Biblioteca

Pablo Molins edited this page Jun 11, 2016 · 1 revision

Objetivos y guías de diseño:

Crear una biblioteca Python que sea capaz de mandar ordenes por BT a la tortuga con una interfaz para el usuario muy sencilla inspirada en Logo.

La biblioteca debe ser fácil de usar pero no por ello menos potente para los usuarios más avanzados. Por eso, todas las funciones deben tener parámetros por defecto, de tal manera que se puedan usar nada más empezar.

Debe ser lo más transparente al usuario final toda la comunicación con la tortuga y todo el manejo del hardware. Así mismo, debe poder ser utilizada y puesta en marcha por un usuario sin demasiados conocimientos informáticos (idealmente el propio alumno, pero opcionalmente el profesor).

Ejemplos de uso desde la perspectiva de un usuario final:

1. Cuadrado

Un fichero Python con solo el siguiente código debería dibujar un cuadrado en el suelo:

import Phogo

UsarTortugaNumero(3)

EmpezarADibujar()

Avanzar()
GirarDerecha()
Avanzar()
GirarDerecha()
Avanzar()
GirarDerecha()
Avanzar()

Idealmente, la función de UsarTortugaNumero(int) no existiría.

Más ejemplos en el futuro.

Interfaz con el usuario final.

Aquí se detallan todas las funciones de la biblioteca y una breve descripción para cada una de ellas. Es importante recordar que la mayoría de ellas se dedican exclusivamente a mandar al interprete una orden por BT. El listado de ordenes y el protocolo está explicado en el interprete.

Funciones básicas de movimiento:

  • Avanzar(int): La tortuga se desplaza hacia delante tantos "pasos" como se especifiquen por parámetro. Si no se especifica nada, avanza un valor por defecto.
  • GirarDerecha(): La tortuga gira 90º en sentido horario.
  • GirarIzquierda(): La tortuga gira 90º en sentido antihorario.
  • Girar(int): La tortuga gira en sentido horario tantos grados como se especifique por parámetro. Se aceptan números negativos y si abs(parámetro) > 360, da más de una vuelta.

Funciones relativas al pintado:

  • EmpezarADejarRastro(): Si la tortuga usar el rotulador, lo deja caer y empieza a pintar cada vez que se mueva. Si utiliza punzón, empieza a bajara y subir a intervalos regulares.
  • TerminarDeDejarRastro(): El rotulador sube o el punzón ya no baja más.

Funciones de configuración (idealmente, no existen):

Este grupo de funciones son las únicas que no se dedican exclusivamente a mandar información al interprete.

  • UtilizarRotulador()/UtilizarPunzón(): Comunica a la tortuga qué sistema está usando para saber si debe dejarlo bajo (rotulador) o debe estar subiendo y bajando (punzón).
  • UtilizarTortugaNumero(int): Establece comunicación con una tortuga determinada.