blobs quest puzzle platformer [APT entry]                     #games # all #spazestudios
@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [next level v]\nnext backdrop\n\n@assets\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\n@level\n\nwhen flag clicked\nswitch costume to (dot v)\nswitch costume to (dot v)\nset size to (101) %\nswitch costume to (level 1 v)\nhide\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (-1)\n\nwhen I receive [next level v]\nnext costume\n\n@blocker\n\nwhen flag clicked\nswitch costume to (lvl 1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\n\nwhen flag clicked\ngo to [back v] layer\nbroadcast (start v)\n\ndefine open (speed)\nset [my timer v] to [0]\nrepeat ((speed) * (20))\n    change [my timer v] by (speed)\n    change y by (speed)\nend\nhide\n\nwhen I receive [open v]\nopen [3]\n\nwhen I receive [next level v]\nstop [other scripts in sprite v]\nshow\nbroadcast (start v)\ngo to x: (0) y: (0)\nshow\nnext costume\n\nwhen I receive [start v]\nstop [other scripts in sprite v]\n\n@button\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nforever\n    go [backward v] (1) layers\nend\n\nwhen I receive [start v]\nshow\n\nwhen flag clicked\nforever\n    point in direction (90)\n    switch costume to (not v)\n    show\n    if <touching (player v)?> then\n        switch costume to (pushed v)\n    end\n    if <(Level) = [2]> then\n        go to x: (51) y: (-33)\n    end\n    if <(Level) = [3]> then\n        go to x: (-51) y: (-86)\n    end\n    if <(Level) = [4]> then\n        go to x: (129) y: (-91)\n    end\n    if <(Level) = [5]> then\n        go to x: (-76) y: (66)\n        point in direction (-90)\n    end\n    if <(Level) = [1]> then\n        go to x: (-118) y: (45)\n    end\n    if <(Level) = [6]> then\n        go to x: (-76) y: (66)\n        point in direction (-90)\n    end\n    if <(Level) = [7]> then\n        go to x: (160) y: (-18)\n    end\n    if <(Level) = [8]> then\n        go to x: (-108) y: (-76)\n    end\n    if <(Level) = [9]> then\n        hide\n        go to x: (1000) y: (3333)\n    end\n    if <(Level) = [10]> then\n        go to x: (-114) y: (-75)\n        show\n    end\n    if <(Level) = [11]> then\n        broadcast (game done v)\n    end\nend\n\nhide\n\nwhen I receive [start v]\nforever\n    switch costume to (not v)\n    if <touching (player v)?> then\n        switch costume to (pushed v)\n        broadcast (open v)\n        stop [this script v]\n    end\nend\n\n@player\n\nwhen flag clicked\nswitch costume to (center v)\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [next level v]\nreset\nReset player variables\n\ndefine Spin off screen\nset [player death v] to [1]\nset [player death v] to [0]\n\ndefine reset\nset [player death v] to [0]\nclear graphic effects\nset size to (100) %\nshow\ngo to x: (-200) y: (0)\npoint in direction (90)\nbroadcast (start v)\nReset player variables\n\nwhen flag clicked\nforever\n    if <(x position) = [245]> then\n        broadcast (NEXT LEVEL v)\n        start sound [Coin v]\n        change [level v] by (1)\n    end\n    if <key (s v) pressed?> then\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n        wait (1) seconds\n    end\nend\n\ndefine Reset player variables\nset [water health v] to [10]\nset [player death v] to [0]\nset [x v v] to [0]\nset [y v v] to [0]\n\nwhen flag clicked\nswitch costume to (center v)\nforever\n    go to [back v] layer\n    go [forward v] (2) layers\nend\n\nwhen flag clicked\nreset\nset [level v] to [1]\nforever\n    set [x v] to (x position)\n    set [y v] to (y position)\n    switch costume to (center v)\n    set rotation style [left-right v]\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > ((x position) + (5))>>>> then\n        point in direction (90)\n        change [x v v] by (.9)\n    end\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < ((x position) + (-5))>>>> then\n        point in direction (-90)\n        change [x v v] by (-.9)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\n    if <<touching (level v)?> or <<touching (blocker v)?> or <(box) = [1]>>> then\n        change y by (1)\n        if <<touching (level v)?> or <<touching (blocker v)?> or <(box) = [1]>>> then\n            change y by (1)\n            if <<touching (level v)?> or <<touching (blocker v)?> or <(box) = [1]>>> then\n                change y by (1)\n                if <<touching (level v)?> or <<touching (blocker v)?> or <(box) = [1]>>> then\n                    change y by (1)\n                    if <<touching (level v)?> or <<touching (blocker v)?> or <(box) = [1]>>> then\n                        change y by (1)\n                        if <<touching (level v)?> or <<touching (blocker v)?> or <<touching (box v)?> and <(box) = [1]>>>> then\n                            change x by ((X v) * (-1))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [15]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-1)\n    change y by (Y v)\n    if <<touching (level v)?> or <<touching (box v)?> or <touching (blocker v)?>>> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <<touching (level v)?> or <<touching (box v)?> or <touching (blocker v)?>>> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            set [y v v] to [12]\n        end\n    end\n    change y by (1)\n    if <<touching (boss v)?> or <touching (spikes v)?>> then\n        if <touching (boss v)?> then\n            broadcast (game over v)\n            stop [this script v]\n        end\n        Spin off screen\n        reset\n    end\n    if <(y position) < [-176]> then\n        Spin off screen\n        reset\n    end\n    if <touching (water v)?> then\n        set [y v v] to [-.4]\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            change [y v v] by (7)\n        end\n    end\nend\n\nwhen I receive [next level v]\nbroadcast (start v)\n\nwhen [r v] key pressed\nbroadcast (start v)\nreset\n\nwhen flag clicked\nforever\n    if <touching (water v)?> then\n        change [water health v] by (1)\n        wait (1) seconds\n    else\n        set [water health v] to [10]\n    end\n    if <(water health) = [22]> then\n        reset\n    end\nend\n\nchange y by (1)\n\nwhen I receive [grapel v]\nglide (1) secs to x: (grapelx) y: (grapel y)\n\nwhen I receive [game over v]\nforever\n    point in direction (90)\n    go to x: (0) y: (0)\n    switch costume to (you lose v)\n    go to [front v] layer\nend\n\nwhen I receive [reset v]\nbroadcast (start v)\nreset\n\nwhen I receive [game done v]\ngo to x: (0) y: (0)\nswitch costume to (game complete v)\ngo to [front v] layer\npoint in direction (90)\nforever\n    go to x: (0) y: (0)\n    switch costume to (game complete v)\n    go to [front v] layer\n    point in direction (90)\nend\n\nwhen I receive [game done v]\nstop all sounds\nstop all sounds\n\nwhen I receive [game done v]\nforever\n    switch costume to (game complete v)\n    go to [front v] layer\n    point in direction (90)\nend\n\nwhen I receive [game over v]\nswitch costume to (you lose v)\nstop all sounds\nplay sound [Lose v] until done\ngo to x: (0) y: (0)\n\ndefine __ <boolean> <boolean>\n\n__ <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < ((x position) + (-5))>>>> <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > ((x position) + (5))>>>>\n\n@spikes\n\nwhen flag clicked\nswitch costume to (dot v)\nswitch costume to (dot v)\nset size to (101) %\nswitch costume to (level 1 v)\nhide\nforever\n    go to [back v] layer\nend\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (-1)\n\nwhen I receive [next level v]\nnext costume\n\n@water\n\nwhen flag clicked\ngo to x: (36) y: (28)\ngo to [back v] layer\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start v]\nshow\n\n@TB\n\nwhen flag clicked\nhide\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.1)\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nplay sound [Vexento - Pixel Party v] until done\n\nwhen flag clicked\nhide\nforever\n    play sound [Vexento - Pixel Party v] until done\nend\n\n@box\n\nwhen flag clicked\nswitch costume to (123100244255258145116730106748566674856644605010100173202321323941504100311803113182161813142412623122163124031631331190317113181531791731761221202412352470314214314313312402120216233220182191524802602373118032411431180312402961331700291024803118031513156315532313161342010012431106748566003200312810327228002790278024102700271028002790278027702760275027402410225022602270228023702360235023402410151210316301310192800015280002112370101324101001501012241001910315101315010171502800241131012280024115101524102370101324101001501401000211103152012101624101002700271028002410100241028002410102102370101324114100001018013103151012150101324101002410101328002411328002410102102370101800101901310314524115100001500010182700271028002410280024101021701310210013103144141524112101800100012271028002790241010213017102110161031392410267026802690270027101501016012101500280010024101021701310212016103132237010152410101524112101601210142410280010317223700010210241001210150121012280027902780277010120010316623702360235023401016012101301310172800279027801014241120121031622370236023501017019101400100280027902780101501710315923702360102100191002370236024102800279010160181031582370236010211014100015237000100280010160141000131031582370236010220012237010024102800101501310316323702360102200132370241028002790101401310316423701021901410023701002800101401310316523701021801410023702360101501310316623701021701310122370236010150131031602370101623701021701210122360235010122410101201310316123701016237010216012101224101016013103162237010152371210214015101601410316323701015237121021301410132411210120141031642370101523712101801710162410103170237010142370236023701017017101700103170237010142370100237010180141018014103130327012102362250226022702280237023601002370102200161031243270161023601423701012237010223014103124327015101332700102320010132370102250132411210312432701421201014327012102300010132370102250132410001031223270161014327001023200101323701021101224101021001710312232701410153270121023100101323701019014241010190141012012103123327001016327014102300010000100237010210013241000101701510130121031233270010163270010232013100237010210013241010170131016013103121327001015327012102330131002370102110212101801310312532701210233013101223701021102131017013103158014101323701022001510170141031550141014237010223013101701510314801710000102290141017015103145017101200101524113102210152410018103146013101200102350211100001031460121024201210315501210211241010230012103154001021224101023001310263241010288012102122410102310141026124101002280237023602350102820131021224101023201410259014237001210280012102152410102343244001210257015237000102982410102350131025601310122370102992410102360131026023701029824112102370131025923701029824101023932440012102582370102982410102400141031552410102410141031542410102423244001310319801310250241010314701310249241010314801310248241010314901510245241010314801610319301810314324112258010000101800102300010140181031331801025901810313218010214318101024800101313010013121001301018001301027300101200102391801026725701002480247000257010191700010253012102260010160010226180102672560100324502120100256010211001025401310120010150131021701210227180102672411610212001021500102971812310002100102890010140010310019031000190310001912210010319218031001219123100019031150103191180191231000191231000190210010318921001913310012190210121031912100191331000191210319421001912310001902100103195210141051077533013211459992272133786797270807901367370848532692783109230311201022451289513101013513096227102581310123194132590243122891810010017021512316403131143131173142191003272123218192412641321331631210010031761231102651001001034023139155127881010145130001010135131741010135123591010155135151010310048241101031034663810100512632101031034822510103101510030101031014784010101012425996748368012320031281042397141210319814121031981412103494237023602350234010319323702280237023601031962370100237010319623702360100237010233271028002790241010216241122710280027902780277027602750102262790278027702760275010310323701012237010215241122370241010215280024101021314162410280010313923701012237010215237023602350102162800100241121021126602670268026902700271028002790103138237023601012237010214237023601021828002410140100241010315523702360102182370102192800100241121031552370236010218237023601021928002410140103155237023601021823702360102202710280027902410103153237023601021923701031772370236010215327014100237010291012102832370236010214327016100237010217227022802370102710121028123702360235010213327017101223701021922602270228023701026801210278237023602350234010214327014101221201022622602270228010266012102782360102173270141016327001029101210298327001016327014102890121029732701210173270121029000327001031013270010143270121029001210299327017102923270121031003270151029332700104346113214103185132491031361321110121301001313100131210013151001301012131910013010013121001301001323010311323812101613171001312100130101513010131301001314101813121012131210013010013121015130100131510013121014130100132121031101313238121319100131210229131210131301021013010131312101813010013161001301001312103111131224102381224101318100130101513161521513141016131810220130100131210212121510266130102342410238122410100131210121301015131915032380001014001000131000010032370152261303144131301513131210218015101900102382610102522410238122410101515122410322503224001332260322503224024101513323801014212010122190102130131019002411632400101432430101232370150241025918241015131016001000010193181123179031811210271180102161502410238122410150131315032380100312103226032240101432241232250322601021021901021021201022025701021025701015001000025701015012100001021231820318103183031810318201025300102171801021515122410238122410151432380001003120032240101532260100256010211219010231256010210256010182560102223182031830318101027021001903100019121021524101012241010172410101824101019260010021901022532450241010215241010182410102223181031830318201027021001903100019021001021532780101232780101632390259010032450242032440324502420324401002590324001016260010025101002190102443245024203244032450242032440102253182010272210031000190102163278010123278010173239025918324001017242010142420103147311503100021001021624114101832390259163240010173241026003244010123245026003242010172420101424201031803241026001003246026003242010173241010152600324201031803241026012324201019324101013260032420103182324103242010211324102601232420103197324103242010511320330126346103227213378679727080790136737084853269278310923031120102241034023249310251275810101751263702501751206802661751227902801751249502961751212903114125124091010310744774101014512351101005124081010310044363101013512351101031035127561010310044775101015512373101012512403101012511791101014511782101012512598101013512555101010 v)\n\nwhen I receive [start v]\nshow\ngo to x: (12) y: (.2)\nforever\n    if <<touching (player v)?> and <not <<touching (level v)?> or <<touching (_edge_ v)?> or <touching (spikes v)?>>>>> then\n        change x by (X v)\n    end\n    if <<touching (level v)?> or <<touching (_edge_ v)?> or <touching (spikes v)?>>> then\n        set [box v] to [1]\n        change x by (-.1)\n    end\n    if <not <<touching (level v)?> or <<touching (_edge_ v)?> or <touching (spikes v)?>>>> then\n        set [box v] to [0]\n    end\n    if on edge, bounce\nend\n\nwhen I receive [next level v]\nnext costume\n\n@coins\n\n@boss\n\nwhen flag clicked\nset [speach v] to []\nhide\nset rotation style [left-right v]\npoint in direction (-90)\nforever\n    wait (1) seconds\n    if <(Level) = [9]> then\n        broadcast (boss battle v)\n        stop [this script v]\n    end\nend\n\ndefine say ()\nset [speach v] to []\nrepeat until <(#) = [1]>\n    set [# v] to [1]\n    set [# v] to [1]\nend\nrepeat (length of ())\n    set [speach v] to (join (speach) (letter (#) of ()))\n    say (speach)\n    change [# v] by (1)\nend\nset [speach v] to []\n\nwhen I receive [boss battle v]\nif <(Level) = [9]> then\n    set [clone ded v] to [0]\n    point in direction (90)\n    set [? v] to [0]\n    switch costume to (center v)\n    go to x: (81) y: (-72)\n    show\n    say [ you have made it far but you will not beat me ]\n    wait (.2) seconds\n    say [heheheh]\n    repeat (10)\n        create clone of (_myself_ v)\n        wait (.5) seconds\n    end\n    wait (.5) seconds\n    say [what h-how did you beat me...]\n    wait (.3) seconds\n    say [grrrrrr]\n    set [? v] to [1]\n    repeat (10)\n        create clone of (_myself_ v)\n        wait (.2) seconds\n    end\n    wait (.5) seconds\n    say [what???!!! NOOOO NO!!!!!!!!!!!!!!!!!!!!!!]\n    hide\n    broadcast (NEXT LEVEL v)\n    change [level v] by (1)\nelse\n    stop [this script v]\nend\n\nwhen I start as a clone\nswitch costume to (center2 v)\nrepeat until <<<touching (_edge_ v)?> or <touching (player v)?>> or <(clone ded) = [1]>>\n    if <(clone ded) = [1]> then\n        delete this clone\n    end\n    if <(?) = [0]> then\n        change x by (-10)\n    else\n        if <(?) = [1]> then\n            change x by (-10)\n            set rotation style [all around v]\n        end\n    end\nend\nwait (0.001) seconds\ndelete this clone\n\nwhen flag clicked\nforever\n    if <not <(Level) = [9]>> then\n        hide\n        set [clone ded v] to [1]\n    end\nend\n\n@skip\n\nwhen flag clicked\ngo to x: (-196) y: (143)\nforever\n    set rotation style [all around v]\n    point in direction ((([sin v] of ((timer) * (200)) ) * (5)) + (90))\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n        wait (.5) seconds\n    end\nend\n\n@reset\n\nwhen flag clicked\ngo to x: (-130) y: (143)\nforever\n    set rotation style [all around v]\n    point in direction ((([sin v] of ((timer) * (200)) ) * (5)) + (90))\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        broadcast (reset v)\n        wait (.5) seconds\n    end\nend\n\n
PART 2 https://scratch.mit.edu/projects/423562562/\n\nreshared.\n\nthis project started one month ago as a normal platformer. but this platformer was different my goal was to create a non generic and entertaining puzzle platformer. I think you will see that this is exactly what I made =)\n\n#14th on trending #all thanks so much :D\nTOP LOVED YAY :D\nTOP REMIXED THE NEXT DAY WHAAA :0\n\nFULL SCREEN HIGHLY recommended\narrows wad or mobile to move\n\nthis took a very long time and has almost 1000 blocks \n\n\nWARNING:\nyou may get stuck in the box if this happens press r or the reset button to restart (Sorry for the inconvenience) 