-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_tunnel.p8
201 lines (193 loc) · 17.2 KB
/
test_tunnel.p8
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
pico-8 cartridge // http://www.pico-8.com
version 15
__lua__
-- tunnel
-- droune
fdir=1.0
fsteps=1.0/50.0
f=fsteps
function _init()
cls()
end
function _update()
f = f + fdir * fsteps
if f >= (1.0-fsteps) then
f = 1.0 - fsteps
fdir = -fdir
end
if f <= fsteps then
f = fsteps
fdir = -fdir
end
end
function draw_rect(p1,p2,p3,p4,col)
line(p1[1],p1[2],p2[1],p2[2],col)
line(p2[1],p2[2],p3[1],p3[2],col)
line(p3[1],p3[2],p4[1],p4[2],col)
line(p4[1],p4[2],p1[1],p1[2],col)
end
function interp(p1,p2,f)
return {
f * p1[1] + (1.0-f) * p2[1],
f * p1[2] + (1.0-f) * p2[2]
}
end
function dist2(p1,p2)
return (
(p1[1]-p2[1])*(p1[1]-p2[1])+
(p1[2]-p2[2])*(p1[2]-p2[2])
);
end
function _draw()
cls()
local steps=50
local col=0
local p1={0,0}
local p2={0,127}
local p3={127,127}
local p4={127,0}
local d=dist2(p1,p2)
local min_dist=20
while d>min_dist do
draw_rect(p1,p2,p3,p4,2+col)
local _p1=interp(p1,p2,f)
local _p2=interp(p2,p3,f)
local _p3=interp(p3,p4,f)
local _p4=interp(p4,p1,f)
p1=_p1
p2=_p2
p3=_p3
p4=_p4
col=1-col
d=dist2(p1,p2)
end
end
__label__
22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333222222222222222222
20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003333330003000000000000000002
20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000223333330000000003000000000000000002
20000000000000000000000000000000000000000000000000000000000000000000000000000000000000033222320000000000000003000000000000000002
20000000000000000000000000000000000000000000000000000000000000000000000000000000033333222000002000000000000000300000000000000002
20000000000000000000000000000000000000000000000000000000000000000000000000333333300222000000002000000000000000300000000000000002
20000000000000000000000000000000000000000000000000000000000000000000333333000000322000000000002000000000000000300000000000000002
20000000000000000000000000000000000000000000000000000000000003333333000000000233030000000000000200000000000000300000000000000002
20000000000000000000000000000000000000000000000000000003333330000000000000223300030000000000000200000000000000300000000000000002
20000000000000000000000000000000000000000000000003333330000000000000000222330000003000000000000200000000000000300000000000000002
20000000000000000000000000000000000000000033333330000000000000000000022033000000003000000000000020000000000000030000000000000002
20000000000000000000000000000000000033333300000000000000000000000022203300000000000300000000000020000000000000030000000000000002
20000000000000000000000000000333333300000000000000000000000000022200332000000000000300000000000020000000000000030000000000000002
20000000000000000000000333333000000000000000000000000000000022200003020200000000000030000000000002000000000000030000000000000002
20000000000000000333333000000000000000000000000000000000022200000332200020000000000030000000000002000000000000030000000000000002
20000000003333333000000000000000000000000000000000000022200000033020000020000000000003000000000002000000000000030000000000000002
20003333330000000000000000000000000000000000000000022200000003300200000002000000000003000000000000200000000000003000000000000002
33330000000000000000000000000000000000000000000022200000000330022000000000200000000000300000000000200000000000003000000000000002
30000000000000000000000000000000000000000000022200000000033000300000000000020000000000300000000000200000000000003000000000000002
30000000000000000000000000000000000000000022200000000000300003030000000000020000000000030000000000020000000000003000000000000002
30000000000000000000000000000000000000022200000000000033000230003000000000002000000000003000000000020000000000003000000000000002
23000000000000000000000000000000000022200000000000003300002300000300000000000200000000003000000000020000000000003000000000000002
23000000000000000000000000000000022200000000000000330000023000000030000000000020000000000300000000002000000000000300000000000002
23000000000000000000000000000022200000000000000033000002230000000003000000000020000000000300000000002000000000000300000000000002
23000000000000000000000000022200000000000000003300000020200000000000300000000002000000000030000000002000000000000300000000000002
23000000000000000000000002200000000000000000330000000202022000000000030000000000200000000030000000000200000000000300000000000002
23000000000000000000002220000000000000000003000000022032000200000000003000000000020000000003000000000200000000000300000000000002
20300000000000000002220000000000000000000330000000200320000022000000000300000000020000000003000000000020000000000300000000000002
20300000000000002220000000000000000000033000000002003200000000200000000030000000002000000000300000000020000000000030000000000002
20300000000002220000000000000000000003300000000220030200000000020000000003300000000200000000300000000020000000000030000000000002
20300000002220000000000000000000000330000000002000032000000000002200000000030000000020000000030000000002000000000030000000000002
20300002220000000000000000000000033000000000020000333000000000000020000000003000000020000000003000000002000000000030000000000002
20302220000000000000000000000003300000000002200003230330000000000002200000000300000002000000003000000002000000000030000000000002
20220000000000000000000000000030000000000020000030300003300000000000020000000030000000200000000300000000200000000030000000000002
20230000000000000000000000003300000000000200000302300000033000000000002200000003000000020000000300000000200000000003000000000002
20020000000000000000000000330000000000002000003023000000000330000000000020000000300000020000000030000000200000000003000000000002
20020000000000000000000033000000000000220000030023000000000003330000000002000000030000002000000030000000020000000003000000000002
20020000000000000000003300000000000002000000300222000000000000003300000000220000003000000200000003000000020000000003000000000002
20032000000000000000330000000000000020000003002020222200000000000033000000002000000300000020000003000000020000000003000000000002
20032000000000000003000000000000002200000030002200000022220000000000330000000220000030000020000000300000002000000003000000000002
20002000000000000330000000000000020000000300020200000000002222000000003300000002000003000002000000300000002000000000300000000002
20003200000000033000000000000000200000003000203200000000000000222000000033300000220000300000200000030000002000000000300000000002
20003200000003300000000000000022000000030002003200000000000000000222200000033000002000030000020000030000000200000000300000000002
20003200000330000000000000000200000000300002002333330000000000000000022220000330000220003000002000003000000200000000300000000002
20003020033000000000000000002000000003000020032300003333333330000000000002220003300002000300002000000300000200000000300000000002
20003023300000000000000000220000000030000200032300000000000003333333330000002222033000200030000200000300000020000000300000000002
20003030000000000000000002000000000300000200302300000000000000000000003222222220222233022003000020000030000020000000030000000002
20000303000000000000000020000000003000002000320300000002222222222222222033300023333322220200300002000030000020000000030000000002
20000303000000000000002200000000030000020003022222222220000000000032232300300020000300002222030002000003000002000000030000000002
20000302300000000000020000000000300000020003022000000000000003332223000200300020000300000233203000200003000002000000030000000002
20000300300000000000200000000003000000200030022000000000333330222330300200030020000300002000332300020000300002000000030000000002
20000300230000000022000000000030000002000030202000333333000222023200300020030020000300002000003333002000300000200000030000000002
20000300230000000200000000000300000002000300202333000000222003300020030020030020003000002000000320302000030000200000003000000002
20000030023000002000000000000300000020000300202300000022000322030002030020030020003000002000003002230200030000200000003000000002
20000030023000220000000000003000000200000302002300022200003220223302003002030002003000020000003000023020003000020000003000000002
20000030020302000000000000030000002000003002002032200000332033002030203002030002003000020000030000002202003000020000003000000002
20000030002320000000000000300000002000003002003220000033020230330223020300203002003000020000030000000022000300020000003000000002
20000030002032000000000003000000020000030002030230003300202222003302302300203002003000020000300000000203200030002000003000000002
20000030000230200000000030000000200000030020030220330002032333332223220230203002003000200000300000000200320030002000000300000002
20000030000203200000000300000000200000300020030223000220323222223222322323023002003000200003000000002000032003002000000300000002
20000003000200320000003000000002000000300020030232302003202202320302323322023002003000200003000000020000003003000200000300000002
20000003000020302000030000000020000003000020030202320003232233202322320302320302030000200030000000020000000300300200000300000002
20000003000020030200300000000020000003000200030202230032032302000232303020302302030002000030000000200000000030300200000300000002
20000003000020030203000000000200000030000200030203220320303220000022303023022302030002000030000002000000000302030020000300000002
20000003000002003030000000002000000030000200030203203020303232000203230230032202030002000300000020000000003002030020000030000002
20000003000002003003000000020000000030002000030203023203023223202332232030023202030020000300000020000000030000203020000030000002
20000000300002000300300000020000000300002000300200320223323203023202202300203232030020003000000200000000300000023002000030000002
20000000300000200300230000200000000300002000300200320320223222322222323022000322030020003000002000000003000000002302000030000002
20000000300000200030023002000000003000002000300200302032022322233333230200033022030020030000002000000030000000002032000030000002
20000000300000200030002302000000003000020000300200302003203203300222202003300032030200030000020000000300000000000230200030000002
20000000300000020003000220000000030000020000300200302003020322033032020330000022200200300000200000003000000000000023200003000002
20000000300000020000300202200000030000020000300200030200302033200333233000002230200200300000200000030000000000000203020003000002
20000000300000020000300020320000300000020000300020030200300200322022300002220003200203000002000000300000000000022000320003000002
20000000030000002000030002032200300000200000300020030020030200030223000220000003202003000020000003000000000000200000320003000002
20000000030000002000030000203023000000200000300020030020030020003300222000000333202003000200000003000000000002000000032003000002
20000000030000002000003000200333300000200003000020030020003002320222000333333000202030000200000030000000000220000000032003000002
20000000030000000200003000020003233000200003000020030002003033222033333000000000220030002000000300000000002000000000003000300002
20000000030000000200000300002000302332000003000020003002000322233300000000000000220300020000003000000000020000000000003200300002
20000000030000000200000300000200030222200003000020003003232230000000000002222222220300020000030000000002200000000000000300300002
20000000003000000020000030000200003002022223333320003330222222222222222220000003023000200000300000000020000000000000000300300002
20000000003000000020000030000020000300220332222022222222200000000000000000000003203002000003000000000200000000000000000030300002
20000000003000000020000003000002000030002000330222200000033333333300000000000003230002000030000000022000000000000000003320300002
20000000003000000002000003000000200003000200003300022200000000000033333333300003230020000300000000200000000000000000330020030002
20000000003000000002000000300000200000300022000033000022220000000000000000033333200200003000000002000000000000000033000002030002
20000000003000000002000000030000020000030000200000330000002222000000000000000002300200030000000220000000000000003300000002030002
20000000000300000000200000030000002000003000022000003330000000222000000000000002302000300000002000000000000000330000000002030002
20000000000300000000200000003000000200000300000200000003300000000222200000000002020003000000020000000000000033000000000000230002
20000000000300000000200000003000000020000030000022000000033000000000022220000002200030000002200000000000000300000000000000230002
20000000000300000000020000000300000020000003000000200000000330000000000002222020200300000020000000000000033000000000000000203002
20000000000300000000020000000300000002000000300000022000000003300000000000000222003000000200000000000003300000000000000000023002
20000000000300000000020000000030000000200000030000000200000000033300000000000320030000022000000000000330000000000000000000023002
20000000000300000000002000000030000000020000003000000020000000000033000000000320300000200000000000033000000000000000000000023002
20000000000030000000002000000003000000020000000300000002200000000000330000003203000002000000000003300000000000000000000000002002
20000000000030000000002000000003000000002000000030000000020000000000003300003030000020000000000030000000000000000000000000022002
20000000000030000000000200000000300000000200000003000000002200000000000033032300002200000000003300000000000000000000000022200302
20000000000030000000000200000000300000000020000000300000000020000000000000333000020000000000330000000000000000000000022200000302
20000000000030000000000200000000030000000020000000030000000002200000000000230000200000000033000000000000000000000022200000000302
20000000000030000000000020000000003000000002000000003300000000020000000002030022000000003300000000000000000000022200000000000302
20000000000003000000000020000000003000000000200000000030000000002000000002300200000000330000000000000000000022200000000000000302
20000000000003000000000020000000000300000000020000000003000000000220000023002000000033000000000000000000022200000000000000000302
20000000000003000000000002000000000300000000020000000000300000000002000230220000000300000000000000000022200000000000000000000032
20000000000003000000000002000000000030000000002000000000030000000000220202000000033000000000000000002200000000000000000000000032
20000000000003000000000000200000000030000000000200000000003000000000002020000003300000000000000002220000000000000000000000000032
20000000000003000000000000200000000003000000000020000000000300000000032200000330000000000000002220000000000000000000000000000032
20000000000003000000000000200000000003000000000020000000000030000000320000033000000000000002220000000000000000000000000000000032
20000000000000300000000000020000000000300000000002000000000003000003200003300000000000002220000000000000000000000000000000000032
20000000000000300000000000020000000000300000000000200000000000300032000330000000000002220000000000000000000000000000000000000003
20000000000000300000000000020000000000030000000000020000000000030300003000000000002220000000000000000000000000000000000000000003
20000000000000300000000000002000000000003000000000020000000000003000330000000002220000000000000000000000000000000000000000000003
20000000000000300000000000002000000000003000000000002000000000220033000000002220000000000000000000000000000000000000000000003333
20000000000000300000000000002000000000000300000000000200000002003300000002220000000000000000000000000000000000000000003333330002
20000000000000030000000000000200000000000300000000000020000020330000002220000000000000000000000000000000000000003333330000000002
20000000000000030000000000000200000000000030000000000020002233000002220000000000000000000000000000000000003333330000000000000002
20000000000000030000000000000200000000000030000000000002020300002220000000000000000000000000000000003333330000000000000000000002
20000000000000030000000000000020000000000003000000000000233002220000000000000000000000000000003333330000000000000000000000000002
20000000000000030000000000000020000000000003000000000003302220000000000000000000000000003333330000000000000000000000000000000002
20000000000000030000000000000020000000000000300000000330220000000000000000000000003333330000000000000000000000000000000000000002
20000000000000030000000000000002000000000000300000033222000000000000000000003333330000000000000000000000000000000000000000000002
20000000000000003000000000000002000000000000030003322000000000000000033333330000000000000000000000000000000000000000000000000002
20000000000000003000000000000002000000000000030332000000000000033333300000000000000000000000000000000000000000000000000000000002
20000000000000003000000000000000200000000000223000000000033333300000000000000000000000000000000000000000000000000000000000000002
20000000000000003000000000000000200000000222000000033333300000000000000000000000000000000000000000000000000000000000000000000002
20000000000000003000000000000000200000222000033333300000000000000000000000000000000000000000000000000000000000000000000000000002
20000000000000003000000000000000020222033333300000000000000000000000000000000000000000000000000000000000000000000000000000000002
20000000000000000300000000000000022333300000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
20000000000000000300000000033333300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
20000000000000000300033333300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
22222222222222222333322222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222