-
Notifications
You must be signed in to change notification settings - Fork 1
/
rules.pz
369 lines (303 loc) · 5.99 KB
/
rules.pz
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
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
title Signal
author arrogant.gamer
homepage www.arrogantgamer.com
flickscreen 16 x 8
youtube 5gQvLbN9EuQ
========
OBJECTS
========
Background
white #EEEEEE
00100
00100
11111
00100
00100
Player
white #222222 red
11111
10001
10201
10001
11111
pinkdrone ( can be remote controlled )
white #222222 pink
11111
10001
10201
10001
11111
greendrone ( can be remote controlled by drones)
white #222222 green
11111
10001
10201
10001
11111
orangedrone ( for the ending )
white #222222 orange
11111
10001
10201
10001
11111
dummy ( for the ending )
white #222222 red
11111
10001
10201
10001
11111
A_1
#222222 white
00000
01100
01000
000.0
00000
A_2
#222222 white
00000
00110
00010
0.000
00000
A_3
#222222 white
00000
0.000
00010
00110
00000
A_4
#222222 white
00000
000.0
01000
01100
00000
C_1
#222222 white
00000
00.00
00000
01010
00000
C_2
#222222 white
00000
01000
000.0
01000
00000
C_3
#222222 white
00000
01010
00000
00.00
00000
C_4
#222222 white
00000
00010
0.000
00010
00000
B_1
white #EEEEEE #AA0000
00100
00100
11111
00120
00100
B_2
white #EEEEEE #AA0000
00100
00100
11111
02100
00100
B_3
white #EEEEEE #AA0000
00100
02100
11111
00100
00100
B_4
white #EEEEEE #AA0000
00100
00120
11111
00100
00100
nullified
white #222222 darkgrey
11111
10001
10201
10001
11111
Wall
#222222
00000
00000
00000
00000
00000
mesh
white #EEEEEE pink
02102
20120
11211
02102
20120
green
green
00000
00000
00000
00000
00000
pink
pink
00000
00000
00000
00000
00000
red
red
00000
00000
00000
00000
00000
=======
LEGEND
=======
. = Background
3 = A_1
1 = A_2
7 = A_3
9 = A_4
w = C_1 and green
a = C_4 and green
s = C_3 and green
d = C_2 and green
8 = C_1 and pink
4 = C_4 and pink
2 = C_3 and pink
6 = C_2 and pink
( unused )
j = C_1 and red
h = C_4 and red
k = C_3 and red
l = C_2 and red
reddrone = player
drone = reddrone or greendrone
p = reddrone
c = pinkdrone
x = greendrone
y = dummy (unused )
z = orangedrone ( unused )
actor = p or c or x or z or y
n = nullified
m = mesh
I = Wall
! = B_1 and Background
@ = B_2 and Background
# = B_3 and Background
$ = B_4 and Background
( for the reprogramming level )
` = A_1 and B_1
' = A_2 and B_2
" = A_3 and B_3
, = A_4 and B_4
R = A_1 or A_2 or A_3 or A_4
B = B_1 or B_2 or B_3 or B_4
& = green
* = pink
=======
SOUNDS
=======
EndGame 96356908
EndLevel 63661108
SFX1 27182706 (rotate)
SFX2 8646901 (transfer)
( SFX2 57864308 (transfer: blaster noise ) )
undo 44778908
restart 76067108
actor move 62909707 (drone move)
================
COLLISIONLAYERS
================
Background
green, pink, red
B_1, B_2, B_3, B_4, mesh
player, nullified, actor, A_1, A_2, A_3, A_4, Wall, C_1, C_2, C_3, C_4
======
RULES
======
( a player might cause a pink drone to move )
[ > player | 8 ] [ stationary pinkdrone ] -> [ > player | 8 ] [ UP pinkdrone ] again
[ > player | 4 ] [ stationary pinkdrone ] -> [ > player | 4 ] [ LEFT pinkdrone ] again
[ > player | 2 ] [ stationary pinkdrone ] -> [ > player | 2 ] [ DOWN pinkdrone ] again
[ > player | 6 ] [ stationary pinkdrone ] -> [ > player | 6 ] [ RIGHT pinkdrone ] again
( a player might cause a pink drone to move )
[ > player | w ] [ stationary greendrone ] -> [ > player | w ] [ UP greendrone ] again
[ > player | a ] [ stationary greendrone ] -> [ > player | a ] [ LEFT greendrone ] again
[ > player | s ] [ stationary greendrone ] -> [ > player | s ] [ DOWN greendrone ] again
[ > player | d ] [ stationary greendrone ] -> [ > player | d ] [ RIGHT greendrone ] again
( a pinkdrone might cause a green drone to move )
[ > pinkdrone | w ] [ stationary greendrone ] -> [ > pinkdrone | w ] [ UP greendrone ] again
[ > pinkdrone | a ] [ stationary greendrone ] -> [ > pinkdrone | a ] [ LEFT greendrone ] again
[ > pinkdrone | s ] [ stationary greendrone ] -> [ > pinkdrone | s ] [ DOWN greendrone ] again
[ > pinkdrone | d ] [ stationary greendrone ] -> [ > pinkdrone | d ] [ RIGHT greendrone ] again
( a greendrone might cause a pink drone to move )
[ > greendrone | 8 ] [ stationary pinkdrone ] -> [ > greendrone | 8 ] [ UP pinkdrone ] again
[ > greendrone | 4 ] [ stationary pinkdrone ] -> [ > greendrone | 4 ] [ LEFT pinkdrone ] again
[ > greendrone | 2 ] [ stationary pinkdrone ] -> [ > greendrone | 2 ] [ DOWN pinkdrone ] again
[ > greendrone | 6 ] [ stationary pinkdrone ] -> [ > greendrone | 6 ] [ RIGHT pinkdrone ] again
( no passing through mesh )
[ > actor | mesh ] -> [ actor | mesh ] SFX0
( R arrows are pushable, but not when they are against walls )
[ > actor | R | no n no I no R no actor ] -> [ > actor | > R | no n no I no R no actor ]
( actions transfer through arrow blocks to remote actors )
[ action player | & ] [ greendrone ] -> [ action player | & ] [ action greendrone ] again
[ action player | * ] [ pinkdrone ] -> [ action player | * ] [ action pinkdrone ] again
[ action pinkdrone | & ] [ greendrone ] -> [ action pinkdrone | & ] [ action greendrone ] again
[ action greendrone | * ] [ pinkdrone ] -> [ action greendrone | * ] [ action pinkdrone ] again
( the arrow "absorbs" the action -- this is to stem the infection )
( [ action drone ] [ action player ] -> [ action drone ] [ player ] )
( mark squares as "wanting to rotate" )
[ action actor | A_1 ] -> [ action actor | action A_1 ]
[ action actor | A_2 ] -> [ action actor | action A_2 ]
[ action actor | A_3 ] -> [ action actor | action A_3 ]
[ action actor | A_4 ] -> [ action actor | action A_4 ]
( rotate squares that want to rotate )
[ action A_4 ] -> [ A_1 ] SFX1
[ action A_1 ] -> [ A_2 ] SFX1
[ action A_2 ] -> [ A_3 ] SFX1
[ action A_3 ] -> [ A_4 ] SFX1
( when pushing a square, push all similar squares )
[ > A_4 ] [ A_4 ] -> [ > A_4 ] [ > A_4 ]
[ > A_1 ] [ A_1 ] -> [ > A_1 ] [ > A_1 ]
[ > A_2 ] [ A_2 ] -> [ > A_2 ] [ > A_2 ]
[ > A_3 ] [ A_3 ] -> [ > A_3 ] [ > A_3 ]
( possible justifications for red's imprisonment )
( red travels )
[ > player | nullified ] -> [ nullified | player ] SFX2
( red infects )
( [ action player | nullified ] -> [ player | player ] )
==============
WINCONDITIONS
==============
all A_1 on B_1
all A_2 on B_2
all A_3 on B_3
all A_4 on B_4
=======
LEVELS
=======