Paso 1/7: Recordatorio de episodios anteriores
Small Basic es un lenguaje diseñado para la diversión, para el simple placer de divertirse mientras se programa. Es parte de esta nueva iniciativa de Microsoft para animar a los más jóvenes (de 7 a 77 años) a descubrir las alegrías de la programación. Para obtener más información, haga clic aquí — aquí –.
En nuestro primer episodio (ver aquí) presentamos el entorno de desarrollo, mostramos que el software permite no sólo crear pequeñas aplicaciones rápidas en modo consola (aquí) sino también aplicaciones Windows reales conectadas a la Web y capaces de consultar servicios Web como Flickr (aquí).
En el segundo episodio (ver aquí), estudiamos algunos conceptos fundamentales del lenguaje como variables, bucles y pruebas. Los hemos ilustrado con el Juego de los Números Misteriosos (ver aquí).
En este tercer episodio, descubriremos que Small Basic se inspiró en el lenguaje LOGO para ofrecer instrucciones gráficas muy entretenidas y educativas.
El lenguaje de LOGO fue muy popular en la década de 1980. Era estándar en ordenadores como el Thomson TO7. Incluso el Atari ST estaba disponible con una versión Logo cuando fue lanzado.
Creado a finales de los años 60, el Logo fue considerado como un lenguaje informático con fines educativos. Su característica principal era «Turtle Graphics», un conjunto de instrucciones que le permitía dibujar en pantalla usando controles que controlaban una tortuga virtual: se le decía a la tortuga que se moviera hacia adelante, girara a la izquierda, a la derecha, etc. Ella deja una huella gráfica cuando viaja, logramos recrear dibujos geométricos de una manera muy divertida.
Small Basic también tiene un conjunto de instrucciones de «Gráficos de Tortugas» que descubriremos….
Paso 2/5: La Tortuga
Por lo tanto, la programación de Logo/Turtle consiste en controlar el movimiento de una tortuga colocada inicialmente en el centro de la pantalla.
El programa Tortuga más simple de Turtle tiene sólo una línea de programación:
Turtle.Show()
Este sencillo programa abre una ventana de Windows y muestra una tortuga en el centro de la pantalla, con la cabeza apuntando hacia arriba.
La tortuga responde a un pequeño número de instrucciones:
* Turtle.Move(x) avanza la Tortuga x píxeles en la pantalla
* Turtle TurnRight() rota la Tortuga a la derecha 90°.
* Turtle.TurnLeft() rota la Tortuga a la izquierda 90°.
* Turtle Turn(x) rota la Tortuga en x grados (x es por lo tanto un ángulo de rotación de 0 a 360).
Pruebe el siguiente programa:
Turtle.Show(
)
Movimiento de tortuga(50
)
Turtle.TurnRight(
)
Movimiento de tortuga(50
)
Turtle.TurnLeft(
)
Movimiento de tortuga(50
)
Turtle.TurnLeft(
)
Movimiento de tortuga(50
)
Turtle.TurnRight(
)
Movimiento de tortuga(50)
A continuación, obtenemos una bobina….. Este programa es muy secuencial pero permite entender el principio de operación de la Tortuga Básica Pequeña.
Pasemos a algo más original en el siguiente paso…..
Paso 3/5: Programación de la tortuga
En lugar de escribir una larga secuencia de instrucciones repetitivas, podemos aplicar los conceptos de programación vistos en nuestro Episodio 2 para hacer las cosas un poco más sofisticadas….
El programa de abajo dibuja un cuadrado de colores (la tortuga es girada 4 veces en la misma dirección para que regrese a su punto de partida, obtenemos un cuadrado pero cambiamos el color del dibujo cada vez que cambia de dirección).
Turtle.Show()
Para i = 1 a 4
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Turtle.TurnRight()
Tortuga.Moverse(100)
FinPara
Ahora prueba la siguiente variante que dibuja una especie de laberinto:
Turtle.Show()
Para i = 1Tb 16
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Turtle.TurnRight()
Movimiento de tortuga(10 * i)
FinPara
Ten cuidado:
Debido a un error en la versión actual de Small Basic, las instrucciones de Tortuga sólo funcionan correctamente si redefine el «Current Format» a «English (United States)» en la pestaña Formato de las Opciones del Sistema Regional.
Paso 4/5: Otras instrucciones
En esta etapa, tenemos las 4 instrucciones básicas para el manejo de las tortugas. Pero hay otros:
* Turno de tortuga(a) rota la tortuga en un ángulo «a» que varía de 0 a 360
* Turtle.PenUp() levanta el lápiz, lo que te permite mover la tortuga sin dibujar.
* Turtle.PenDown() baja el lápiz para reanudar el dibujo.
* La velocidad de la tortuga(v) cambia la velocidad de desplazamiento, «v» varía de 1 a 10, siendo 10 un desplazamiento instantáneo.
Pruebe el programa a continuación:
Turtle.Show()
Velocidad de la tortuga = 9
Turtle.TurnLeft()
Para i = 0 a 10
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Movimiento de tortuga(150)
Turtle.PenUp()
Turtle.turn(180)
Movimiento de tortuga(150)
Turtle.turn(180)
Turtle.PenDown()
Turtle.turn(18)
FinPara
Paso 5/5: Otros ejemplos de diversión
Y para terminar este tercer episodio, aquí hay 4 ejemplos adicionales para entretenerte:
Ejemplo 1
lados = 50
longitud = 400 / lados
ángulo = 360 / lados
Velocidad de tortuga = 10
Para j = 1Tb 20
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Para i = 1 A los lados
Turtle.Move(longitud)
Giro de la tortuga (ángulo)
FinPara
Turtle.turn(18)
FinPara
Ejemplo 2
Turtle.Show()
Velocidad de tortuga = 10
Cpt = 5
Para i = 1Tb 100
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Movimiento de tortuga(2 * Cpt)
Tortuga. Vuelta(73)
Cpt = Cpt + 1
FinPara
Ejemplo 3
Turtle.Show()
Velocidad de tortuga = 10
Cpt = 1
Para i = 1Tb 720
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Movimiento de tortuga(cpt/100)
Turtle.turn(5)
Cpt = Cpt + 1
FinPara
Ejemplo 4
Turtle.Show()
Velocidad de tortuga = 10
Turtle.PenUp()
Turtle.turn(180)
Movimiento de tortuga(150)
Turtle.turn(180)
Turtle.PenDown()
Para i = 1Tb 100
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Movimiento de tortuga(300)
Turtle.turn(50)
Movimiento de tortuga(50)
Turtle.turn(125)
FinPara