-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path1261.bas
More file actions
89 lines (78 loc) · 2.01 KB
/
Copy path1261.bas
File metadata and controls
89 lines (78 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
CLS
T_INIT
FOR K = 1 TO 180 STEP 15
FOR J = 0 TO 36000 STEP 360/K
CLS
T_PEN = 1
FOR N = 1 TO 200
T_FD 5 + N
T_RT 15 + J/1000
T_FD 10 + N
T_RT J
NEXT N
T_PEN = 0
T_HOME
NEXT J
NEXT K
END
'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
'GRAPH TURTLE
'VARIABLES
'T_X : DISTANCE IN PIXELS
'T_Y : DISTANCE IN PIXELS
'T_DISTANCE : DISTANCE IN PIXELS
'T_PEN : 0 = PEN OFF 1 = PEN ON
'T_ANGLE : ANGLE IN DEGREES
SUB T_INIT
'INIT GRAPH TURTLE
T_W = XMAX
T_H = YMAX
T_CENTER_SCREEN_X = INT (T_W / 2)
T_CENTER_SCREEN_Y = INT (T_H / 2)
T_POSITION_X = T_CENTER_SCREEN_X
T_POSITION_Y = T_CENTER_SCREEN_Y
T_HEADING = 0
T_PEN = 1
END
SUB T_GT (T_X,T_Y)
'GO TO NEW POSITION X,Y PIXELS
T_NEW_POSITION_X = T_CENTER_SCREEN_X + T_X
T_NEW_POSITION_Y = T_CENTER_SCREEN_Y + T_Y
IF T_PEN = 1 THEN LINE T_POSITION_X, T_POSITION_Y, T_NEW_POSITION_X, T_NEW_POSITION_Y
T_POSITION_X = T_NEW_POSITION_X
T_POSITION_Y = T_NEW_POSITION_Y
END
SUB T_HOME
'GO HOME TURTLE
IF T_PEN = 1 THEN LINE T_POSITION_X, T_POSITION_Y, T_CENTER_SCREEN_X,T_CENTER_SCREEN_Y
T_POSITION_X = INT(T_W/2)
T_POSITION_Y = INT(T_H/2)
END
SUB T_FD (T_DISTANCE)
'FORWARD X DISTANCE PIXELES
T_NEW_POSITION_X = T_POSITION_X + (T_DISTANCE * SIN (T_HEADING))
T_NEW_POSITION_Y = T_POSITION_Y - (T_DISTANCE * COS (T_HEADING))
IF T_PEN = 1 THEN LINE T_POSITION_X, T_POSITION_Y, T_NEW_POSITION_X,T_NEW_POSITION_Y
T_POSITION_X = T_NEW_POSITION_X
T_POSITION_Y = T_NEW_POSITION_Y
END
SUB T_BK(T_DISTANCE)
'BACK X DISTANCE PIXELES
T_NEW_POSITION_X = T_POSITION_X - ( T_DISTANCE * SIN (T_HEADING))
T_NEW_POSITION_Y = T_POSITION_Y + ( T_DISTANCE * COS (T_HEADING))
IF T_PEN = 1 THEN LINE T_POSITION_X, T_POSITION_Y, T_NEW_POSITION_X,T_NEW_POSITION_Y
T_POSITION_X = T_NEW_POSITION_X
T_POSITION_Y = T_NEW_POSITION_Y
END
FUNC T_RT (T_ANGLE)
'TURN RIGHT, ANGLE DEGREES
T_HEADING = T_HEADING + RAD (T_ANGLE)
END
FUNC T_LT (T_ANGLE)
'TURN LEFT, ANGLE DEGREES
T_HEADING = T_HEADING - RAD (T_ANGLE)
END
FUNC T_ORIENT (T_ANGLE)
'SET ORIENTATION TURTLE ANGLE DEGREES
T_HEADING = RAD (T_ANGLE)
END