-
Notifications
You must be signed in to change notification settings - Fork 0
/
demo-collisions.p8
249 lines (231 loc) · 19.3 KB
/
demo-collisions.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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
pico-8 cartridge // http://www.pico-8.com
version 29
__lua__
function _init()
zw=62
zh=62
make_boxes()
end
function _update()
move_box(a)
move_box(b)
end
function _draw()
cls(1)
rectfill(32,32,96,96,0)
rect(32,32,96,96,7)
draw_box_a()
draw_box_b()
print("a.x1 > b.x2",43,4,a.x1>b.x2 and 11 or 13)
print("a.y1 > b.y2",43,10,a.y1>b.y2 and 12 or 13)
print("a.x2 < b.x1",43,16,a.x2<b.x1 and 10 or 13)
print("a.y2 < b.y1",43,22,a.y2<b.y1 and 14 or 13)
if (a.x1>b.x2 or a.y1>b.y2 or a.x2<b.x1 or a.y2<b.y1) then
print(" ",75,56,5)
else
print("collision!!",43,102,11)
end
rect(12,104,24,116,6)
circfill(12,104,1,3)
circfill(24,116,1,3)
print("x,y",3,90,13)
print("x1,y1",3,96,7)
print("x2,y2",28,113,7)
print("x+8,y+8",28,119,13)
end
-->8
--box functions
function make_boxes()
a={}
a.w=9 --width
a.h=9 --height
a.x1=40 --top-left
a.y1=40
a.x2=a.x1+a.w --bottom-right
a.y2=a.y1+a.h
a.p=0 --player buttons
b={}
b.w=9 --width
b.h=9 --height
b.x1=60 --top-left
b.y1=60
b.x2=b.x1+b.w --bottom-right
b.y2=b.y1+b.h
b.p=1 --player buttons
end
function move_box(box)
if (btn(⬅️,box.p)) box.x1-=1
if (btn(➡️,box.p)) box.x1+=1
if (btn(⬆️,box.p)) box.y1-=1
if (btn(⬇️,box.p)) box.y1+=1
box.x1=mid(33,box.x1,95-box.w)
box.y1=mid(33,box.y1,95-box.h)
box.x2=box.x1+box.w
box.y2=box.y1+box.h
end
function draw_bounds(box)
s=2 --line step amount
for i=65,64+zw,s do
pset(i,box.y1,5)
pset(i,box.y2,5)
end
for j=65,64+zh,s do
pset(box.x1,j,5)
pset(box.x2,j,5)
end
end
function draw_box_a()
rect(a.x1,a.y1,a.x2,a.y2,5)
if (a.x1>b.x2) line(a.x1,a.y1,a.x1,a.y2,11)
if (a.y1>b.y2) line(a.x1,a.y1,a.x2,a.y1,12)
if (a.x2<b.x1) line(a.x2,a.y1,a.x2,a.y2,10)
if (a.y2<b.y1) line(a.x1,a.y2,a.x2,a.y2,14)
spr(1,a.x1+1,a.y1+1)
--print("a",a.x2-(a.w/2)-1,a.y2-(a.h/2)-2,5)
end
function draw_box_b()
rect(b.x1,b.y1,b.x2,b.y2,5)
if (a.x1>b.x2) line(b.x2,b.y1,b.x2,b.y2,11)
if (a.y1>b.y2) line(b.x1,b.y2,b.x2,b.y2,12)
if (a.x2<b.x1) line(b.x1,b.y1,b.x1,b.y2,10)
if (a.y2<b.y1) line(b.x1,b.y1,b.x2,b.y1,14)
spr(2,b.x1+1,b.y1+1)
end
__gfx__
000000000000000000a00a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000bb00bb000a00a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0070070000b33b000090090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0007700003bbbb300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000038bb8300090090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700003bb3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000020330200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000e00e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111ddd11111d1d1dd111111d1111111ddd11111d1d1ddd111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111d1d11111d1d11d1111111d111111d1d11111d1d111d111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111ddd111111d111d11111111d11111dd1111111d11ddd111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111d1d11111d1d11d1111111d111111d1d11111d1d1d11111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111d1d11d11d1d1ddd11111d1111111ddd11d11d1d1ddd111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111ddd11111d1d1dd111111d1111111ddd11111d1d1ddd111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111d1d11111d1d11d1111111d111111d1d11111d1d111d111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111ddd11111ddd11d11111111d11111dd111111ddd1ddd111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111d1d1111111d11d1111111d111111d1d1111111d1d11111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111d1d11d11ddd1ddd11111d1111111ddd11d11ddd1ddd111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111aaa11111a1a1aaa1111111a11111aaa11111a1a1aa1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111a1a11111a1a111a111111a111111a1a11111a1a11a1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111aaa111111a11aaa11111a1111111aa1111111a111a1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111a1a11111a1a1a11111111a111111a1a11111a1a11a1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111a1a11a11a1a1aaa1111111a11111aaa11a11a1a1aaa111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111eee11111e1e1eee1111111e11111eee11111e1e1ee1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111e1e11111e1e111e111111e111111e1e11111e1e11e1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111eee11111eee1eee11111e1111111ee111111eee11e1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111e1e1111111e1e11111111e111111e1e1111111e11e1111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111e1e11e11eee1eee1111111e11111eee11e11eee1eee111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111777777777777777777777777777777777777777777777777777777777777777771111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
1111111111111111111111111111111170000000555555555a000000000000000000000000000000000000000000000071111111111111111111111111111111
1111111111111111111111111111111170000000500000000a000000000000000000000000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000050bb00bb0a000000000000000000000000000000000000000000000071111111111111111111111111111111
1111111111111111111111111111111170000000500b33b00a000000000000000000000000000000000000000000000071111111111111111111111111111111
1111111111111111111111111111111170000000503bbbb30a000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000005038bb830a000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000005003bb300a000000000000000000000000000000000000000000000071111111111111111111111111111111
1111111111111111111111111111111170000000502033020a000000000000000000000000000000000000000000000071111111111111111111111111111111
1111111111111111111111111111111170000000500e00e00a000000000000000000000000000000000000000000000071111111111111111111111111111111
1111111111111111111111111111111170000000eeeeeeeeee000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000eeeeeeeeee0000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a00a00a0050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a00a00a0050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a0090090050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a0000000050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a0090090050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a0000000050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a0000000050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a0000000050000000000000000000000000071111111111111111111111111111111
111111111111111111111111111111117000000000000000000000000000a5555555550000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
111d1d11111d1d111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
111d1d11111d1d111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
1111d111111ddd111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
111d1d11d1111d111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
111d1d1d111ddd111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11111111111111111111111111111111700000000000000000000000000000000000000000000000000000000000000071111111111111111111111111111111
11171717711111171717711111111111777777777777777777777777777777777777777777777777777777777777777771111111111111111111111111111111
11171711711111171711711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11117111711111177711711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11171711711171111711711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11171717771711177717771111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111131111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111333666666666661111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111131111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161117171777111117171777111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111161117171117111117171117111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111161111111111131111711777111117771777111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111166666666666333117171711117111171711111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111131117171777171117771777111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111d1d11111ddd11111d1d11111ddd1111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111d1d11d11d1d11111d1d11d11d1d1111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111d11ddd1ddd11111ddd1ddd1ddd1111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111d1d11d11d1d11d1111d11d11d1d1111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111d1d11111ddd1d111ddd11111ddd1111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111