Pseudocodigos Small Basic
Enviado por bryan96 • 26 de Junio de 2013 • 15.843 Palabras (64 Páginas) • 503 Visitas
con estos pasos ya podemos empezar a trabajar para crear una extensión. Pero hay que tener en cuenta algunas cosas como que no está soportada la sobrecarga de funciones, por lo que no podemos tener dos funciones con el mismo nombre aunque reciban distintos parámetros. Todas las variables responden al tipo Primitive de la API interna del lenguaje, por lo que no podemos trabajar directamente con tipos de datos como int o string. Sabiendo esto aquí tenemos un esquema básico de como sería una extensión y sus tres diferentes tipos de elementos:
using Microsoft.SmallBasic.Library;
namespace MisExtensiones {
[SmallBasicType]
public static class MiExtension {
// Para definir variables:
public static Primitive Propiedad=new Primitive();
// Para definir métodos:
public static void Metodo1() {
// Código del método...
}
public static void Metodo2(Primitive param) {
// Código del método...
}
public static Primitive Metodo3() {
// Código del método...
}
public static Primitive Metodo4(Primitive param) {
// Código del método...
}
// Para definir manejadores de eventos:
public static event SmallBasicCallback Evento=null;
}
}
De esta forma al generar la dll del proyecto y añadirla al directorio de librerías de Small Basic, tendremos una nueva librería llamada MiExtension, con en este caso una propiedad, un manejador de eventos y cuatro funciones. Las posibilidades de esto son por decirlo de algún modo infinitas. Podemos añadir todo lo que queramos al lenguaje, teniendo en cuenta que no podemos repetir identificadores ya que ello confundiría a Small Basic. Por cierto que en este caso para la variable no hemos usado una propiedad de C#, pero podríamos haberla usado perfectamente y con ello podríamos limitar su escritura para hacerla solo de lectura, ya que hay cosas que no tiene sentido que el usuario las cambie de valor.
Con esto ya está de momento cubierto el lenguaje y la mayoría de sus puntos, por lo que a partir de aquí, hasta que salga una nueva versión de Small Basic, me pondré a hacer alguna que otra extensión y/o juego que colgaré en esta web cuando lo tenga listo y terminado. Aunque de momento hasta que termine junio, estaré con los exámenes para terminar la carrera y ello me va a tener bastante liado, por lo que seguramente no haya mucho movimiento por aquí hasta la última semana de junio. Así que a estudiar, jej.
ARCHIVADO EN ARTÍCULOS, C#
Pintando con la tortuga en Small Basic
11 MAYO, 2009 DEJA UN COMENTARIO
Por último para terminar con el modo ventana tenemos la librería Turtle, que sirve para pintar rectas como si estuviéramos usando un lápiz sobre un papel. Es una forma sencilla para pintar cosas, que se utilizó bastante hace unas cuantas décadas. Sus atributos y operaciones son:
Angle: Permite obtener y cambiar el ángulo actual de la tortuga, los cambios son aplicados al instante. El ángulo se indica en grados donde el Norte es 0º, el Este 90º, el Sur 180º y el Oeste son 270º.
Speed: Permite obtener y cambiar la velocidad de movimiento. Esta va de 1 a 10, donde 10 es el valor más rápido porque realiza las operaciones de forma instantánea.
X: Permite obtener y cambiar la coordenada X de la tortuga de forma instantánea.
Y: Permite obtener y cambiar la coordenada Y de la tortuga de forma instantánea.
Show(): Muestra la tortuga en la ventana.
Hide(): Oculta la tortuga en la ventana.
PenDown(): Baja el lápiz de la tortuga para que cuando esta se mueva se vaya pintando en pantalla.
PenUp(): Sube el lápiz de la tortuga para evitar que al moverse se vaya pintando en pantalla.
Move(distancia): Mueve la tortuga una distancia especificada. Si el lápiz está bajado se dibujará una línea al moverse.
MoveTo(x, y): Mueve la tortuga un punto especificado. Si el lápiz está bajado se dibujará una línea al moverse.
Turn(ángulo): Gira la tortuga en base al ángulo en grados especificado. Si el ángulo es positivo gira a la derecha y si es negativo a la izquierda.
TurnLeft(): Gira la tortuga 90º a la izquierda.
TurnRight(): Gira la tortuga 90º a la derecha.
Y tras ver las operaciones y atributos de la librería Turtle, aquí tenéis un bonito programa de ejemplo donde se pintan unas cuantas formas usando esta librería, entre ellas un bonito círculo:
'----------------------------------------------------
' Prueba con turtle
'----------------------------------------------------
GraphicsWindow.Title = "Prueba con turtle"
GraphicsWindow.BackgroundColor = "White"
GraphicsWindow.PenColor = "SteelBlue"
GraphicsWindow.KeyDown = OnKeyDown
'----------------------------------------------------
Sub OnKeyDown
If GraphicsWindow.LastKey = "S" Then
Turtle.Show()
ElseIf GraphicsWindow.LastKey = "H" Then
Turtle.Hide()
ElseIf GraphicsWindow.LastKey = "C" Then
GraphicsWindow.Clear()
ElseIf GraphicsWindow.LastKey = "Escape" Then
Program.End()
ElseIf GraphicsWindow.LastKey = "D1" Then
Paint1()
ElseIf GraphicsWindow.LastKey = "D2" Then
Paint2()
ElseIf GraphicsWindow.LastKey = "D3" Then
Paint3()
ElseIf GraphicsWindow.LastKey = "D4" Then
lines = 6
PaintCircle()
ElseIf GraphicsWindow.LastKey = "D5" Then
lines = 8
PaintCircle()
ElseIf GraphicsWindow.LastKey = "D6" Then
lines = 16
PaintCircle()
ElseIf GraphicsWindow.LastKey = "D7" Then
lines = 32
PaintCircle()
ElseIf GraphicsWindow.LastKey = "D8" Then
lines = 64
PaintCircle()
ElseIf GraphicsWindow.LastKey = "D9" Then
lines = 128
PaintCircle()
ElseIf GraphicsWindow.LastKey = "D0" Then
lines = 256
PaintCircle()
EndIf
EndSub
'----------------------------------------------------
Sub Paint1
GraphicsWindow.Clear()
Turtle.X = GraphicsWindow.Width / 2
Turtle.Y = GraphicsWindow.Height / 2
Turtle.Speed = 8
...