class Main(MonoBehaviour):
def start(self):
instantiate(background)
instantiate(space)
instantiate(destroyingcrate)
instantiate(deleter)
def update(self):
pass
class space(MonoBehaviour):
def start(self):
self.set_sprite("Dungeon/spider_run.png")
self.x = (-370)
self.rot = 90
def update(self):
if key_is_pressed('w'):
self.move_right((-10))
if key_is_pressed('d'):
self.move_forward(10)
if key_is_pressed('s'):
self.move_right(10)
if key_is_pressed('a'):
self.move_forward((-10))
if key_was_pressed('e'):
instantiate(laser1, (self.x), (self.y))
if key_was_pressed('q'):
instantiate(crate1, (self.x), (self.y))
if self.collisionCheck("laser2"):
destroy((self.collisionCheck("laser2")))
destroy((self))
if self.collisionCheck("laser3"):
destroy((self.collisionCheck("laser3")))
destroy((self))
if self.collisionCheck("crate2"):
destroy((self.collisionCheck("crate2")))
destroy((self))
if self.collisionCheck("crate3"):
destroy((self.collisionCheck("crate3")))
destroy((self))
class deleter(MonoBehaviour):
def start(self):
self.set_sprite("Dungeon/spider_run.png")
self.y = 200
self.rot = 180
def update(self):
if key_is_pressed('f'):
self.move_right(10)
if key_is_pressed('t'):
self.move_forward((-10))
if key_is_pressed('h'):
self.move_right((-10))
if key_is_pressed('g'):
self.move_forward(10)
if key_was_pressed('y'):
instantiate(laser2, (self.x), (self.y))
if key_was_pressed('r'):
instantiate(crate2, (self.x), (self.y))
if self.collisionCheck("laser3"):
destroy((self.collisionCheck("laser3")))
destroy((self))
if self.collisionCheck("laser1"):
destroy((self.collisionCheck("laser1")))
destroy((self))
if self.collisionCheck("crate1"):
destroy((self.collisionCheck("crate1")))
destroy((self))
if self.collisionCheck("crate3"):
destroy((self.collisionCheck("crate3")))
destroy((self))
class destroyingcrate(MonoBehaviour):
def start(self):
self.set_sprite("Dungeon/spider_run.png")
self.x = 370
self.rot = 270
def update(self):
if key_is_pressed('k'):
self.move_right((-10))
if key_is_pressed('j'):
self.move_forward(10)
if key_is_pressed('i'):
self.move_right(10)
if key_is_pressed('l'):
self.move_forward((-10))
if key_was_pressed('o'):
instantiate(laser3, (self.x), (self.y))
if key_was_pressed('u'):
instantiate(crate3, (self.x), (self.y))
if self.collisionCheck("laser2"):
destroy((self.collisionCheck("laser2")))
destroy((self))
if self.collisionCheck("laser1"):
destroy((self.collisionCheck("laser1")))
destroy((self))
if self.collisionCheck("crate1"):
destroy((self.collisionCheck("crate1")))
destroy((self))
if self.collisionCheck("crate2"):
destroy((self.collisionCheck("crate2")))
destroy((self))
class background(MonoBehaviour):
def start(self):
self.set_sprite("Space/Nebula.jpg")
def update(self):
pass
class laser3(MonoBehaviour):
def start(self):
self.set_sprite("Space/Bullet.png")
self.rot = 270
def update(self):
self.move_forward(30)
if self.collisionCheck("deleter"):
destroy((self.collisionCheck("deleter")))
destroy((self))
if self.collisionCheck("space"):
destroy((self.collisionCheck("space")))
destroy((self))
if self.collisionCheck("crate1"):
destroy((self.collisionCheck("crate1")))
destroy((self))
if self.collisionCheck("crate2"):
destroy((self.collisionCheck("crate2")))
destroy((self))
class laser2(MonoBehaviour):
def start(self):
self.set_sprite("Space/Bullet.png")
self.rot = 180
def update(self):
self.move_forward(30)
if self.collisionCheck("destroyingcrate"):
destroy((self.collisionCheck("destroyingcrate")))
destroy((self))
if self.collisionCheck("space"):
destroy((self.collisionCheck("space")))
destroy((self))
if self.collisionCheck("crate3"):
destroy((self.collisionCheck("crate3")))
destroy((self))
if self.collisionCheck("crate1"):
destroy((self.collisionCheck("crate1")))
destroy((self))
class laser1(MonoBehaviour):
def start(self):
self.set_sprite("Space/Bullet.png")
self.rot = 90
def update(self):
self.move_forward(30)
if self.collisionCheck("destroyingcrate"):
destroy((self.collisionCheck("destroyingcrate")))
destroy((self))
if self.collisionCheck("deleter"):
destroy((self.collisionCheck("deleter")))
destroy((self))
if self.collisionCheck("crate2"):
destroy((self.collisionCheck("crate2")))
destroy((self))
if self.collisionCheck("crate3"):
destroy((self.collisionCheck("crate3")))
destroy((self))
class crate1(MonoBehaviour):
def start(self):
self.set_sprite("Dungeon/spiderweb.png")
def update(self):
if self.collisionCheck("deleter"):
destroy((self.collisionCheck("deleter")))
destroy((self))
if self.collisionCheck("destroyingcrate"):
destroy((self.collisionCheck("destroyingcrate")))
destroy((self))
class crate3(MonoBehaviour):
def start(self):
self.set_sprite("Dungeon/spiderweb.png")
def update(self):
if self.collisionCheck("deleter"):
destroy((self.collisionCheck("deleter")))
destroy((self))
if self.collisionCheck("space"):
destroy((self.collisionCheck("space")))
destroy((self))
class crate2(MonoBehaviour):
def start(self):
self.set_sprite("Dungeon/spiderweb.png")
def update(self):
if self.collisionCheck("destroyingcrate"):
destroy((self.collisionCheck("destroyingcrate")))
destroy((self))
if self.collisionCheck("space"):
destroy((self.collisionCheck("space")))
destroy((self))
EQ
AND
TRUE
10
WHILE
i
1
10
1
j
BREAK
0
ADD
1
1
ROOT
9
SIN
45
PI
EVEN
0
ROUND
3.1
SUM
64
10
50
1
100
1
100
item
abc
FIRST
text
abc
FROM_START
text
FROM_START
FROM_START
text
UPPERCASE
abc
BOTH
abc
abc
TEXT
abc
0
0
1
1
0
1
90
1
0.5
1
"Hello world"
0
0
5
FIRST
GET
FROM_START
SET
FROM_START
FROM_START
FROM_START
SPLIT
,
#Main Script
from processing import *
import random
import math
import time
### START ENGINE CODE
class Data:
url = "https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/"
#Ivo-Engine stuff
objs = []
#object are only destroyed at the end of the frame
toBeDestroyed = []
inputkeys = {} #dict
gameWidth = 800
gameHeight = 500
refWidth = 800
refHeight = 500
scaleRatio = 1
reloadEndOfFrame = False
main = None
images = {}
#Base-class of every object to enable start & update
class MonoBehaviour:
#REGION variables
x = 0
y = 0
#used for sorting
z = 0
rot = 0
#used for z-sorting internally
prevZ = -1000
#should be changed through setScale only!
scale = 1
currAnim = None
inGameScreen = True
min_x = 0
min_y = 0
max_x = 0
max_y = 0
markForUpdateSize = False
#ENDREGION
def setAnim(self, anim):
self.currAnim = anim
def setScale(self, val):
self.scale = val
#REGION Sprites
sprite = None
def set_sprite(self, url, width = None, height = None):
if (url not in Data.images):
Data.images[url] = loadImage(Data.url + url)
self.sprite = Data.images[url]
if (width != None):
self.set_width(width)
if (height != None):
self.set_height(height)
#self.updateMinMax() should be called after...
def set_width(self, width):
self.sprite.width = width
def set_height(self, height):
self.sprite.height = height
def move_forward(self, value):
self.x += math.cos(radians(self.rot-90))*value
self.y -= math.sin(radians(self.rot-90))*value
def move_right(self, value):
self.x += math.cos(radians(self.rot))*value
self.y -= math.sin(radians(self.rot))*value
#ENDREGION
#REGION Collision
def get_real_width(self):
return self.sprite.width * self.scale
def get_real_height(self):
return self.sprite.height * self.scale
def get_min_x(self):
return self.x - self.get_real_width() * 0.5
def get_max_x(self):
return self.x + self.get_real_width() * 0.5
b
def get_min_y(self):
return self.y - self.get_real_height() * 0.5
def get_max_y(self):
return self.y + self.get_real_height() * 0.5
#TODO only objects inside the gamescreen collide?
def collisionCheck(self, objType):
if (not self.inGameScreen):
return False;
for obj in Data.objs:
if (obj.inGameScreen):
if (obj is not self and type(obj).__name__ == objType):
if (self.intersects(obj)):
return obj
return False
def intersects(self, obj2):
return not (self.get_max_x() < obj2.get_min_x() or self.get_min_x() > obj2.get_max_x() or self.get_min_y() > obj2.get_max_y() or self.get_max_y() < obj2.get_min_y())
def check_in_gamescreen(self):
return not (self.get_max_x() < -Data.refWidth * 0.5 or self.get_min_x() > Data.refWidth * 0.5 or self.get_min_y() > Data.refHeight * 0.5 or self.get_max_y() < -Data.refHeight*0.5)
#ENDREGION
#REGION base functions
def start_INTERNAL(self):
#commented since empty objects can just display nothing
self.set_sprite("Empty.png")
self.start()
def update_INTERNAL(self):
self.update()
#we use translate instead of setting the objects position, to fix rotation issues
posX = (int)((self.x+Data.refWidth*0.5)*Data.scaleRatio)
posY = (int)((-self.y+Data.refHeight*0.5)*Data.scaleRatio)
translate(posX, posY)
rotate(radians(self.rot))
#if (self.currAnim != None):
# self.newSprite = self.currAnim.play()
self.inGameScreen = self.check_in_gamescreen()
if (self.inGameScreen):
image(self.sprite, 0, 0, self.get_real_width()*Data.scaleRatio, self.get_real_height()*Data.scaleRatio)
rotate(-radians(self.rot))
translate(-posX, -posY)
#Base functions to be overridden by any class inheriting from MonoBehaviour
def start(self):
pass
def update(self):
pass
def isMouseOver(self):
return (Data.mouse.x > self.get_min_x() and Data.mouse.x < self.get_max_x() and Data.mouse.y > self.get_min_y() and Data.mouse.y < self.get_max_y())
#ENDREGION
class Anim:
images = None
frames = 0
framesPerImage = 5
imageIndex = 0
timer = 0
#FRAMES OER IMAGE IS NOT THE FRAMERATE... Confusing, sorry
def __init__(self, url, frames, framesPerImage = 3):
self.images = []
self.framesPerImage = framesPerImage
self.frames = frames
for i in range(frames):
fullUrl = Data.url + url + str(i+1) + ".png"
img = requestImage(fullUrl)
self.images.append(img)
#should be called from a MonoBehaviour every frame while playing.
#looks like this: self.newSprite = currAnim.play()
def play(self):
self.timer += 1
if (self.timer >= self.framesPerImage):
self.timer = 0
self.imageIndex += 1
if (self.imageIndex >= self.frames):
self.imageIndex = 0
return self.images[self.imageIndex]
def instantiate(objtype, posX = 0, posY = 0):
n = objtype()
n.x = posX
n.y = posY
n.start_INTERNAL()
Data.objs.append(n)
return n
def destroy(obj):
#Check if objects wasn't already marked as destroyed.
if obj not in Data.toBeDestroyed:
Data.toBeDestroyed.append(obj)
def key_is_pressed(k):
if (k not in Data.inputkeys):
return False
return Data.inputkeys[k] == 1 or Data.inputkeys[k] == 2
def key_was_pressed(k):
if (k not in Data.inputkeys):
return False
return Data.inputkeys[k] == 1
def key_was_released(k):
if (k not in Data.inputkeys):
return False
return Data.inputkeys[k] == 3
def reload_game():
Data.reloadEndOfFrame = True
#SHOULD BE CALLED AT END OF DRAW
def reload_game_immediate():
Data.reloadEndOfFrame = False
Data.objs = []
Data.inputkeys = {}
Data.main = Main()
Data.main.start()
class Main(MonoBehaviour):
def start(self):
print("No Blockly Main class")
class Global:
pass
### END ENGINE CODE
################################################################
#BLOCKLY_REPLACE
################################################################
### START HELPER CODE
#z-sorting
#bubblesort with extra check for each element if it changed
def bubbleSort(alist):
pop = 0
for passnum in range(len(alist)-1,0,-1):
if (alist[passnum].z != alist[passnum].prevZ):
for i in range(passnum):
pop += 1
if alist[i].z > alist[i+1].z:
temp = alist[i]
alist[i] = alist[i+1]
alist[i+1] = temp
alist[passnum].prevZ = alist[passnum].z
#print("Sorted " + str(pop) + " elements")
### END HELPER CODE
### START PROCESSING CODE
def setup():
#SIZE_REPLACE
size(Data.gameWidth, Data.gameHeight)
Data.scaleRatio = float(Data.gameWidth) / Data.refWidth
Data.invScaleRatio = float(1)/Data.scaleRatio
imageMode(CENTER)
frameRate(30)
textSize(32*Data.scaleRatio)
reload_game_immediate()
#run first frame right away
draw()
def draw():
background(0)
Data.mouse = PVector((mouse.x* Data.invScaleRatio-Data.refWidth*0.5), -(mouse.y * Data.invScaleRatio-Data.refHeight*0.5))
#bubbleSort(Data.objs)
Data.main.update()
for obj in Data.objs:
obj.update_INTERNAL()
#printObjs()
#if was pressed, go to is pressed now
for key in Data.inputkeys:
if (Data.inputkeys[key] == 1):
Data.inputkeys[key] = 2
#if was released, go to off now
if (Data.inputkeys[key] == 3):
Data.inputkeys[key] = 0
for obj in Data.toBeDestroyed:
Data.objs.remove(obj)
Data.toBeDestroyed = []
if (Data.reloadEndOfFrame):
reload_game_immediate()
#DevTools.showFPS()
#DevTools.printObjs()
class DevTools:
lastFrame = 0
avg = 0
nFramesToUpdate = 5
nFrame = 0
def showFPS():
DevTools.nFrame += 1
if (DevTools.nFrame >= DevTools.nFramesToUpdate):
m = millis()
deltaTime = m-DevTools.lastFrame
DevTools.lastFrame = m
DevTools.nFrame = 0
DevTools.avg = DevTools.nFramesToUpdate*1000/deltaTime
ui_text("FPS: " + str(DevTools.avg), 650, 50)
def printObjs():
#objs = ""
i = 0
j = 0
for obj in Data.objs:
#objs += str(obj.z) + ", "
i+=1
if (obj.inGameScreen):
j+=1
ui_text("Objs: " + str(i) + ", in screen: " + str(j), 450, 100)
def processKeyOrMousePress(val):
if (val not in Data.inputkeys or Data.inputkeys[val] == 0):
Data.inputkeys[val] = 1
def processKeyOrMouseRelease(val):
Data.inputkeys[val] = 3
def ui_text(txt, posX, posY):
pX = (int)((posX+Data.refWidth*0.5)*Data.scaleRatio)
pY = (int)((-posY+Data.refHeight*0.5)*Data.scaleRatio)
text(txt, pX, pY )
#Processing funcs
def keyPressed():
processKeyOrMousePress(str(keyboard.key))
def keyReleased():
processKeyOrMouseRelease(str(keyboard.key))
def mousePressed():
if (mouse.button == 37):
processKeyOrMousePress("m_left")
if (mouse.button == 39):
processKeyOrMousePress("m_right")
def mouseReleased():
if (mouse.button == 37):
processKeyOrMouseRelease("m_left")
if (mouse.button == 39):
processKeyOrMouseRelease("m_right")
run()
### END PROCESSING CODE
{"main":"<xml xmlns=\"http://www.w3.org/1999/xhtml\"><block type=\"main_class_object\" id=\"M|TUBcRXfP-zXMfslc+k\" x=\"163\" y=\"113\"><statement name=\"start\"><block type=\"instantiate\" id=\"w^:/Y0M2[nb@kd@^j_Ft\"><field name=\"NAME\">background</field><next><block type=\"instantiate\" id=\"^*$CxKg@]SP.LO3*#-I$\"><field name=\"NAME\">space</field><next><block type=\"instantiate\" id=\"I=;cD8C)=DCH/!_~7#(H\"><field name=\"NAME\">destroyingcrate</field><next><block type=\"instantiate\" id=\"FigOZFTn5Mi5ma9I$~rr\"><field name=\"NAME\">deleter</field></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"b[bK//ZbYZ#fSrQ?ezx`\" x=\"-45\" y=\"255\"><field name=\"NAME\">space</field><statement name=\"start\"><block type=\"set_sprite\" id=\".K8hXa`Tv[1%X;=nGk-J\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"=uXjJ9q[ApZ.Y.Rx[FCi\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Dungeon/spider_run.png</field></block></value><next><block type=\"set_pos\" id=\".@M-G.~r;I{]=qvmnuBL\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"aFwR5Sr6`x[m:.g7yvod\"><field name=\"NUM\">-370</field></shadow></value><next><block type=\"set_rot\" id=\"OTDcVv[=S=}QRaA5FI9A\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"^BGvefm%pBfu#g]iDlEE\"><field name=\"NUM\">90</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"Cv7~{YcU#;?T)O%55S}N\"><value name=\"IF0\"><block type=\"key_input\" id=\"uoC+%hShgQ!$,YvGW1T9\"><field name=\"NAME\">w</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_right\" id=\"DOQD$1^0GSeI(AneBY.Z\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"[.dt%!1Gdbo,$_Q}Xk$X\"><field name=\"NUM\">-10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"J4?7VN!K[7WStE]PM|q+\"><value name=\"IF0\"><block type=\"key_input\" id=\"W#-7KvmRGW(6D6o(3Ydk\"><field name=\"NAME\">d</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_forward\" id=\"=%n2RW!M7?EZ;9hP3M?{\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"MTUkdwe%IWzOSf@e=Fap\"><field name=\"NUM\">10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"1s40vPuE*eCvH]p%vFnP\"><value name=\"IF0\"><block type=\"key_input\" id=\"!ahE$MgY{SW)`DC;(AcW\"><field name=\"NAME\">s</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_right\" id=\"3,$=%sg2a{b(bm|}e.6Z\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"z,{*ArWs2sQ}F8{gx%Av\"><field name=\"NUM\">10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"={/_LOAMc9avnsp_/QOP\"><value name=\"IF0\"><block type=\"key_input\" id=\"~3k+^Ths]2M%M[Qu#:!c\"><field name=\"NAME\">a</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_forward\" id=\"ke0oZk(5a.kbd`]1Cq,1\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"|6@:%H}X#rIkkpr23H03\"><field name=\"NUM\">-10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"4b9WA1^Qxdp9B]2%|Y75\"><value name=\"IF0\"><block type=\"key_input\" id=\"#2hFY/bA($f+oh7/7JjE\"><field name=\"NAME\">e</field><field name=\"PRESSED\">key_was_pressed</field></block></value><statement name=\"DO0\"><block type=\"instantiate_at_pos\" id=\"Ic6dL6{v9FwC+{ZbCxq:\"><field name=\"type\">laser1</field><value name=\"x\"><shadow type=\"math_number\" id=\"^C{a`+C*$$)]RHJpBk=C\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"ZG5jKBZZ4g$dQY6Z*(t*\"><field name=\"pos\">x</field></block></value><value name=\"y\"><shadow type=\"math_number\" id=\"n!0Dp++Yyl6@nXG?Z6`3\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"bIR?Uy`wtZ_Y@j_0P5/g\"><field name=\"pos\">y</field></block></value></block></statement><next><block type=\"controls_if\" id=\"DV{BXe`CFwvh5818:[XL\"><value name=\"IF0\"><block type=\"key_input\" id=\"}q+9U|hY6##x@oV/Apty\"><field name=\"NAME\">q</field><field name=\"PRESSED\">key_was_pressed</field></block></value><statement name=\"DO0\"><block type=\"instantiate_at_pos\" id=\"5S8t)HR{A2~Bt[x_Q%3+\"><field name=\"type\">crate1</field><value name=\"x\"><shadow type=\"math_number\" id=\"{i.Eo7P.B%Y`X=EXh^3`\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"m7q=C[Du~#`sP*!zejuF\"><field name=\"pos\">x</field></block></value><value name=\"y\"><shadow type=\"math_number\" id=\"X19N(64+I-6Ua!6D^m+w\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"ROjKGyi@{ayw(KoLN`H*\"><field name=\"pos\">y</field></block></value></block></statement><next><block type=\"controls_if\" id=\"*%$X[3%UF}G)9*rjShgu\"><value name=\"IF0\"><block type=\"collision_check\" id=\"IKw.10k4|q3$p%kyM63C\"><field name=\"NAME\">laser2</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"_/AVDk6ICG;GSw^e3Q}o\"><value name=\"NAME\"><block type=\"collision_check\" id=\"TJ^y_+|;I%3_w$WMAK!,\"><field name=\"NAME\">laser2</field></block></value><next><block type=\"destroy\" id=\"4lo!N|HlY^u3r-0uv}#b\"><value name=\"NAME\"><block type=\"self\" id=\"RA0tbBu|^vn`L#jaN4K,\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\":pOMILi73$dnW5!P1J!I\"><value name=\"IF0\"><block type=\"collision_check\" id=\"+qDdhP+mVn,*7`7FW:wT\"><field name=\"NAME\">laser3</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"MOvV@(Of|]+d!z8Cqn?f\"><value name=\"NAME\"><block type=\"collision_check\" id=\"Kf1c[O*epO9fZX,9$tCg\"><field name=\"NAME\">laser3</field></block></value><next><block type=\"destroy\" id=\"GOxVT::l(^G,d.T{e8g9\"><value name=\"NAME\"><block type=\"self\" id=\"FP;;k@a#)sn/t3]Rd[^j\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"!AZK+[?hkq94BYemo5Lc\"><value name=\"IF0\"><block type=\"collision_check\" id=\"rh^Hp,Y6)b]wG5P}3S#}\"><field name=\"NAME\">crate2</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"D(|{xU{#:vcgpJ3kjpu@\"><value name=\"NAME\"><block type=\"collision_check\" id=\"T_YKE.7^xq.4Wre8tN=*\"><field name=\"NAME\">crate2</field></block></value><next><block type=\"destroy\" id=\"7.b?nnzcY+OnOk-bgMJb\"><value name=\"NAME\"><block type=\"self\" id=\"j8M,=1OqicGT@ixB^4*v\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"^#g8V]rBQlLHQ`NmNteU\"><value name=\"IF0\"><block type=\"collision_check\" id=\"]5b@xXT~@p):h[X?_R)o\"><field name=\"NAME\">crate3</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"pykRR@P?aJTH#5/}R~aP\"><value name=\"NAME\"><block type=\"collision_check\" id=\"z:`r2JgeNq6[)druM$u2\"><field name=\"NAME\">crate3</field></block></value><next><block type=\"destroy\" id=\"RR8Xwf[GLv`4OLK0habM\"><value name=\"NAME\"><block type=\"self\" id=\"V9Nl9*:|TfMn9ukkpqgB\"></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"U+h(,/5NhlB6c?X[g[27\" x=\"345\" y=\"315\"><field name=\"NAME\">deleter</field><statement name=\"start\"><block type=\"set_sprite\" id=\"Qrb[-8b8{9=gAPp0Svhg\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"!j-G2k{V_qo!rw!qdVG5\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Dungeon/spider_run.png</field></block></value><next><block type=\"set_pos\" id=\"cL[#t4g7e}YIjnVn1J7k\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"i}=gKOy!%`oUxSB[ulrA\"><field name=\"NUM\">200</field></shadow></value><next><block type=\"set_rot\" id=\"*itOnc7|eH6X0-ONJh:3\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"f44Qi[(Yc:O@:i40TJpS\"><field name=\"NUM\">180</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\";Mz(YKf1_zG][qo-peQ_\"><value name=\"IF0\"><block type=\"key_input\" id=\"AOg!VAMRH`]^MZN=uIxU\"><field name=\"NAME\">f</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_right\" id=\"f%9)y#a#G.04~torpm[Y\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"*iUo`,U5,5B,W+|MMBL7\"><field name=\"NUM\">10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"pJP)JwOSc+feCCat@,Hp\"><value name=\"IF0\"><block type=\"key_input\" id=\"|V_iO({W*$}o[vFRS4uj\"><field name=\"NAME\">t</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_forward\" id=\"KA}3Nau#$p!_w-oDr+Kk\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"ETbTl*%lBg{(9nZZNs~C\"><field name=\"NUM\">-10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"-h5{:P?pq#|35Yr7et@K\"><value name=\"IF0\"><block type=\"key_input\" id=\"e|KOFM4nW]7E}PJ=Ivb,\"><field name=\"NAME\">h</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_right\" id=\"h[/uvF[(CH`2oCRqb~As\"><value name=\"NAME\"><shadow type=\"math_number\" id=\";aaTj+}c+ZDwD$r;b$bt\"><field name=\"NUM\">-10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"=iFAE~eW$E4uqgR|s-G3\"><value name=\"IF0\"><block type=\"key_input\" id=\"Rd;ZmU+|YGEZGU[`D0VK\"><field name=\"NAME\">g</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_forward\" id=\"5Xz!;K=FB$Eftm*QPxQ@\"><value name=\"NAME\"><shadow type=\"math_number\" id=\",pZ)!Yxw`T-x(Ye(P,y2\"><field name=\"NUM\">10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"dz]S8[k=iD=tG6`;6KC3\"><value name=\"IF0\"><block type=\"key_input\" id=\"Dk)r=)7(BQ#@n0[Xx,YQ\"><field name=\"NAME\">y</field><field name=\"PRESSED\">key_was_pressed</field></block></value><statement name=\"DO0\"><block type=\"instantiate_at_pos\" id=\"[YJj{~Bmb-A-Wx|3QVTs\"><field name=\"type\">laser2</field><value name=\"x\"><shadow type=\"math_number\" id=\"^C{a`+C*$$)]RHJpBk=C\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"GPnbOh[hJ$?4bCv1m%N8\"><field name=\"pos\">x</field></block></value><value name=\"y\"><shadow type=\"math_number\" id=\"n!0Dp++Yyl6@nXG?Z6`3\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"/!f4UT1-QDl:PQ0!??$?\"><field name=\"pos\">y</field></block></value></block></statement><next><block type=\"controls_if\" id=\"bB?5OSEWcwV@P@qJ,=u!\"><value name=\"IF0\"><block type=\"key_input\" id=\"[rg6-Z2+}0z@7E3n1o7-\"><field name=\"NAME\">r</field><field name=\"PRESSED\">key_was_pressed</field></block></value><statement name=\"DO0\"><block type=\"instantiate_at_pos\" id=\"K-|U;jeZUr`SNyxa7Z7x\"><field name=\"type\">crate2</field><value name=\"x\"><shadow type=\"math_number\" id=\"{i.Eo7P.B%Y`X=EXh^3`\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\".?QC+*yx[8kYx|elA#Q$\"><field name=\"pos\">x</field></block></value><value name=\"y\"><shadow type=\"math_number\" id=\"X19N(64+I-6Ua!6D^m+w\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"Rf//NeF}emXk+wxmLx$r\"><field name=\"pos\">y</field></block></value></block></statement><next><block type=\"controls_if\" id=\"!gnfl/TD/ejekB4R-GAj\"><value name=\"IF0\"><block type=\"collision_check\" id=\"zxIN)i0bfrLrZ0t;HzaW\"><field name=\"NAME\">laser3</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"{O52I=jkF^CM`1jZWh6C\"><value name=\"NAME\"><block type=\"collision_check\" id=\"PWY0*LhD[YfxZ1sF(rH}\"><field name=\"NAME\">laser3</field></block></value><next><block type=\"destroy\" id=\"Ca9y,wWxT-tPk%`~v;Hn\"><value name=\"NAME\"><block type=\"self\" id=\"V+:-RKf]u^Y^FP~ojFK2\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"g]pgxGg~8t.hK{/MK02|\"><value name=\"IF0\"><block type=\"collision_check\" id=\"n3{qEj{X@crTeO6n@wr1\"><field name=\"NAME\">laser1</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"`Sy?@g?iXHU9}h[sKLW9\"><value name=\"NAME\"><block type=\"collision_check\" id=\"}F!fl`j$Ncdjb/{7jd|t\"><field name=\"NAME\">laser1</field></block></value><next><block type=\"destroy\" id=\".@tbwh;w}A4$%/W)L7)j\"><value name=\"NAME\"><block type=\"self\" id=\"mx{VL6Na6*X3LMJ$rK4w\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"s0L.cPh-9ym9v4xQ:ns_\"><value name=\"IF0\"><block type=\"collision_check\" id=\"@[,#t/t|{f*6:g-=@3iA\"><field name=\"NAME\">crate1</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"|YKkkE)z{on!OqFSYiGt\"><value name=\"NAME\"><block type=\"collision_check\" id=\"VV4GeIO:[m%{v]?mwTqC\"><field name=\"NAME\">crate1</field></block></value><next><block type=\"destroy\" id=\"L`B;,(4Apv5G2F%|=Vte\"><value name=\"NAME\"><block type=\"self\" id=\"*vsC`(.zu1_qps*vNZt8\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"#gF`=KBWga()a[[Qj)0?\"><value name=\"IF0\"><block type=\"collision_check\" id=\"c_MSR!rb{h1uzzJOOA]Z\"><field name=\"NAME\">crate3</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"rmvvq/FeJbwt:E|nO]j/\"><value name=\"NAME\"><block type=\"collision_check\" id=\"|#n4sQiize{t.V7p+rjM\"><field name=\"NAME\">crate3</field></block></value><next><block type=\"destroy\" id=\"W~Twa~7+Lf`OTs$vy=aY\"><value name=\"NAME\"><block type=\"self\" id=\"V0!({wVn!%ZN@n6e}/6t\"></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"*,}K,,;(S!;72Z}F9?eN\" x=\"675\" y=\"345\"><field name=\"NAME\">destroyingcrate</field><statement name=\"start\"><block type=\"set_sprite\" id=\"h`]OBSmLY]M+wdv}AM1$\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"Rh_T+Frj19?Z.!lL,JPB\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Dungeon/spider_run.png</field></block></value><next><block type=\"set_pos\" id=\"(TMAKMg9bO7~7!))/fD1\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"@H530h](i)%Y5)61Y}hS\"><field name=\"NUM\">370</field></shadow></value><next><block type=\"set_rot\" id=\"%WU/Xa/BIxgv,@.}IXBq\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"2L%+l1}MEveBzg8Jclk4\"><field name=\"NUM\">270</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"rWy67PAR9E0_t0eG`=$a\"><value name=\"IF0\"><block type=\"key_input\" id=\")o7po6S!s_GF7uc4r2.+\"><field name=\"NAME\">k</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_right\" id=\"fBob*#U5u0`q(y(c8^99\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"W-6:(lf%z9(j^kC$SE)d\"><field name=\"NUM\">-10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"GNsR!#7!zV+yplq|ZqqF\"><value name=\"IF0\"><block type=\"key_input\" id=\"_WW`Pjf|?6+Bm0-PtE2(\"><field name=\"NAME\">j</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_forward\" id=\":k?dgarzr8Tsk#uNgsn[\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"3{X{F4R$Pq2-iw)+?siD\"><field name=\"NUM\">10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\",-8V-6*H1g/4}B{T7_Hj\"><value name=\"IF0\"><block type=\"key_input\" id=\"+z/F3zZW$)FU2N0=3$w1\"><field name=\"NAME\">i</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_right\" id=\"v{8p;a55(aQ4rZu]2VN6\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"f=4[@s^v9BL6g{xQef$l\"><field name=\"NUM\">10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"5-.xsd[6l/.w5/,Q(coy\"><value name=\"IF0\"><block type=\"key_input\" id=\"6i6`#tehX#b=2/rDPd-a\"><field name=\"NAME\">l</field><field name=\"PRESSED\">key_is_pressed</field></block></value><statement name=\"DO0\"><block type=\"move_forward\" id=\"LyUq|b:/7*2@Kw{fhH9#\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"p3KFkJV143yBKoHssoyM\"><field name=\"NUM\">-10</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"}!mn`%g?fLCKhe^nL3sZ\"><value name=\"IF0\"><block type=\"key_input\" id=\"ee|VJ2U6Drqkr]9n/pJ+\"><field name=\"NAME\">o</field><field name=\"PRESSED\">key_was_pressed</field></block></value><statement name=\"DO0\"><block type=\"instantiate_at_pos\" id=\"@^AT5o~)O9gum[Uah^@G\"><field name=\"type\">laser3</field><value name=\"x\"><shadow type=\"math_number\" id=\"^C{a`+C*$$)]RHJpBk=C\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"FP}yB:?psNnINFs.[7p*\"><field name=\"pos\">x</field></block></value><value name=\"y\"><shadow type=\"math_number\" id=\"n!0Dp++Yyl6@nXG?Z6`3\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"LmyM.q^.be`7?@CiSR+u\"><field name=\"pos\">y</field></block></value></block></statement><next><block type=\"controls_if\" id=\"6ARA.~mkj$R@{}#xQ,x@\"><value name=\"IF0\"><block type=\"key_input\" id=\"i[BsoTT}Mc1I?*wa!;|6\"><field name=\"NAME\">u</field><field name=\"PRESSED\">key_was_pressed</field></block></value><statement name=\"DO0\"><block type=\"instantiate_at_pos\" id=\"3YvrY+c+!DAV,o-gQtdS\"><field name=\"type\">crate3</field><value name=\"x\"><shadow type=\"math_number\" id=\"{i.Eo7P.B%Y`X=EXh^3`\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\"PaM~7IVg0==`=iL+?6fu\"><field name=\"pos\">x</field></block></value><value name=\"y\"><shadow type=\"math_number\" id=\"X19N(64+I-6Ua!6D^m+w\"><field name=\"NUM\">0</field></shadow><block type=\"get_pos\" id=\")dc{WF72TAmidiyPxZFH\"><field name=\"pos\">y</field></block></value></block></statement><next><block type=\"controls_if\" id=\"B$jh[uVsvZU^mU#0;s83\"><value name=\"IF0\"><block type=\"collision_check\" id=\"IY=ULta,lYyvw9dwq]Qc\"><field name=\"NAME\">laser2</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\".f:x)e=}T9m$,]K/Fi?.\"><value name=\"NAME\"><block type=\"collision_check\" id=\"/O/|ZJ*rKYU](9O%%x~v\"><field name=\"NAME\">laser2</field></block></value><next><block type=\"destroy\" id=\"V#Pz:2#[nPh6-otef;oS\"><value name=\"NAME\"><block type=\"self\" id=\"jalIP,_N^EX,][b]FKKO\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"JE4SV}~a2B5w$w1MY7Cl\"><value name=\"IF0\"><block type=\"collision_check\" id=\"wye$eCf.fa~8IGqGECnr\"><field name=\"NAME\">laser1</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"[).%(t{`sLcoL2l}$a`@\"><value name=\"NAME\"><block type=\"collision_check\" id=\"3}mM_%d=^NAbbE/@1wNL\"><field name=\"NAME\">laser1</field></block></value><next><block type=\"destroy\" id=\"@nj9pAY.,f+*1,,QLxPY\"><value name=\"NAME\"><block type=\"self\" id=\".X7g1?~z#,}E)vh[KqH.\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"X/puyPku;m1Ski$eN=vb\"><value name=\"IF0\"><block type=\"collision_check\" id=\"vL/r!_Ejy^ZY[=R7/sav\"><field name=\"NAME\">crate1</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"LF77J.XrbksFR~*U3tn9\"><value name=\"NAME\"><block type=\"collision_check\" id=\"i|1pB^T:=!6r0]HOrWeg\"><field name=\"NAME\">crate1</field></block></value><next><block type=\"destroy\" id=\"3k;#w%o}hn[}r-5A%[.*\"><value name=\"NAME\"><block type=\"self\" id=\"f}*U)W|XJ/_N4:]w-oEg\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"ED:OoYI)3tOk:2Q5j-Kz\"><value name=\"IF0\"><block type=\"collision_check\" id=\"^G:p@!|7Y;%OIKPlYbJ!\"><field name=\"NAME\">crate2</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"*]P/;cDLLl@Ngr#m%ruB\"><value name=\"NAME\"><block type=\"collision_check\" id=\"KYmBx}P%Om/N91taNq@q\"><field name=\"NAME\">crate2</field></block></value><next><block type=\"destroy\" id=\"b7q8S=51LCTab:oa[g{^\"><value name=\"NAME\"><block type=\"self\" id=\"5;CN*xJ4pUyjLu]5,vYx\"></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"w00-H$q8A{JX3!k1)Q2I\" x=\"555\" y=\"1035\"><field name=\"NAME\">background</field><statement name=\"start\"><block type=\"set_sprite\" id=\"vz`W%/Sm[R}1#D(u?E4e\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"Va#AICgyNd[m6OEY13=2\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Nebula.jpg</field></block></value></block></statement></block><block type=\"class_object\" id=\"D6j*L9u1.r!VB[Z@$4z1\" x=\"735\" y=\"1185\"><field name=\"NAME\">laser3</field><statement name=\"start\"><block type=\"set_sprite\" id=\"R:UI|/V+rU-PFt@l]@-K\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"}SxKU@aad}L!ynPN94|]\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Bullet.png</field></block></value><next><block type=\"set_rot\" id=\"As+L1;Y3V2J^vcS1rx_p\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"o!EOi}DK%k[11e-vhpAO\"><field name=\"NUM\">270</field></shadow></value></block></next></block></statement><statement name=\"update\"><block type=\"move_forward\" id=\"x*X$7)9Vb!w#wrj`A1)k\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"N1d_%IJM|5.(=g[I@mYo\"><field name=\"NUM\">30</field></shadow></value><next><block type=\"controls_if\" id=\"n,9Dnz1)IeaVm*S}BRA]\"><value name=\"IF0\"><block type=\"collision_check\" id=\"/jDcdh)h*3]^.#adEo%$\"><field name=\"NAME\">deleter</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"A*qW[WMtHutyN8w+uS#G\"><value name=\"NAME\"><block type=\"collision_check\" id=\"FjkBS/GO;lsccn#VOst@\"><field name=\"NAME\">deleter</field></block></value><next><block type=\"destroy\" id=\"{}c(pS/Dnob5o/|GlRb+\"><value name=\"NAME\"><block type=\"self\" id=\"qt[hv0[A`{_hQ57xx9mm\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"XFr+%.m^av68d/GWvM-Y\"><value name=\"IF0\"><block type=\"collision_check\" id=\"qOq1uQju_Edr/9oKAZ5u\"><field name=\"NAME\">space</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"vmCpwW5iL9v|HcMmu;Tc\"><value name=\"NAME\"><block type=\"collision_check\" id=\"n.|uK/d8|W.=H]cCcvxJ\"><field name=\"NAME\">space</field></block></value><next><block type=\"destroy\" id=\"Q#]_7ODDsH8ubd}a(oDf\"><value name=\"NAME\"><block type=\"self\" id=\"p{f-f^vZ1,);(d*kcMMF\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"BISKhRuicNoGv)~J55[Y\"><value name=\"IF0\"><block type=\"collision_check\" id=\"$!A@5TB8@3?Z;grIIT}f\"><field name=\"NAME\">crate1</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"_Dvy8T/K8.eSX4MnaEY*\"><value name=\"NAME\"><block type=\"collision_check\" id=\".KX{zb#I]=jf]Nu`oFLg\"><field name=\"NAME\">crate1</field></block></value><next><block type=\"destroy\" id=\"Z[-0piw]Du!|9c.~,]]e\"><value name=\"NAME\"><block type=\"self\" id=\"+0~LDXLFq}{cKnMoP/[)\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"UF;T)*g2p!`j?d=hknm_\"><value name=\"IF0\"><block type=\"collision_check\" id=\"G8]Vz6G(=dvMMsPzd{Co\"><field name=\"NAME\">crate2</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"wKHlqGm0?G(nm8u/8YIm\"><value name=\"NAME\"><block type=\"collision_check\" id=\"-%n]g{VJ=Fz5NF.llPG{\"><field name=\"NAME\">crate2</field></block></value><next><block type=\"destroy\" id=\"49JkZA%9@M_%FuD8JN[-\"><value name=\"NAME\"><block type=\"self\" id=\"*B^AyL3TqvEM#rDAu*#2\"></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"vT^W/1yI,k[nW^QFI)XI\" x=\"419\" y=\"1249\"><field name=\"NAME\">laser2</field><statement name=\"start\"><block type=\"set_sprite\" id=\"g:@@h.p~l`wM:T/TKqh#\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"u]oAqS,I=MdjI7B5,Gjx\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Bullet.png</field></block></value><next><block type=\"set_rot\" id=\"F%#3{y}[7h^SIjS:jKXP\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"M2Eal]Lci8rg$l7^S-Ov\"><field name=\"NUM\">180</field></shadow></value></block></next></block></statement><statement name=\"update\"><block type=\"move_forward\" id=\"Q0o:3=yLk;u@B0IMn%eQ\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"OI0dViEsv92ctO1Lg9ca\"><field name=\"NUM\">30</field></shadow></value><next><block type=\"controls_if\" id=\"eTNHvu,9Hwf1m%^:LGDs\"><value name=\"IF0\"><block type=\"collision_check\" id=\"[VJf;4d`XVjTFS-$EP2@\"><field name=\"NAME\">destroyingcrate</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"c[#8vcLnLZEPu:}G.zRt\"><value name=\"NAME\"><block type=\"collision_check\" id=\"pW_Ou6jhWDA9~?YO(Vc0\"><field name=\"NAME\">destroyingcrate</field></block></value><next><block type=\"destroy\" id=\"b?)0W,JJ!^TzljuuS`MJ\"><value name=\"NAME\"><block type=\"self\" id=\"8A8.(cP3G@([s{S$=.:;\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"A51I/RK9l4![}p6ltUUy\"><value name=\"IF0\"><block type=\"collision_check\" id=\"Rw|:X$!%LzC1Kk+P4)6E\"><field name=\"NAME\">space</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"-{:F==c91dVP3pWnfj_5\"><value name=\"NAME\"><block type=\"collision_check\" id=\"81IFMXv|r0vqr3ql}ln#\"><field name=\"NAME\">space</field></block></value><next><block type=\"destroy\" id=\"rGRK@pE|q%MJ$Q]y_(1r\"><value name=\"NAME\"><block type=\"self\" id=\"bV3[;}5)u`$F-o7}W2e(\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"oweQhy7yDsP]-h7XL./6\"><value name=\"IF0\"><block type=\"collision_check\" id=\"JcnL]r13r:CK;W*?l`b}\"><field name=\"NAME\">crate3</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"q6[wQ.-N!L5]j99[M1Si\"><value name=\"NAME\"><block type=\"collision_check\" id=\"[l`Zh%ya$0/obn2eI2kL\"><field name=\"NAME\">crate3</field></block></value><next><block type=\"destroy\" id=\"bP/S/5iC`12,_nU?=]6P\"><value name=\"NAME\"><block type=\"self\" id=\"zUIJ,bU$Dr+CgGzxacG^\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"Hyu~?RL_y|6[TK]H`}DT\"><value name=\"IF0\"><block type=\"collision_check\" id=\"AC:}3)w~grATY_aS6HxP\"><field name=\"NAME\">crate1</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"d[C8.^GeB+t4Z2bO8gd{\"><value name=\"NAME\"><block type=\"collision_check\" id=\"Z]Tm)}@p*W)(%C^2*L_D\"><field name=\"NAME\">crate1</field></block></value><next><block type=\"destroy\" id=\"pT|;vAf*!rH;ess,?.F_\"><value name=\"NAME\"><block type=\"self\" id=\"^z:5CmFH{w`Ku8rl_mp,\"></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"QT6`;Bwo[8|t*;F(5?At\" x=\"-75\" y=\"1275\"><field name=\"NAME\">laser1</field><statement name=\"start\"><block type=\"set_sprite\" id=\"T}Q*wA}LkSJ-6r?1{gUw\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"ocdCT]|%|_3ScUVW?EQS\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Bullet.png</field></block></value><next><block type=\"set_rot\" id=\"0l74b-tI{djik%yp8LPh\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"Gr{@V2*$dn}}K}7[wH.g\"><field name=\"NUM\">90</field></shadow></value></block></next></block></statement><statement name=\"update\"><block type=\"move_forward\" id=\"jOYZH{sgPMXTX.!h4%3o\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"}IIPrJjN|?nc]yxon}Ay\"><field name=\"NUM\">30</field></shadow></value><next><block type=\"controls_if\" id=\"I?+3_[DGWzeY#yy.`O]1\"><value name=\"IF0\"><block type=\"collision_check\" id=\"@Gvf;JL=Y,qqs@AbOwp@\"><field name=\"NAME\">destroyingcrate</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"@jOl2h9hr,`f|UBzfw]k\"><value name=\"NAME\"><block type=\"collision_check\" id=\"[j2E8%=`vn_bvNnNi26a\"><field name=\"NAME\">destroyingcrate</field></block></value><next><block type=\"destroy\" id=\"m2bH44Y[dJ%8SnOg][7m\"><value name=\"NAME\"><block type=\"self\" id=\"IJiJ{NuakH,L4W.SZ]70\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"Ok9-7H6YiHOVu)h.p+5i\"><value name=\"IF0\"><block type=\"collision_check\" id=\"08F@riDWPbG}|k1,k0Nz\"><field name=\"NAME\">deleter</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"+Q?prQ:@S7djj?+nWvEJ\"><value name=\"NAME\"><block type=\"collision_check\" id=\"$]5zQKcVnm{-XFj2{W1,\"><field name=\"NAME\">deleter</field></block></value><next><block type=\"destroy\" id=\"0:tl%JuC4xj#iSBTVUzo\"><value name=\"NAME\"><block type=\"self\" id=\"kuh]gPmqv/pG)_SGJ]4M\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"iC.D9~A!s#?i;R{O(U5^\"><value name=\"IF0\"><block type=\"collision_check\" id=\"aj09TylwYv,Z8}j#,XMZ\"><field name=\"NAME\">crate2</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\".WOJOzs{.Id,t4@)NAG$\"><value name=\"NAME\"><block type=\"collision_check\" id=\"}Jufm3/g1.p6-L3[}@]U\"><field name=\"NAME\">crate2</field></block></value><next><block type=\"destroy\" id=\"Q#)fh_-n]Iz#@rz,5N[q\"><value name=\"NAME\"><block type=\"self\" id=\"TwD%$qg?8t_^~VPP|wv1\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"9uN]YbnkGMh62;33`5X}\"><value name=\"IF0\"><block type=\"collision_check\" id=\"!I2(b5r!R5Sov6|1KcIv\"><field name=\"NAME\">crate3</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"Z?2Atyal`Ry.~8*~|rVI\"><value name=\"NAME\"><block type=\"collision_check\" id=\"dPd/XcC({;5NcLO8b}I1\"><field name=\"NAME\">crate3</field></block></value><next><block type=\"destroy\" id=\"`1~rr8Hp1!wBtt5!Q^Ij\"><value name=\"NAME\"><block type=\"self\" id=\"`8nzFsYW}WLsWsGH8Hy3\"></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"N-gjs(KIYdCZ}:cR`hr=\" x=\"135\" y=\"1755\"><field name=\"NAME\">crate1</field><statement name=\"start\"><block type=\"set_sprite\" id=\"dG:F;~kmm+AGWU!yY4qa\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"{vRcb$Rw;/zKSUP]ARyH\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Dungeon/spiderweb.png</field></block></value></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"w9Qi*r`^U,#*%2utyUH6\"><value name=\"IF0\"><block type=\"collision_check\" id=\";~T{]Bk#01_`0EanTq1a\"><field name=\"NAME\">deleter</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"mSJwcaNK;8aY;b[?s8V/\"><value name=\"NAME\"><block type=\"collision_check\" id=\"P;ng))LXFpcDK/]67_6j\"><field name=\"NAME\">deleter</field></block></value><next><block type=\"destroy\" id=\"b?iwTcv=OiA_ak%8CHW.\"><value name=\"NAME\"><block type=\"self\" id=\"QjfdoZ%)Xb/Fyr2)G}gN\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"MSf73mWEgTaVju({[XNo\"><value name=\"IF0\"><block type=\"collision_check\" id=\"YysYA3yR|jgS_6]+1hVp\"><field name=\"NAME\">destroyingcrate</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"vehroMUFf;c@-:(fS9/+\"><value name=\"NAME\"><block type=\"collision_check\" id=\"*Gsl!TB8?DW1Y(1)0C8P\"><field name=\"NAME\">destroyingcrate</field></block></value><next><block type=\"destroy\" id=\"$Z_E$[Qb=~vHX+1O.B?:\"><value name=\"NAME\"><block type=\"self\" id=\"ZH.2OWcl)j?*}dGO?:^}\"></block></value></block></next></block></statement></block></next></block></statement></block><block type=\"class_object\" id=\"pym6XPZ29;oPD+EP=(JG\" x=\"825\" y=\"1815\"><field name=\"NAME\">crate3</field><statement name=\"start\"><block type=\"set_sprite\" id=\"Ah/S(5*a(VeQ3}v5:sEJ\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"5PX0KQYIF5weWpPcyn*q\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Dungeon/spiderweb.png</field></block></value></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"{(lZ=vth4[iV,_)CyXGr\"><value name=\"IF0\"><block type=\"collision_check\" id=\"wBsy#i07@${]M~5]ZeGY\"><field name=\"NAME\">deleter</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"o4M8ReyRR/F^r#nAg5+_\"><value name=\"NAME\"><block type=\"collision_check\" id=\"7La/]MeyDCWpcAn}i8^U\"><field name=\"NAME\">deleter</field></block></value><next><block type=\"destroy\" id=\"iAw]v8olZr7]Ju$[48K*\"><value name=\"NAME\"><block type=\"self\" id=\"dS-{~eR{,OEG;FB+65gG\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"h0Dz4b=OlBnp*Onpq)qC\"><value name=\"IF0\"><block type=\"collision_check\" id=\"pti2^uokeI#yZ/4v@#{=\"><field name=\"NAME\">space</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"EvJJT.Wt$v,i)(k,dDh5\"><value name=\"NAME\"><block type=\"collision_check\" id=\"?C`0~XpK!?.c(|*]G(]:\"><field name=\"NAME\">space</field></block></value><next><block type=\"destroy\" id=\"1mF2OrjBXInl]oOx)zXg\"><value name=\"NAME\"><block type=\"self\" id=\"D8gYwNRM9eqFm{-W+P-I\"></block></value></block></next></block></statement></block></next></block></statement></block><block type=\"class_object\" id=\"G~t/D?pytiOM*MQ*(Gr4\" x=\"495\" y=\"1845\"><field name=\"NAME\">crate2</field><statement name=\"start\"><block type=\"set_sprite\" id=\"WQ0`)2t~2/lT8X/*XiKy\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"J}B2eGB5$LQQl(d7yZVz\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Dungeon/spiderweb.png</field></block></value></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"d$|7ORS3mWsW/g9dUD6o\"><value name=\"IF0\"><block type=\"collision_check\" id=\"u{jDS]Vx=f~--5`sT+VW\"><field name=\"NAME\">destroyingcrate</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"]W1UWgy~/E`YSO$a}7C@\"><value name=\"NAME\"><block type=\"collision_check\" id=\"XatvMx][`MAR?gaN#7!^\"><field name=\"NAME\">destroyingcrate</field></block></value><next><block type=\"destroy\" id=\"oIt+/7RzHj5P1~qV[qK2\"><value name=\"NAME\"><block type=\"self\" id=\"hVy9;/L2xkkk+T;k/;kU\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"=j5uCSCdkVK^9@/RTB*#\"><value name=\"IF0\"><block type=\"collision_check\" id=\"HB^6[f2B:UU|gbSYTuww\"><field name=\"NAME\">space</field></block></value><statement name=\"DO0\"><block type=\"destroy\" id=\"dx(eV8l}ev,.Kkf|0Y_]\"><value name=\"NAME\"><block type=\"collision_check\" id=\"6#D#m]Par!CwzR%$R=`I\"><field name=\"NAME\">space</field></block></value><next><block type=\"destroy\" id=\"^V(FGt6kr=KODTOTQH1}\"><value name=\"NAME\"><block type=\"self\" id=\"xPw2YMS7Fv.u+=pmum7A\"></block></value></block></next></block></statement></block></next></block></statement></block></xml>"}