📄 turtlegraph.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "TurtleGraph"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Const PI = 3.141582654
Public X As Double, Y As Double, W As Double
Public XMax%, YMax%, schlafzeit%
Public Sichtbar As Boolean
Public Turtle As Boolean
Public zFarbe As Long, hFarbe As Long, tFarbe As Long
Public Bild As PictureBox
Public Sub Init(picImage As PictureBox, pWidth As Integer, pHeight As Integer, pColor As Long)
Set Bild = picImage
Bild.ScaleMode = vbPixels
Bild.FontName = "Tahoma"
Bild.FontSize = 10
iInit pWidth, pHeight, pWidth / 2, pHeight / 2, 0, pColor
End Sub
Public Function Bogen(Degrees As Double) As Double
Bogen = Degrees * PI / 180
End Function
Public Sub Drehe(Winkel As Double)
W = W + Winkel
If W >= 360 Then
Do Until W < 360
W = W - 360
Loop
End If
If W <= 0 Then
Do Until W >= 0
W = W + 360
Loop
End If
End Sub
Public Sub GeheZu(XN As Double, YN As Double)
If Sichtbar Then
Bild.Line (CInt(Round(X, 0)), CInt(Round(Y, 0)))-(CInt(Round(XN, 0)), CInt(Round(YN, 0)))
End If
X = XN
Y = YN
End Sub
Public Function getX() As Double
getX = X
End Function
Public Function getY() As Double
getY = Y
End Function
Public Sub Hide()
ZeichneIgel
Turtle = False
End Sub
Public Sub iInit(pX As Integer, pY As Integer, xr As Integer, yr As Integer, Wr As Integer, h As Long)
XMax = pX
YMax = pY
X = xr
Y = YMax - yr
W = Wr
Sichtbar = True
Turtle = False
hFarbe = h
Bild.BackColor = h
Bild.Cls
zFarbe = vbBlack
tFarbe = vbRed
Bild.ForeColor = zFarbe
Hide
End Sub
Public Sub Move(Laenge As Double)
ZeichneIgel
Vor Laenge
ZeichneIgel
Schlafe schlafzeit
End Sub
Public Sub MoveTo(nX As Double, nY As Double)
ZeichneIgel
GeheZu nX, nY
ZeichneIgel
Schlafe schlafzeit
End Sub
Public Sub PenUp()
Sichtbar = False
End Sub
Public Sub PenDown()
Sichtbar = True
End Sub
Public Sub Schlafe(Zeit)
Sleep Zeit
End Sub
Public Sub SetColor(newColor As Long)
Bild.ForeColor = newColor
End Sub
Public Sub setSleepDuration(newDur)
schlafzeit = newDur
End Sub
Public Sub Show()
Turtle = True
ZeichneIgel
End Sub
Public Sub Turn(Winkel As Double)
ZeichneIgel
Drehe Winkel
ZeichneIgel
Schlafe schlafzeit
End Sub
Public Sub TurnTo(Winkel As Double)
ZeichneIgel
W = Winkel
ZeichneIgel
Schlafe schlafzeit
End Sub
Public Sub Vor(Laenge As Double)
Dim XN As Double, YN As Double
XN = X + Laenge * Cos(Bogen(W))
YN = Y - Laenge * Sin(Bogen(W))
GeheZu XN, YN
End Sub
Public Sub WriteString(Text As String, pX As Integer, pY As Integer)
Bild.CurrentX = pX
Bild.CurrentY = pY
Bild.Print Text
End Sub
Public Sub ZeichneIgel()
If Not Turtle Then Exit Sub
Dim Farbe As Long
Farbe = Bild.ForeColor
Backup = Sichtbar
Sichtbar = True
Dim xCopy As Double, yCopy As Double, wCopy As Double
xCopy = X: yCopy = Y: wCopy = W
Bild.ForeColor = tFarbe
Bild.DrawMode = vbXorPen
Vor 8
Drehe -36.9
Vor -10
Drehe -90 + 36.9
Vor 12
Drehe 90 + 36.9
Vor 10
Drehe -36.9
Sichtbar = False
Vor -8
Sichtbar = Backup
X = xCopy
Y = yCopy
W = wCopy
Bild.DrawMode = 13
Bild.ForeColor = Farbe
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -