jueves, 19 de mayo de 2016

Capítulo 21: De vuelta en Small Basic. Introducción a los gráficos parte 2

Continuación de la parte 1... El blog no me permitió publicar todo el contenido junto así que tuve que dividirlo.



Como dije, el código se vería así:
GraphicsWindow.SetPixel(100, 50, "blue")


 Ahí está mi pixel...... ¿qué? ¿No se ve?..... Pero si está clarito....



Ahí está, ¿ves? XD. Si, lo reconozco es un puntito que apenas se ve, pero para eso tenemos nuestras habilidades como futuros programadores. Haremos un bucle.

For x = 100 To 200
  GraphicsWindow.SetPixel(x, 50, "blue")
EndFor

Lo que hace esto es dibujar 100 pixeles partiendo desde la posición 100 y terminando en la posición 200. Al dibujar todos esos pixeles juntos se forma una línea.


 
Puedo hacer lo mismo pero modificando los valores de Y

For y = 50 To 150
  GraphicsWindow.SetPixel(100, y, "blue")
EndFor



Ya con lo anterior dicho... ¿cómo podríamos dibujar un cuadrado?
A mí se me ocurre lo siguiente:

For x = 100 To 200
  GraphicsWindow.SetPixel(x, 50, "blue")
  GraphicsWindow.SetPixel(x, 150, "blue")
EndFor 
 
For y = 50 To 150
  GraphicsWindow.SetPixel(100, y, "red")
  GraphicsWindow.SetPixel(200, y, "red")
EndFor

Y este es el resultado...


¿Y cómo dibujamos una línea diagonal?
Pues... modificando los valores de X e Y

For d = 50 To 150
  GraphicsWindow.SetPixel(d, d, "blue")
EndFor
  


Ya con esto... ¿dibujemos un triángulo?

For a = 50 To 150
  GraphicsWindow.SetPixel(a, a, "blue")
EndFor 

For b = 50 To 150
  GraphicsWindow.SetPixel(50, b, "red")
EndFor
 
For c = 50 To 150
  GraphicsWindow.SetPixel(c, 150, "green")
EndFor


  
 Eso es todo por ahora, a practicar se ha dicho!!!
 



1 comentario:

  1. Hola Gustavo!!. Una pregunta: cómo hago para introducir datos desde teclado en el modo gráfico de Small Basic?, o sea, cómo hago algo equivalente a read()?. Gracias!!!.

    ResponderEliminar

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...