Castaway: A Platformer

Instructions: NO ADVERTISING OR UNCHANGED REMIXES(id be happy if you feel free to remix if you're gonna change something)\n\nYou are a little cube who is lost on an island with no recollection of anything whatsoever... except your name... Play through the game to get back home and regain your memories!\nTAP MOBILE? BOX IF YOU ARE ON MOBILE!!\n\nTESTED ON BOTH MOBILE AND COMPUTER WITHOUT SKIPS. IT IS DIFFICULT BUT POSSIBLE!!\nUse the WAD/arrow keys/touchscreen to move.\nBlue means bouncy!\nSpikes kill you(obviously)\nMAKE IT BACK HOME!\nPRESS s to skip a level or tap skip button if you're on mobile. (you can only skip twice)\npress r to restart a level\nClick the little heart and favorite button to reduce lags\n*grin*\n\nTags:\n___________________________________________\n#Mobilefriendly#Platform#Platformer#Long#Good#Games#Art#game #fun #fun #love #jump #spikes #scratchpigking#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags#All #Animation #Art #Games #Stories #Tutorials #Scratchpigking #Play #Hi #Hello #Play #Random #Cool #Awesome #Weird #Hashtags\n

@Stage\n\n@Fred\n\nwhen I receive [level1 v]\nshow\nset rotation style [left-right v]\ngo to x: (-174) y: (-101)\nwait until <not <mouse down?>>\nforever\n    if <<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<(mouse x) < [0]> and <mouse down?>>>> then\n        Walk [-90] [-5]\n    end\n    if <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<(mouse x) > [0]> and <mouse down?>>>> then\n        Walk [90] [5]\n    end\n    if <<<<key (up arrow v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>> or <key (w v) pressed?>> and <(falling?) < [3]>> then\n        start sound [Jump Sound Effects All Sounds2 v]\n        set [speed y v] to [12]\n    end\nend\n\nwhen flag clicked\nhide variable [speed y v]\nset [speed y v] to [0]\nforever\n    change [speed y v] by (-1)\n    change y by (speed y)\n    Touch Ground <(speed y) > [0]>\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (ground v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (2)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\nwhen flag clicked\nswitch costume to (fred v)\nhide\n\nwhen I receive [level1 v]\nset size to (90) %\n\nwhen I receive [level1 v]\nforever\n    if <touching (spikes v)?> then\n        start sound [Sound - 8-bit Death Sounds AudioJungle2 v]\n        go to x: (-174) y: (-101)\n        broadcast (dead v)\n    end\nend\n\nwhen I receive [level1 v]\nforever\n    if <touching (portal v)?> then\n        play sound [Teleport2 v] until done\n        broadcast (nextlevel v)\n    end\nend\n\nwhen I receive [nextlevel v]\ngo to x: (-174) y: (-101)\n\nwhen I receive [level1 v]\nforever\n    create clone of (_myself_ v)\n    wait (.01) seconds\nend\n\nwhen I start as a clone\nset [ghost v] effect to (60)\nrepeat (10)\n    change size by (-10)\n    wait (.03) seconds\nend\ndelete this clone\n\nwhen I receive [level1 v]\nforever\n    if <touching (bouncy v)?> then\n        change [speed y v] by (22)\n        start sound [Big Boing v]\n    end\nend\n\nwhen I receive [level1 v]\nforever\n    if <[-189] > (y position)> then\n        start sound [Splash v]\n        go to x: (-174) y: (-101)\n        broadcast (dead v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        go to x: (-174) y: (-101)\n    end\nend\n\nwhen I receive [level1 v]\nset [skps v] to [2]\nforever\n    if <<key (s v) pressed?> and <[0] < (skps)>> then\n        broadcast (nextlevel v)\n        change [skps v] by (-1)\n        wait (1) seconds\n    end\n    if <<key (s v) pressed?> and <(skps) = [0]>> then\n        broadcast (notenough v)\n    end\nend\n\nwhen I receive [outro v]\nswitch costume to (costume1 v)\n\n@thumbnail\n\nwhen flag clicked\nshow variable [deaths v]\ngo to x: (0) y: (0)\nset [ghost v] effect to (200)\nshow\nforever\n    go to [front v] layer\nend\n\nhide variable [deaths v]\n\n@start\n\nwhen I receive [level1 v]\nhide\n\nwhen flag clicked\n\nwhen I receive [startscrreeen v]\ngo to x: (29) y: (27)\nswitch costume to (costume1 v)\nshow\nplay sound [High Whoosh v] until done\n\n@start2\n\nwhen this sprite clicked\nrepeat (8)\n    wait (.09) seconds\n    change [ghost v] effect by (25)\nend\nhide\nbroadcast (level1 v)\n\nwhen I receive [startscrreeen v]\nshow\ngo to x: (30) y: (6)\nset [ghost v] effect to (0)\ngo to [front v] layer\n\nwhen flag clicked\nhide\n\n@spikes\n\nwhen flag clicked\nswitch costume to (costume2 v)\ngo to x: (17) y: (-59)\nhide\n\nwhen I receive [level1 v]\nshow\n\nwhen I receive [nextlevel v]\nnext costume\n\n@Ground\n\nwhen I receive [dead v]\nchange [deaths v] by (1)\n\nwhen I receive [level1 v]\nswitch costume to (level1 v)\ngo to x: (146) y: (-7)\nshow\nset size to (145) %\n\nwhen I receive [nextlevel v]\nchange [levelnumber v] by (1)\nnext costume\n\nwhen I receive [level1 v]\nset [levelnumber v] to [1]\n\nwhen I receive [startscrreeen v]\nshow variable [deaths v]\nset [deaths v] to [0]\nset [levelnumber v] to [0]\nhide\n\nwhen flag clicked\nhide variable [deaths v]\n\nwhen I receive [nextlevel v]\nif <(levelnumber) = [15]> then\n    broadcast (dor v)\nend\n\n@Sign\n\nwhen flag clicked\nhide\nset [ghost v] effect to (36)\n\nwhen I receive [level1 v]\nshow\n\nwhen I receive [nextlevel v]\nhide\n\n@portal\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\ngo to x: (44) y: (26)\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [level1 v]\nshow\n\nwhen I receive [nextlevel v]\nnext costume\n\n@Music\n\nwhen I receive [level1 v]\nforever\n    repeat until <(Mute?) = [1]>\n        if <(Mute?) = [0]> then\n            set volume to (70) %\n            forever\n                play sound [Video Game 2 v] until done\n            end\n        end\n    end\nend\n\nwhen [m v] key pressed\nif <(Mute?) = [0]> then\n    set [mute? v] to [1]\n    wait (1) seconds\nend\nif <(Mute?) = [1]> then\n    set [mute? v] to [0]\n    wait (1) seconds\nend\n\nwhen flag clicked\nset [mute? v] to [0]\n\nwhen I receive [level1 v]\nforever\n    repeat until <(Mute?) = [0]>\n        if <(Mute?) = [1]> then\n            set volume to (0) %\n        end\n    end\nend\n\nwhen I receive [nextlevel v]\nforever\n    if <(levelnumber) = [15]> then\n        set volume to (0) %\n    end\nend\n\n@text\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to x: (36) y: (28)\nhide\n\nwhen I receive [nextlevel v]\nnext costume\nshow\n\nwhen I receive [level1 v]\nshow\n\nwhen I receive [outro v]\nhide\n\n@bouncy\n\nwhen flag clicked\ngo to x: (37) y: (30)\nswitch costume to (level1 v)\nhide\n\nwhen I receive [nextlevel v]\nshow\nnext costume\n\n@sign!\n\nwhen flag clicked\ngo to x: (36) y: (28)\nhide\nset [ghost v] effect to (50)\n\nwhen I receive [nextlevel v]\nif <(levelnumber) = [4]> then\n    show\nelse\n    hide\nend\n\n@Sprite1\n\nwhen I receive [notenough v]\nshow\nwait (1.9) seconds\nhide\n\nwhen flag clicked\ngo to x: (36) y: (28)\nhide\n\n@intro\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (36) y: (28)\nshow\n\nwhen I receive [itnro v]\nstart sound [Pluck v]\nswitch costume to (costume2 v)\nwait (1) seconds\nplay sound [Kids Saying Yay \[Sound Effect\] v] until done\nbroadcast (startscrreeen v)\nhide\n\n@intro fred\n\nwhen flag clicked\nshow\ngo to x: (36) y: (28)\nwait (1) seconds\nglide (1.8) secs to x: (183) y: (28)\nstart sound [Jump v]\nglide (.2) secs to x: (183) y: (81)\nwait (.2) seconds\nbroadcast (itnro v)\nglide (.13) secs to x: (183) y: (28)\n\nwhen I receive [startscrreeen v]\nhide\n\n@endoutro\n\nwhen flag clicked\nswitch costume to (credits v)\ngo to x: (36) y: (28)\nhide\n\nwhen I receive [outro v]\nshow\nwait (1.8) seconds\nplay sound [Noise of a door opening closing v] until done\nbroadcast (outromusic v)\nwait (5) seconds\nswitch costume to (credits2 v)\nwait (4) seconds\nswitch costume to (costume2 v)\nwait (3.5) seconds\nswitch costume to (costume3 v)\nwait (2) seconds\nswitch costume to (costume4 v)\nwait (2) seconds\nswitch costume to (costume5 v)\nwait (2) seconds\nswitch costume to (costume6 v)\n\nwhen I receive [outromusic v]\nforever\n    wait (3) seconds\n    start sound [Title Theme - The Legend of Zelda_ Ocarina of Time v]\n    wait (169) seconds\nend\n\n@door\n\nwhen flag clicked\nswitch costume to (costume2 v)\ngo to x: (36) y: (27)\nhide\n\nwhen I receive [dor v]\nshow\n\nwhen this sprite clicked\nbroadcast (outro v)\nhide\n\nwhen I receive [outro v]\nhide variable [deaths v]\nhide\n\n@Sprite2\n\nwhen this sprite clicked\nif <[0] < (skps)> then\n    broadcast (nextlevel v)\n    change [skps v] by (-1)\n    wait (1) seconds\nend\nif <(skps) = [0]> then\n    broadcast (notenough v)\nend\n\nwhen flag clicked\ngo to x: (36.01) y: (28)\nhide\n\nwhen I receive [tapskip v]\nshow\nset [skps v] to [2]\n\nwhen I receive [outro v]\nhide\n\n@mobile?\n\nwhen flag clicked\nset [mobile? v] to [0]\ngo to x: (36) y: (28)\nhide\n\nwhen I receive [startscrreeen v]\nshow\n\nwhen this sprite clicked\nset [mobile? v] to [1]\n\nwhen I receive [level1 v]\nhide\nif <(mobile?) = [1]> then\n    broadcast (tapskip v)\nelse\n    stop [this script v]\nend\n\n