RosettaCodeData/Task/Simple-turtle-graphics/FreeBASIC/simple-turtle-graphics-2.basic

77 lines
1.2 KiB
Plaintext

'Rosetta Code problem: https://rosettacode.org/wiki/Simple_turtle_graphics
'by Jjuanhdez, 03/2023
#include "Turtle_Graphics.bi"
Sub rectangle(ancho As Short, alto As Short)
For i As Short = 1 To 2
FORW alto
LEF 90
FORW ancho
LEF 90
Next i
End Sub
Sub square(lado As Short)
rectangle(lado, lado)
End Sub
Sub triangle(lado As Short)
For i As Short = 1 To 3
FORW lado
RIGH 120
Next i
End Sub
Sub house(lado As Short)
LEF 90
square lado
triangle lado
RIGH 90
End Sub
Sub barchart(lst() As Double, lado As Short)
Dim As Short i, min, max
max = lst(Ubound(lst))
For i = Lbound(lst) To Ubound(lst)
If lst(i) > max Then max = lst(i)
Next i
Dim As Short escala = lado/max
Dim As Short ancho = lado/Ubound(lst)
For i = Lbound(lst) To Ubound(lst)
rectangle lst(i), ancho
UP
FORW ancho
DOWN
Next i
UP
BACK lado
DOWN
End Sub
Screenres 800,600
Windowtitle "Simple turtle graphics"
Cls
TURTLE 1
SETSIZE 3
SETCOL 0 'black
DOWN
BACK 200
SETCOL 2 'green
house 150
UP
RIGH 90
FORW 50
Dim As Double s(1 To 6) = {1, 50, 33, 200, 130, 50}
barchart s(), 200
SETCOL 0
Sleep