Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,115 @@
|
|||
' Turtle Graphics Library by Angelo Rosina 1995
|
||||
' Ported to Freebasic by Angelo Rosina 2007
|
||||
'
|
||||
'(RIGH and LEF because RIGHT and LEFT are reserved keywords, of course)
|
||||
|
||||
Declare Sub LEF (gradi As Integer)
|
||||
Declare Sub SETCOL (C As Integer)
|
||||
Declare Sub SETSIZE (C As Integer)
|
||||
Declare Sub RIGH (gradi As Integer)
|
||||
Declare Sub FORW (passi As Integer)
|
||||
Declare Sub BACK (passi As Integer)
|
||||
Declare Sub TURTLE (numero As Integer)
|
||||
Declare Sub UP ()
|
||||
Declare Sub DOWN ()
|
||||
Declare Sub DTurtle ()
|
||||
|
||||
Dim Shared As Integer graph, dimen, angulo, N, dis, su, pasos
|
||||
Dim Shared As Integer colore(10), figura(5000,10), figura2()
|
||||
Dim Shared As Long X(10), Y(10)
|
||||
Dim Shared As String comando
|
||||
|
||||
Sub BACK (passi As Integer)
|
||||
pasos = passi
|
||||
comando = "d " & Str(passi)
|
||||
DTurtle
|
||||
comando = ""
|
||||
pasos = 0
|
||||
End Sub
|
||||
|
||||
Sub DOWN
|
||||
su = 0
|
||||
End Sub
|
||||
|
||||
Sub DTurtle Static
|
||||
Dim As Integer rifa, lavora, XX, YY, scher(), FX, FY
|
||||
Dim As String R
|
||||
|
||||
If rifa = 0 Then rifa = 1: Redim scher(5000)
|
||||
If lavora Then Put (XX - dimen * 4, YY - dimen * 2), scher, Pset
|
||||
'SCREEN graph
|
||||
If su Then comando = "b" & comando
|
||||
FX = X(N)
|
||||
FY = Y(N)
|
||||
R = "s" & Str(dimen) & "bm" & Str(FX) & "," & Str(FY) & "c" & Str(colore(N)) & "Ta" & Str(angulo) & comando
|
||||
Draw R
|
||||
X(N) = X(N) + Sin(angulo / 57.2957) * dimen / 4 * pasos
|
||||
Y(N) = Y(N) + Cos(angulo / 57.2957) * dimen / 4 * pasos
|
||||
XX = X(N)
|
||||
YY = Y(N)
|
||||
Get (X(N) - dimen * 4, Y(N) - dimen * 2)-(X(N) + dimen * 4, Y(N) + dimen * 2), scher: lavora = 1
|
||||
If dis = 0 Then
|
||||
R = "bm" & Str(XX) & "," & Str(YY) & "Ta" & Str(angulo) & "r1 ta " & Str(angulo + 15 + 360 * (angulo + 15 > 360)) & "u7 ta " & Str(angulo + 165 + 360 * (angulo + 165 > 360)) & "u7 ta" & Str(angulo) & " m" & Str(XX) & "," & Str(YY)
|
||||
Draw R
|
||||
Else
|
||||
Put (XX, YY), figura2, Or
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Sub FORW (passi As Integer)
|
||||
pasos = -passi
|
||||
comando = "u " & Str(passi)
|
||||
DTurtle
|
||||
comando = ""
|
||||
pasos = 0
|
||||
End Sub
|
||||
|
||||
Sub LEF (gradi As Integer)
|
||||
angulo += gradi
|
||||
Do Until angulo <= 360
|
||||
angulo -= 360
|
||||
Loop
|
||||
DTurtle
|
||||
End Sub
|
||||
|
||||
Sub RIGH (gradi As Integer)
|
||||
angulo -= gradi
|
||||
Do Until angulo >= 0
|
||||
angulo += 360
|
||||
Loop
|
||||
DTurtle
|
||||
End Sub
|
||||
|
||||
Sub SETCOL (C As Integer)
|
||||
colore(N) = C
|
||||
DTurtle
|
||||
End Sub
|
||||
|
||||
Sub SETSIZE (C As Integer)
|
||||
dimen = C
|
||||
DTurtle
|
||||
End Sub
|
||||
|
||||
Sub TURTLE (numero As Integer) Static
|
||||
Dim As Integer i, NN, j
|
||||
Dim As Integer ang()
|
||||
|
||||
Redim figura2(dis)
|
||||
If dis <> 0 And graph <> 0 Then
|
||||
For i = 0 To dis
|
||||
figura2(i) = figura(i, numero)
|
||||
Next i
|
||||
End If
|
||||
NN = N
|
||||
N = numero
|
||||
If j = 0 Then j = 1: Redim ang(10): dimen = 4
|
||||
If X(numero) = 0 Then X(numero) = 320
|
||||
If Y(numero) = 0 Then Y(numero) = 100: colore(numero) = 15
|
||||
ang(NN) = angulo
|
||||
angulo = ang(N)
|
||||
DTurtle
|
||||
End Sub
|
||||
|
||||
Sub UP
|
||||
su = 1
|
||||
End Sub
|
||||
Loading…
Add table
Add a link
Reference in a new issue