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=\"H)BSB14!@-A9DLE@yOKe\"><field name=\"NAME\">background</field><next><block type=\"instantiate\" id=\"d.floF~Kacbw8^XMxpyu\"><field name=\"NAME\">wall</field><next><block type=\"instantiate\" id=\"vvuMS)~{(s)1M;9:g88a\"><field name=\"NAME\">wall2</field><next><block type=\"instantiate\" id=\"!|pK=;hf/%|G+a-,D|,H\"><field name=\"NAME\">wall3</field><next><block type=\"instantiate\" id=\"mrt+lVg:r`3jZUSZZJ)R\"><field name=\"NAME\">obstacle</field><next><block type=\"instantiate\" id=\"eQB9Z~X}w)lEy:exv5p7\"><field name=\"NAME\">obstacle2</field><next><block type=\"instantiate\" id=\"|TscW[|8bL^.^DHl~B}r\"><field name=\"NAME\">obstacle3</field><next><block type=\"instantiate\" id=\"pN!DnU+{9z^a,hCu1dLX\"><field name=\"NAME\">player</field><next><block type=\"instantiate\" id=\"%4j2.c%ISLXXhxyhfjF+\"><field name=\"NAME\">finish</field></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"9vm)9=QcfSNS:$nxz*o(\"><value name=\"IF0\"><block type=\"key_input\" id=\"]j+XD5WvJ{DD/JJ89j5R\"><field name=\"NAME\">r</field><field name=\"PRESSED\">key_was_released</field></block></value><statement name=\"DO0\"><block type=\"reload_game\" id=\"otmrcrG;HKlb3sncNzqc\"></block></statement></block></statement></block><block type=\"class_object\" id=\"YOyD+IBlBjoLVq}A4%p,\" x=\"585\" y=\"105\"><field name=\"NAME\">background</field><statement name=\"start\"><block type=\"set_sprite\" id=\"AT2Q~~QhL5([NHQ.X3Ow\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"=;)d--ld%)ax}H1uI+A,\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Nebula.jpg</field></block></value><next><block type=\"set_pos\" id=\"{$U6}t`%4:]_oUaQjl8r\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"O]mrq9AFwtV]G%sQ[t+?\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"set_pos\" id=\"+r^$^H)=Wz|.mSLgR1*.\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"xUHEY)AfB`2)mhtgw5Je\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"=|#BlJZ+dhBs73by%DN_\" x=\"945\" y=\"105\"><field name=\"NAME\">wall</field><statement name=\"start\"><block type=\"set_sprite\" id=\"OVuIk{ukjGKEHrL.(IGA\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"g$fXM{Sdsa+Rf#Q_uv,=\"><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_pos\" id=\"}E}.T#!,BG[4(Ov?3f%m\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"KbFIoN?.3Ie~gk@dxtDt\"><field name=\"NUM\">200</field></shadow></value><next><block type=\"set_pos\" id=\"IogZ(GPj.l(C5X?LE[Lc\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"`0J5M;D47rKQN`0nYBch\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"BE{cc4x1B64iOltRr]zU\" x=\"1245\" y=\"105\"><field name=\"NAME\">wall2</field><statement name=\"start\"><block type=\"set_sprite\" id=\"I3_xjb{aFoIBjtw)gXF=\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"m/}bg.Fl-])`TA$m{dG|\"><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_pos\" id=\"fW;b5WVx5$-vv^d7t[5*\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"2=pfVrM.o%5*x2HC!*H3\"><field name=\"NUM\">-200</field></shadow></value><next><block type=\"set_pos\" id=\"xr0Y!#6EcbJDLqYo5(tC\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"@}WHid9{Ro6oHL=OTdb=\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"hsIke@(,TsD9z8jiMI-C\" x=\"1545\" y=\"105\"><field name=\"NAME\">wall3</field><statement name=\"start\"><block type=\"set_sprite\" id=\"BR683zqIC}S.fnDjqB1h\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"Msd+{B9+64^q:vGV*TtN\"><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_pos\" id=\"0-wd2hd!0^wc*{U]iQ%4\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"Yker))ZcDkUNjU4DC|BM\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"set_pos\" id=\"w~5v[OhSAWU|+sfj({xr\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"EHw2(oHz5g-A=/MXQ$~=\"><field name=\"NUM\">100</field></shadow></value></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"(2WHzub0C2~y-D7j1lN?\" x=\"1905\" y=\"105\"><field name=\"NAME\">obstacle</field><statement name=\"start\"><block type=\"set_sprite\" id=\"o^I849gF$pRN^R=Se,T^\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"{g!sMc#*].]E5ua:cumP\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Enemy.png</field></block></value><next><block type=\"set_pos\" id=\"q8M~(X|Y-fe;vm/jd.=K\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"wcJnMvJv-#X7FMut]]*;\"><field name=\"NUM\">300</field></shadow></value><next><block type=\"set_pos\" id=\"bN.nN{TQ(?sS{xuQFcY2\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"ebHhfh5e-5t$O;Tf~L[{\"><field name=\"NUM\">200</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"rze:O%FYR_a{tMv6apUG\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"?zwYs{eV8(3SKk6XlK)=\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"5XXe*1UAbR8/Gpduudck\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"K#J6Z9D$TPL2Cv*JJC;o\"><field name=\"NUM\">1</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"#|frLv8M,N.^x|dRW/J)\"><field name=\"NUM\">50</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"!=]uF%4g=yBcFv$`ntPV\"><field name=\"NUM\">25</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"|TSxZrhmN-gK)+h)#mzz\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"D@qhgr`XD.9sa95G~ND)\"><field name=\"NUM\">300</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"~^LndCSnu71VLCQ9!)7}\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"DPC=G@8ni:g@G7pI|lu_\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"7uhmFkBr/4tnflX_=uK~\"><value name=\"FROM\"><shadow type=\"math_number\" id=\")Y?`kAwS;l$n.i_V@N:s\"><field name=\"NUM\">50</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"8`VFuFdM[,;k#xFSEd};\"><field name=\"NUM\">100</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"l]cH=Y@R[55eyo}!Aor#\"><field name=\"NUM\">75</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"?lyRacVb}Qzi*hz7G4_8\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"cOEiinMyh%Q=TNzn^59y\"><field name=\"NUM\">-300</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"7VDW30rMn1^5,8gIr#kD\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"X:vjgAqwqXFjw3oEB+gi\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"yP[EuQ{wKe~YS.v@}gf;\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"~.L_ItM;$rm^dd!YiNg$\"><field name=\"NUM\">100</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"8^F|5b?b}2AX0/z2j:EG\"><field name=\"NUM\">150</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"3SWh}4@1;qpN^ik@_$:o\"><field name=\"NUM\">125</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"6@`_x,p1/klf5jI/8+QI\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"}xr[3NH$DL6s/)|9RTqD\"><field name=\"NUM\">200</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"0ctyI1dGZ!QyN~z1$Zxf\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"M[]Bq`DTU^/0csxC`R67\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"D8A=k/.`0(%I{m(Tp@!-\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"HLI+7n)#z#OGQ$#7^!zh\"><field name=\"NUM\">150</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"+K}@fIA1Ve=+eUq),j0n\"><field name=\"NUM\">200</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"pWkc:Y)E!UB0chTjvAA6\"><field name=\"NUM\">175</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"Oh?W(Ej~(+r(A*cZVc7d\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"hdL|enI8~00MZcW{H:c*\"><field name=\"NUM\">100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"Kb0g+uAgJzG5:lgXlrX]\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"V6G$t/IM{Pgn~g?am}~U\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"tdT6xN:Q[EqXRd15j8kv\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"0u{1q{mKj7oMm]lqg2Y!\"><field name=\"NUM\">200</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"ik6:JmT+}?+87q0A7ipQ\"><field name=\"NUM\">250</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"C!4QM#KMxhVP*l$:V}9b\"><field name=\"NUM\">225</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"WlCRC*4eirYH;d-KKhIc\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"Pv22e)X4[l%TE@dFTJL9\"><field name=\"NUM\">500</field></shadow></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"3=5O/pGQjp9xm0h%zZB/\" x=\"2565\" y=\"105\"><field name=\"NAME\">obstacle2</field><statement name=\"start\"><block type=\"set_sprite\" id=\"(M3TGW-gFuW?LIeP^sli\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"9^]@lwB{,8XJQz;Vc.6F\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Enemy.png</field></block></value><next><block type=\"set_pos\" id=\"B0T~`5z)w|j)rm{9@cUQ\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"=r~K{Tc=4xu?FGSU2eso\"><field name=\"NUM\">400</field></shadow></value><next><block type=\"set_pos\" id=\"]?ykt7ttkSB;n#Eyx0En\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"]SG[F9]4N,m3fzIbM[zL\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"($PU(R4i(QeBQkk:n%|f\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"FcL~wIi3ZrsRY22C{;aA\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"Oj)y5yqI$Vg?Uxb(j||8\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"5(4$s@xXK1j^#n,xc)Kx\"><field name=\"NUM\">1</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"8aL`XjT7]t;Q*/:3:]Tl\"><field name=\"NUM\">50</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"`)~v)pE]10+.brtSwofH\"><field name=\"NUM\">25</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"$rTK)xT-X?TW)=b-9eZT\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\".Q{e!/ZK-$1.jPYI728(\"><field name=\"NUM\">0</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"jwSBx(`0M;xPD`Hk1_r[\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"1HqcyR1$huvUqmvTkKON\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"og{#a3..{7//7R=w{1XH\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"PvE9bN4c36FXr*4d5F,-\"><field name=\"NUM\">50</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"D$/M(8eU@(}uCUlxB0b}\"><field name=\"NUM\">100</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"0C@{GUuTJ+)%+4T:by,W\"><field name=\"NUM\">75</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"JB(h0I`U_w6OkZ|i%Um,\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"cpn~+|:aRME(MFo1p]|.\"><field name=\"NUM\">100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"!I8|c*TT?bIbm=G~1anX\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"scuOiD4hwg{Ar{/|E9(3\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"maIy,~A-aTdt-{q^v]|X\"><value name=\"FROM\"><shadow type=\"math_number\" id=\",ldf5-]v;:tj/JF+SFU:\"><field name=\"NUM\">100</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"0/TrH~3D,?G%^3D{5VM?\"><field name=\"NUM\">150</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"JK8Sc.Sf0/r3CL6H]Wv(\"><field name=\"NUM\">125</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"p#([kU4zjc:?#V71Lq(t\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"w^*snQ(EbWOz1_ULNP!b\"><field name=\"NUM\">-100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"3/i25$za;.YC:o_@)`Ri\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"XAD`;wW9k=$.q%U;^[32\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"I.h6myTZ6L1ExmHxD_,M\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"4r`@M3TuJtWE6D1+FJcn\"><field name=\"NUM\">150</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"A.Z3y|LV^)^?73_-~i5m\"><field name=\"NUM\">200</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"rce^g`h})bAE4xUf}2Q2\"><field name=\"NUM\">175</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"zzvtQ*f(T[#($:@+QqvW\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"60#Mv{[y28U^WlTB;~+2\"><field name=\"NUM\">500</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"k,o-ep6^KFSRk|#`Sfr+\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"2{~pCe+fLLzFR7}dy,4/\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"srr`*,8%{Jf,cpPV=-XZ\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"$8_e[?r-!Eb`@2uJ3`Ay\"><field name=\"NUM\">200</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"Oai-Vaqhj0H6Dw(9k]4t\"><field name=\"NUM\">250</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"0^$-w:?U7`O4:qO$},P_\"><field name=\"NUM\">225</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"6FjO=7G9vwhEXNITZDQB\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"W*V%E:aU;k2*5zImqJrt\"><field name=\"NUM\">-500</field></shadow></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"g|0k!qY`c]WRN4CXo3]3\" x=\"3255\" y=\"105\"><field name=\"NAME\">obstacle3</field><statement name=\"start\"><block type=\"set_sprite\" id=\"I)C@+aQb;m(E!zu([@Rf\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"5cZf2kCYF^OA,W?4(}td\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Enemy.png</field></block></value><next><block type=\"set_pos\" id=\"vPIWe5Twz@0c.AcG!=#P\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"G4/4w,r~RS|M]M}`x]K:\"><field name=\"NUM\">-400</field></shadow></value><next><block type=\"set_pos\" id=\".9?:(,5ww06.fSE;w5gC\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"YFgt!wXcO(@mkiS7z7r3\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"a;i]!uFKH-B9Don-I{mD\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"bGw3Tq1h3HdrID;;QoxA\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"f6IAELWXhL2_sx*%4wm9\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"*s*98*~4Rnu1*raBB/H;\"><field name=\"NUM\">1</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\".2xhPO1mSuQuBq5pL]y]\"><field name=\"NUM\">50</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"1?[N{t3fKr==uVjbE^D2\"><field name=\"NUM\">25</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"w81;E%LI:,TfwG{Zn$4t\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"DlC:A?J-/p}iD#^GB2b)\"><field name=\"NUM\">0</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"?ba0V#7!ld#dgg|~ghro\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"P?J+#sW1u~Aa(#Bu~D-;\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"vOCG.k/._|p)#b}8CMfN\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"w72B:?n%GM^L@1h{7Shl\"><field name=\"NUM\">50</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"c(qWZggiIXZqmEHr27aW\"><field name=\"NUM\">100</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"O]`1(kXBW}$sRqqvu=EY\"><field name=\"NUM\">75</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"CZy*{c:O3CAYINIqNJCm\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"2Q/;-]DY|[QyUZt-hl*f\"><field name=\"NUM\">100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"861@c_Xhw5m+b/0pSahF\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"g%ZmlK|9s#1:VKR|;A*Q\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"*dckMKAHdoL#$pf/uE]^\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"lsip$IdRm}{LedAGM@@3\"><field name=\"NUM\">100</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"y%PgK|a((m15!6k9?a={\"><field name=\"NUM\">150</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"emb8U{w_Sk3Z4q/*SqDq\"><field name=\"NUM\">125</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"C%!qf28ZY)[p,rX+1?.{\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"5ncNBT{6@Ni_6+/FECtH\"><field name=\"NUM\">-100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"9AZqE6j[ph27M^fSrqbg\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"][B!k6ZNnOYEM}M9%2V]\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"OC#5/JE2*^]^x?BGb]tO\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"KKf_WfxfN-uQ*g4A%iF6\"><field name=\"NUM\">150</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"h2%]kY[6tu`w6N`(6p)o\"><field name=\"NUM\">200</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"yC).KOS.o@!VyuFmU`(*\"><field name=\"NUM\">175</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"vc)RZCRD0e44GpP2v6wK\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"Lj=6L_3rM(gDGMH`/e[X\"><field name=\"NUM\">500</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"9Uh2abA_KS4Cw!hyz%em\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"H+W%;eqAvZ#[@1d:D)8H\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"JV^(WxuG7IC~5([~Ka(1\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"Ro^kLZ,$f?`)i2O$nB[h\"><field name=\"NUM\">200</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"q|Rc(onG`%4V+e76b|#N\"><field name=\"NUM\">250</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"{#3Cz7IFp5d[:S}X`$ZG\"><field name=\"NUM\">225</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"ii/x7s7N:wPQoeZhp$@m\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"R;Mj,30Bp0K*ITv-g7jY\"><field name=\"NUM\">-500</field></shadow></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"`#gi,YU9dq#DRP2`A;+)\" x=\"4035\" y=\"75\"><field name=\"NAME\">finish</field><statement name=\"start\"><block type=\"set_sprite\" id=\"q2;@wV`m8Y~=D23%n8SL\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"%|IqhBOKK/[P4YmsV|0:\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Flappy/BirdHero.png</field></block></value><next><block type=\"set_pos\" id=\"~ju1-5#;-`}ZK5ut^Huu\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"Br:2;[b9QFSM9;bPD]wo\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"set_pos\" id=\"J7flu@4l9F!UmvwfT)+=\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"sHQhoy;dU`;M5LGf!F8X\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"set_rot\" id=\"Wl:GqW!ea9/Q%1{wygW{\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"yxxL+d.cN704M|5CH-zm\"><field name=\"NUM\">180</field></shadow></value></block></next></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"83NF#oZ9=kN6Eu/N[;Hi\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"r1CrH5WF]$l$B%~Y,1@y\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"n=JZXJ(|F2hlG+(c%`0,\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"`.z03lii3%9Q,P]O?H2m\"><field name=\"NUM\">1</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"UqKuJ=C!T:5n1Op_t.?J\"><field name=\"NUM\">50</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"o?;u}w[3?lJ6V}{16_l)\"><field name=\"NUM\">25</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"K3;pLyQF0Cy/DA;?EIbe\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"oxE,8PlFUxIPN~I@dv.{\"><field name=\"NUM\">0</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"c404n/u=[kI,X#=_{9to\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"Jz_mKZBbfpek5/NV`5;d\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\".mFm+*0Y=_9s1;.#%zL^\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"W)%)O|OOLteE#^AYb9R8\"><field name=\"NUM\">50</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"lKEIYP6Syas.n8.|f^sU\"><field name=\"NUM\">100</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"B9:w;y01u(]*J}l+TkhD\"><field name=\"NUM\">75</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"[XsA%5+y.EX)/xm4Y:R-\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"E-+AZTLpSPJGOA3{0+[0\"><field name=\"NUM\">-100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"cmagXfdT[j2s@r?TYAUP\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"o.;F#]X83m#[$$`!eeJ0\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"q`C~S3U;uQs?P9a5oHTN\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"(4u;^E|}/1?XpW*`e+!8\"><field name=\"NUM\">100</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"d?Rdik*8qH+^cLIpvIzl\"><field name=\"NUM\">150</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"O:B)BVJmcGvhp-/:uS@H\"><field name=\"NUM\">125</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"C(#}L~Ok$}{YS(ZaJKbG\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"+c0N/Himuh99v(YUb,`c\"><field name=\"NUM\">100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"p7V~h%_GoN-Fqn#2t[fH\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"=Z]+UD1ldtv_D3r`#{Dg\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"log!q%`615*^B~@B{Y/z\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"];mDN33U,$s:!D@(yQ#p\"><field name=\"NUM\">150</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"vxw=*,Rjtq1)-L@34!Hm\"><field name=\"NUM\">200</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"af4bmi|y}z$g_:[m9IEf\"><field name=\"NUM\">175</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"sEH8oK*bejJ[Q-]jvA,@\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"j_jVlIQfW3k6e*Kezp$g\"><field name=\"NUM\">0</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"+;Z;kn5DfQLi;ux]TRR!\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"Vr0=o)p-qtY1[{4ZIL.L\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"lIawr3e8].]!ylT~{HH0\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"%sv17)APVZ{^L|q,)L/`\"><field name=\"NUM\">200</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"4I^4Cl@@!-la7z$ao4NH\"><field name=\"NUM\">250</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"#2b4P@ZV%pnZVmj0itV]\"><field name=\"NUM\">225</field></block></value></block></value><statement name=\"DO0\"><block type=\"set_pos\" id=\"V#rAM(~7NH(N,_Yd8;G2\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"4y68H$92`a:SP-hX3r)k\"><field name=\"NUM\">-100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"ja$ik}7{KH:9OCX@pm$2\"><value name=\"IF0\"><block type=\"collision_check\" id=\"U+X.bbr([u|5{JuHd-rm\"><field name=\"NAME\">player</field></block></value><statement name=\"DO0\"><block type=\"set_rot\" id=\"A;$w*`(u219$fkY{o.dh\"><value name=\"NAME\"><shadow type=\"math_number\" id=\".8J6?f;PY^^dP~`VUAhH\"><field name=\"NUM\">0</field></shadow></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"class_object\" id=\"+L49NeT^{oO~.keN,9MV\" x=\"4665\" y=\"75\"><field name=\"NAME\">win</field><statement name=\"start\"><block type=\"set_sprite\" id=\"kbo{^5cnwj^:3NTb9qyt\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"+/ZvLvF!`|NzQ$O{G]bY\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Player.png</field></block></value><next><block type=\"set_pos\" id=\"1=J!g*aA5it|M[_-gMnT\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"Z.!g~DkIPl0=?s;bu;vQ\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"set_pos\" id=\"nu_gYc),ZyvqbG(L3adR\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"RlFOKJj+6,CL3!eaLI8k\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"ui_text\" id=\"`TwZ=o|N3f1s+}g[kpM9\"><value name=\"TEXT\"><shadow type=\"text\" id=\"b+zO!Q%40Iy1J@+~pvK?\"><field name=\"TEXT\">You Win!</field></shadow></value><value name=\"x\"><shadow type=\"math_number\" id=\"RAoH}yd;z]ucqmGS3IY$\"><field name=\"NUM\">-50</field></shadow></value><value name=\"y\"><shadow type=\"math_number\" id=\"G~cJ@!Ud.ye4$4I+0e#:\"><field name=\"NUM\">200</field></shadow></value></block></statement></block><block type=\"class_object\" id=\"e*NooQ*tH1azq/~I4Ibc\" x=\"5145\" y=\"75\"><field name=\"NAME\">lose</field><statement name=\"start\"><block type=\"set_sprite\" id=\"k|?{,=EqCP1kx:3zyy%B\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"ds`kw.Gp%^Ey+oe[*(qC\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Enemy.png</field></block></value><next><block type=\"set_pos\" id=\"qbg]GXg)_iVszAax+,Jl\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"nH9*a~YSl0e:ZFfj7jo1\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"set_pos\" id=\"5}{bIy~-^*O(L#0?C:(W\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"?q?vA)_~kzb*,2q+hZf$\"><field name=\"NUM\">0</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"ui_text\" id=\"ohL;IwuTXf?y8+E9[krk\"><value name=\"TEXT\"><shadow type=\"text\" id=\"DE46C(rPb(5+#9u5zTj9\"><field name=\"TEXT\">You Lose!</field></shadow></value><value name=\"x\"><shadow type=\"math_number\" id=\"bov|xdg@K(?ME|]$(pbX\"><field name=\"NUM\">-50</field></shadow></value><value name=\"y\"><shadow type=\"math_number\" id=\"wBfi~BL)/YJFRm~_Um64\"><field name=\"NUM\">200</field></shadow></value></block></statement></block><block type=\"class_object\" id=\"z[=*5K[TR1on#Y4P.({1\" x=\"165\" y=\"555\"><field name=\"NAME\">player</field><statement name=\"start\"><block type=\"set_sprite\" id=\"_-U@O6eU^HY~(EH%CWoB\"><value name=\"SPRITE\"><block type=\"sprite\" id=\"dz1?9gOe6xRR#[#Ia[j,\"><field name=\"SPRITE\">https://s3-us-west-1.amazonaws.com/media.pixelpad.io/Blockly_Assets/Space/Player.png</field></block></value><next><block type=\"set_pos\" id=\"UUHqdOEBBHjR)|~U=dEg\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"A)%H|BC(sdO(L+v]^wDA\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"set_pos\" id=\"5x}|%,)/!C$^ECjWZdGy\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"WMtoa=UKbTeOCcqKd~#T\"><field name=\"NUM\">200</field></shadow></value></block></next></block></next></block></statement><statement name=\"update\"><block type=\"controls_if\" id=\"c/LxfG{a:t)U8X[R7Eg=\"><value name=\"IF0\"><block type=\"collision_check\" id=\"9[hVsm624}8{I%Htc]0s\"><field name=\"NAME\">finish</field></block></value><statement name=\"DO0\"><block type=\"instantiate\" id=\"GH+bo)A*9emW6e^Dscy]\"><field name=\"NAME\">win</field><next><block type=\"destroy\" id=\"hTu:*=Tkcs,2~S6t{s$v\"><value name=\"NAME\"><block type=\"self\" id=\"+gt.FKXU39VUlfr/MF1.\"></block></value></block></next></block></statement><next><block type=\"controls_if\" id=\"#tM*w5VHKfT;|;!Krlol\"><value name=\"IF0\"><block type=\"key_input\" id=\"hm+nkUS5[tl0Y9PzJO+I\"><field name=\"NAME\">w</field><field name=\"PRESSED\">key_was_released</field></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"z{5^[%uSmJTq_*~70K+_\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"tgQMz|#xN0iUMhxbCM6R\"><field name=\"NUM\">100</field></shadow></value><next><block type=\"set_rot\" id=\"E*Z)o:[L^NKeLYtJewf6\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"8{S6X$MVC:QL5R#O5Ez%\"><field name=\"NUM\">0</field></shadow></value></block></next></block></statement><next><block type=\"controls_if\" id=\"9O[?iZ22*4OOCG:6;Gfm\"><value name=\"IF0\"><block type=\"key_input\" id=\"QlS,0IHMBm]w7XTgI;{N\"><field name=\"NAME\">a</field><field name=\"PRESSED\">key_was_released</field></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"]Db|]kjH9]#|l0d+a]V[\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"K`OJ50OLXkfW[0;Gys0c\"><field name=\"NUM\">-100</field></shadow></value><next><block type=\"set_rot\" id=\"22}U?(__NSy^/=dBbPpl\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"1`jHQOVQVzn7czX}PpTM\"><field name=\"NUM\">270</field></shadow></value></block></next></block></statement><next><block type=\"controls_if\" id=\"|5=~EW/e{IwpEq;JtqKZ\"><value name=\"IF0\"><block type=\"key_input\" id=\"$D@a$1d[j(60|;!$_/0?\"><field name=\"NAME\">s</field><field name=\"PRESSED\">key_was_released</field></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"PG$bAqW_a/EEOGvn;$Q.\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"UI5#P;)L|i9`Bh8X9y:G\"><field name=\"NUM\">-100</field></shadow></value><next><block type=\"set_rot\" id=\"c%!Uv87U(lB2N/Bic%{H\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"Q2fR8WG0E,KB=YX_V}Qb\"><field name=\"NUM\">180</field></shadow></value></block></next></block></statement><next><block type=\"controls_if\" id=\"6[nA^#*{kle3p@Q|*#$_\"><value name=\"IF0\"><block type=\"key_input\" id=\"*wu/[z`[2F?T#3c$mWIh\"><field name=\"NAME\">d</field><field name=\"PRESSED\">key_was_released</field></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"^,cqKcC,/I;pi4mp7Rcj\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"+MX%vz}V^z;9({8;qm$.\"><field name=\"NUM\">100</field></shadow></value><next><block type=\"set_rot\" id=\"etSmmry0pF_E.fGQ/V*#\"><value name=\"NAME\"><shadow type=\"math_number\" id=\"O!h0GVuQCfIQ5~(9xACy\"><field name=\"NUM\">90</field></shadow></value></block></next></block></statement><next><block type=\"controls_if\" id=\"#S}qUvLDkNv.2[bLI@$y\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"bgz,V:)TC2I~f$l)e4i`\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"EgE$m=y1:()EeJ9NAHZ6\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"+EpR:ZOsi`uasg4UDV8e\"><field name=\"NUM\">1</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"5Ga3skuqocTVD%obky@!\"><field name=\"NUM\">5</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"*^.1)u]Q%}q@wk$PBEwz\"><field name=\"NUM\">5</field></block></value></block></value><statement name=\"DO0\"><block type=\"controls_if\" id=\"AtJrK89VMjrj9KCYJe{?\"><value name=\"IF0\"><block type=\"logic_operation\" id=\"g5o]d:F(qH=-c3rEx6^t\"><field name=\"OP\">AND</field><value name=\"A\"><block type=\"logic_compare\" id=\"GtLNaPYfgW(2iv=ntc`K\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"97,E$PHr}^D$Rc8z58$k\"><field name=\"pos\">x</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"@CC%p-.ZXgfP$vgst=5,\"><field name=\"NUM\">-100</field></block></value></block></value><value name=\"B\"><block type=\"logic_compare\" id=\"F.Zg|5qwWW~n5v2bg;ld\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"rTTN7GK-s6V!c,TDBBai\"><field name=\"pos\">y</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"fj9rEl[KBY.[ofLF(Sp.\"><field name=\"NUM\">100</field></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"instantiate\" id=\".Wds;%5=!(nQKLG}a7*O\"><field name=\"NAME\">lose</field><next><block type=\"destroy\" id=\"$]?O/8}:iJeQ2;oDs.Lp\"><value name=\"NAME\"><block type=\"self\" id=\"-,hAHV6JLjsQpaR[Fnz6\"></block></value></block></next></block></statement></block></statement><next><block type=\"controls_if\" id=\"9Z`zOsujh[ZNuqZS8rGq\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"_W)5hb+Ba+5emhZUaCkx\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"math_random_int\" id=\"Zr[pp-?fMcP{jA4i/sj_\"><value name=\"FROM\"><shadow type=\"math_number\" id=\"nR|we6CalPlN$F-#7_9p\"><field name=\"NUM\">5</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\" id=\"41V[.|IIKTLvU$x5ij{G\"><field name=\"NUM\">10</field></shadow></value></block></value><value name=\"B\"><block type=\"math_number\" id=\"oCFxT{oR*x-tms8$o38a\"><field name=\"NUM\">7</field></block></value></block></value><statement name=\"DO0\"><block type=\"controls_if\" id=\"pUQg8[%iY2Klh;!qX$5!\"><value name=\"IF0\"><block type=\"logic_operation\" id=\"_Xlx6)74hn-%{xw{X,yu\"><field name=\"OP\">AND</field><value name=\"A\"><block type=\"logic_compare\" id=\"5VlbF4Dgt8m*JX3c2e)o\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"I?Qzdc~|!].tj);!oN#V\"><field name=\"pos\">x</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"%OyHenYjUcw}DXS#tJM=\"><field name=\"NUM\">100</field></block></value></block></value><value name=\"B\"><block type=\"logic_compare\" id=\"n}1{(3,Q1h-PQEYCSWwM\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"V3T4fA.}Z@MJi4cJA45i\"><field name=\"pos\">y</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"e6|Zz=UYJG:zAd_rU2Pv\"><field name=\"NUM\">100</field></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"instantiate\" id=\"b$rQ;%]K%#-DSIT1LUqH\"><field name=\"NAME\">lose</field><next><block type=\"destroy\" id=\"}I4L4S]/]8Pu`**#5cv.\"><value name=\"NAME\"><block type=\"self\" id=\"[s3%-cj*[?8K0vy|zi26\"></block></value></block></next></block></statement></block></statement><next><block type=\"controls_if\" id=\"_U!44VEX}NcYtRTdk8;a\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"d,*)P]/Z%~=^tQ5X|tX^\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"]?s*;VoAb6[SxHVY[?p}\"><field name=\"pos\">x</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"k].CJi4CkFa6uZENLM-A\"><field name=\"NUM\">400</field></block></value></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"M@0n~pD:g%Wv:%Z.:{K%\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"|#o{H*@#JG4_5aCsCE_B\"><field name=\"NUM\">-100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"nNR9X3!AP@!0HVGrg./2\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"T5p1Bwtj`Gpo28^ct-Z3\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"Xzj2Q8oFQnbFpq8c#uqO\"><field name=\"pos\">x</field></block></value><value name=\"B\"><block type=\"math_number\" id=\";ONbz10dh$.5%EDRv+g3\"><field name=\"NUM\">-400</field></block></value></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"MG[*u3`N?C)K8[La@E{h\"><field name=\"position\">x</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"j14qW,jar8sNk(n3#sD[\"><field name=\"NUM\">100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"$-vzMQSQOGb{j}lrFAkY\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"u?5)1?M]S7-U8!wENTEh\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"g+mFNE)pYU.t1aVcurA!\"><field name=\"pos\">y</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"BG!$fgr0isx*]F):e`7+\"><field name=\"NUM\">300</field></block></value></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"@M7E2kzh@v!s]2G-C4{6\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"Ripeh5H[N7|G#skbGrXG\"><field name=\"NUM\">-100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"ExHj75o#|q/*M:#Q0:}N\"><value name=\"IF0\"><block type=\"logic_compare\" id=\"BoMJIaIwdpT?T)[n*OQy\"><field name=\"OP\">EQ</field><value name=\"A\"><block type=\"get_pos\" id=\"B~[Mh)9;NZ2g]D!1M85e\"><field name=\"pos\">y</field></block></value><value name=\"B\"><block type=\"math_number\" id=\"G;U}yiQJp5;6]eZ{gszO\"><field name=\"NUM\">-300</field></block></value></block></value><statement name=\"DO0\"><block type=\"change_pos\" id=\"g+c6[Q8H}(s$r_+z7aqD\"><field name=\"position\">y</field><value name=\"NAME\"><shadow type=\"math_number\" id=\"xYU#Ili`WCZ=v@FF/uaJ\"><field name=\"NUM\">100</field></shadow></value></block></statement><next><block type=\"controls_if\" id=\"o]Ws$%8pMs^5t$}~XRrb\"><value name=\"IF0\"><block type=\"logic_operation\" id=\"UMaQ0m^YL6RCI67q$+#B\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"logic_operation\" id=\"t!Ay!a_(|E*eLaq6:`6b\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"collision_check\" id=\"zFP,,3ute|w}N(9d:?p!\"><field name=\"NAME\">wall</field></block></value><value name=\"B\"><block type=\"logic_operation\" id=\"`66sJ|_5FI_`zW7!f}L@\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"collision_check\" id=\"#k4q}itD;%xJpTJTASph\"><field name=\"NAME\">wall2</field></block></value><value name=\"B\"><block type=\"collision_check\" id=\"Rgw(A:+%OmL24{*cK,nu\"><field name=\"NAME\">wall3</field></block></value></block></value></block></value><value name=\"B\"><block type=\"logic_operation\" id=\"-I7[Hmq$[I}fBuCl9M8l\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"collision_check\" id=\"E=Nnc#q.sk#nXa#D04Ig\"><field name=\"NAME\">obstacle</field></block></value><value name=\"B\"><block type=\"logic_operation\" id=\"}GtSJ:uuBQE`Wj1:(sC.\"><field name=\"OP\">OR</field><value name=\"A\"><block type=\"collision_check\" id=\"[9t8^i|=X)Wm.`X?IKM5\"><field name=\"NAME\">obstacle2</field></block></value><value name=\"B\"><block type=\"collision_check\" id=\"9|R9q(x;0q7HRCW.ixA|\"><field name=\"NAME\">obstacle3</field></block></value></block></value></block></value></block></value><statement name=\"DO0\"><block type=\"instantiate\" id=\"jUXWHOA|OcX+_4}[]R]e\"><field name=\"NAME\">lose</field><next><block type=\"destroy\" id=\"nY/m%@V;dT:zH?UEm8(e\"><value name=\"NAME\"><block type=\"self\" id=\"~d@UWqLDh_FO;eFkIA]e\"></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></next></block></next></block></statement></block></xml>"}