Sonic - A Platformer                         #platformer #games
@Stage\n\nwhen I receive [screeeechhh v]\nif <(level) = [7]> then\n    switch backdrop to (blue sky v)\nend\n\nwhen I receive [rip v]\nif <(level) < [10]> then\n    change [deaths v] by (1)\nend\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        stop all sounds\n        play sound [Tobu - Candyland \[NCS Release\] v] until done\n        set volume to (50) %\n    end\nend\n\nwhen flag clicked\nset [start v] to [0]\n\nwhen I receive [game start v]\nset [start v] to [1]\n\nwhen I receive [game start v]\nforever\n    if <(outro) = [1]> then\n        switch backdrop to (outro v)\n    else\n        if <(level) = [1]> then\n            switch backdrop to (blue sky3 v)\n        else\n            if <(level) = [2]> then\n                switch backdrop to (blue sky4 v)\n            else\n                if <(level) = [3]> then\n                    switch backdrop to (blue sky5 v)\n                else\n                    if <(level) = [7]> then\n                        switch backdrop to (blue sky2 v)\n                    else\n                        if <(level) = [9]> then\n                            switch backdrop to (blue sky6 v)\n                        else\n                            switch backdrop to (blue sky v)\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [game start v]\nforever\n    if <key (1 v) pressed?> then\n        show variable [deaths v]\n    end\nend\n\nwhen I receive [game start v]\nwait until <(level) = [10]>\nbroadcast (LAST LEVEL v)\n\nwhen I receive [game start v]\nset [username v] to (username)\n\nwhen I receive [game start v]\nswitch backdrop to (blue sky v)\n\nwhen flag clicked\nswitch backdrop to (blue sky v)\n\nwhen flag clicked\nset [deaths v] to [0]\nhide variable [deaths v]\n\nwhen flag clicked\nset [outro v] to [0]\n\nwhen I receive [outro v]\nset [outro v] to [1]\n\nwhen I receive [game start v]\nforever\n    if <not <(easter egg) = [1]>> then\n        if <not <(outro) = [1]>> then\n            play sound [Tobu - Candyland \[NCS Release\] v] until done\n        end\n    end\nend\n\nwhen I receive [game start v]\nforever\n    if <(outro) = [1]> then\n        hide variable [deaths v]\n    end\nend\n\nwhen I receive [outro v]\nstop all sounds\n\nwhen I receive [last level v]\nwait (8) seconds\nbroadcast (Outro v)\nset [outro v] to [1]\nwait (3.5) seconds\nhide list [url v]\n\nwhen flag clicked\nshow list [url v]\ndelete all of [url v]\nadd [Select a project to view its URL.] to [url v]\n\nset [outro v] to [1]\nbroadcast (Outro v)\n\n@BLANK\n\n@bridge\n\nwhen I receive [game start v]\nswitch costume to (costume1 v)\nforever\n    if <(level) = [7]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [game start v]\nforever\n    if <<(level) = [7]> and <key (e v) pressed?>> then\n        ask [2\(2+6\)] and wait\n    end\n    if <(answer) = [16]> then\n        switch costume to (costume6 v)\n        broadcast (SCREEEECHHH v)\n    end\nend\n\n@ground\n\nwhen I receive [game start v]\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nforever\n    if <(outro) = [1]> then\n        hide\n    end\nend\n\nwhen I receive [outro v]\nhide\n\n@Lava/Ice Water\n\nwhen I receive [game start v]\nshow\ngo to x: (0) y: (0)\ngo to [back v] layer\nforever\n    repeat (10)\n        change y by (-0.5)\n    end\n    repeat (10)\n        change y by (0.5)\n    end\nend\n\nwhen I receive [game start v]\nset [brightness v] effect to (-10)\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nforever\n    if <(outro) = [1]> then\n        hide\n    end\nend\n\nwhen I receive [outro v]\nhide\n\n@Spikes\n\nwhen I receive [game start v]\nshow\nforever\n    go to [back v] layer\n    go to x: (0) y: (0)\n    switch costume to (level)\nend\n\nwhen I receive [outro v]\nhide\n\n@player\n\ndefine platform physics (jump height) (gravity) (friction) (movement speed) (wall jump vm) (wall jump hm)\nset rotation style [left-right v]\nswitch costume to (hitbox v)\nchange y by (y vel)\nif <touching (ground v)?> then\n    repeat ([abs v] of (y vel) )\n        if <touching (ground v)?> then\n            change y by ((-1) * (([abs v] of (y vel) ) / (y vel)))\n        end\n        if <touching (ground v)?> then\n            change y by ((-1) * (([abs v] of (y vel) ) / (y vel)))\n        end\n    end\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(y position) < (mouse y)> and <mouse down?>>> and <not <(y vel) > [0]>>> then\n        set [y vel v] to (jump height)\n    else\n        set [y vel v] to [0]\n    end\nelse\n    change [y vel v] by (gravity)\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(x position) < (mouse x)> and <mouse down?>>> then\n    point in direction (90)\n    change [x vel v] by (movement speed)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<(mouse x) < (x position)> and <mouse down?>>> then\n    point in direction (-90)\n    change [x vel v] by ((-1) * (movement speed))\nend\nchange x by (x vel)\nif <touching (ground v)?> then\n    set [old y v] to (y position)\n    repeat (([abs v] of (x vel) ) + (1))\n        if <touching (ground v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (ground v)?> then\n        set y to (old y)\n        repeat ([ceiling v] of ([abs v] of (x vel) ) )\n            if <touching (ground v)?> then\n                change x by ((-1) * (([abs v] of (x vel) ) / (x vel)))\n            end\n        end\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(y position) < (mouse y)> and <mouse down?>>> and <not <(y vel) > [0]>>> then\n            if <(x vel) < [0]> then\n                set [x vel v] to [0]\n                if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<(mouse x) < (x position)> and <mouse down?>>> then\n                    set [x vel v] to (wall jump hm)\n                    set [y vel v] to (wall jump vm)\n                end\n            else\n                set [x vel v] to [0]\n                if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(x position) < (mouse x)> and <mouse down?>>> then\n                    set [x vel v] to ((-1) * (wall jump hm))\n                    set [y vel v] to (wall jump vm)\n                end\n            end\n        end\n    end\nend\nset [x vel v] to ((x vel) * (friction))\nif <<<touching (spikes v)?> or <touching (gears v)?>> or <touching (lava/ice water v)?>> then\n    set [x vel v] to [0]\n    go to x: (-212) y: (0)\n    broadcast (rip v)\nend\nif <<((x position) * (-1)) < [-246]> and <(level) < [10]>> then\n    go to x: (-212) y: (0)\n    change [level v] by (1)\nend\nif <touching (sand v)?> then\n    change x by (-0.7)\nend\nif <touching (bridge v)?> then\n    repeat ([abs v] of (y vel) )\n        if <touching (bridge v)?> then\n            change y by ((-1) * (([abs v] of (y vel) ) / (y vel)))\n        end\n        if <touching (bridge v)?> then\n            change y by ((-1) * (([abs v] of (y vel) ) / (y vel)))\n        end\n    end\nend\nchange x by (x vel)\nif <touching (bridge v)?> then\n    set [old y v] to (y position)\n    repeat (([abs v] of (x vel) ) + (1))\n        if <touching (bridge v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (bridge v)?> then\n        set y to (old y)\n        repeat ([ceiling v] of ([abs v] of (x vel) ) )\n            if <touching (bridge v)?> then\n                change x by ((-1) * (([abs v] of (x vel) ) / (x vel)))\n            end\n        end\n    end\nend\nset [x vel v] to ((x vel) * (friction))\n\nwhen I receive [go to v]\ngo to x: (-212) y: (0)\n\nchange [y vel v] by (gravity)\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (-212) y: (0)\nshow\nset [y vel v] to [0]\nset [x vel v] to [0]\nforever\n    platform physics (10) (-1) (0.9) (.8) (8) (8)\nend\n\nwhen I receive [game start v]\nforever\n    if <key (r v) pressed?> then\n        broadcast (go to v)\n    end\nend\n\nwhen flag clicked\nset voice to (tenor v)::tts\n\nwhen flag clicked\nwait (0.2) seconds\nforever\n    if <(start) = [1]> then\n        speak [ Welcome To Sonic - A Platformer!!! Use W A S D or The Arrow Keys To Move]::tts\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nwait (0.2) seconds\nforever\n    if <(level) = [2]> then\n        speak [Watch Out For Lava, Ice, and Spikes!!]::tts\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nwait (0.2) seconds\nforever\n    if <(level) = [3]> then\n        speak [You Can Wall Climb!!]::tts\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nwait (0.2) seconds\nforever\n    if <(level) = [7]> then\n        speak [Press E And Answer The Question To Cross]::tts\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nwait (0.2) seconds\nforever\n    if <(level) = [9]> then\n        speak [This Level Is Possible!!]::tts\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nwait (0.2) seconds\nforever\n    if <(level) = [10]> then\n        speak [Comment "Victory". You have finished the game! If you liked it please give a star and a heart. Thank You So Much!!]::tts\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(outro) = [1]> then\n        hide\n    end\nend\n\nwhen I receive [game start v]\nshow\n\nwhen I receive [outro v]\nhide\n\n@trail\n\nwhen I start as a clone\nrepeat (20)\n    change size by (-5)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [end v]\nhide\n\nwhen I receive [play v]\ngo to x: (-210) y: (-75)\n\nwhen flag clicked\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    go to (player v)\nend\n\nwhen flag clicked\nforever\n    if <(outro) = [1]> then\n        hide\n    end\nend\n\nwhen I receive [game start v]\nshow\n\nwhen I receive [outro v]\nhide\n\n@TN\n\nwhen flag clicked\nwait (0.5) seconds\nhide\n\nwhen I receive [game start v]\nforever\n    if <<key (space v) pressed?> and <(username) = [UnspeakableDud]>> then\n        show\n    else\n        if <(outro) = [1]> then\n            wait (20.74) seconds\n            show\n        else\n            hide\n        end\n    end\nend\n\n@Sprite1\n\nwhen I receive [yeettt101 v]\nset [ghost v] effect to (0)\nstop all sounds\nswitch costume to (costume1 v)\nrepeat (11)\n    wait (1) seconds\n    next costume\nend\nstart sound [Music v]\n\nwhen I receive [go to v]\nset [easter egg v] to [0]\nhide\n\nwhen I receive [yeettt101 v]\nset [easter egg v] to [1]\n\nwhen flag clicked\nhide\nset [easter egg v] to [0]\nforever\n    if <(easter egg) = [1]> then\n        show\n        go to [front v] layer\n    end\nend\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (20) to (30)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(outro) = [1]> then\n        hide\n        stop [other scripts in sprite v]\n    end\nend\n\n@Intro\n\nwhen I start as a clone\nif <(id) = [Rect]> then\n    set size to [100] %\n    go to [back v] layer\n    switch costume to (rect v)\n    set [ghost v] effect to (0)\n    point in direction (0)\n    go to x: (-1000) y: (0)\n    set [brightness v] effect to ((xnew) * (5))\n    go to [front v] layer\n    show\n    repeat (65)\n        turn right ((((xnew) + (50)) - (direction)) * (.2)) degrees\n        change x by (((((xnew) + (.5)) * (130)) - (x position)) * (.2))\n    end\n    wait (6) seconds\n    repeat (1000)\n        change [xnew v] by (-2)\n        change [ghost v] effect by ((xnew) * (-.1))\n        change x by ((xnew) * (2))\n    end\n    delete this clone\nend\nif <(id) = [2]> then\n    set [brightness v] effect to (100)\n    show\n    set size to (100) %\n    go to [front v] layer\n    set [snew v] to [2]\n    go to x: (-280) y: (0)\n    switch costume to (ball v)\n    repeat until <<(y position) > [-20]> and <(x position) > [-50]>>\n        change [snew v] by ((snew) / (20))\n        change x by (snew)\n        set y to (([sin v] of (x position) ) * (100))\n    end\n    delete this clone\nend\nif <(id) = [1]> then\n    switch costume to (ball v)\n    set [brightness v] effect to (0)\n    show\n    set size to (100) %\n    go to [front v] layer\n    set [snew v] to [-2]\n    go to x: (280) y: (0)\n    switch costume to (ball v)\n    repeat until <<[20] > (y position)> and <[50] > (x position)>>\n        change [snew v] by ((snew) / (20))\n        change x by (snew)\n        set y to (([sin v] of (x position) ) * (100))\n    end\n    switch costume to (logo v)\n    show\n    go to x: (0) y: (0)\n    point in direction (-150)\n    set size to (0) %\n    go to [front v] layer\n    repeat until <(stuff) = [end]>\n        set [snew v] to (((snew) * (0.8)) + (((120) - (size)) * (0.7)))\n        change size by (snew)\n        turn right (((90) - (direction)) * (0.3)) degrees\n    end\n    broadcast (sound end v)\n    set [snew v] to [-1]\n    repeat (20)\n        change [ghost v] effect by ((0) - (Snew))\n        change x by (Snew)\n        change y by ((Snew) * (0.2))\n        change [snew v] by (join [-] (([abs v] of (Snew) ) / (5)))\n    end\n    delete this clone\nend\nif <(id) = [circlesandsquares]> then\n    hide\n    go to [front v] layer\n    switch costume to (join [tile] (pick random (1) to (4)))\n    set size to (0) %\n    set [ghost v] effect to (0)\n    go to x: (pick random (-200) to (200)) y: (pick random (-200) to (200))\n    point in direction (pick random (0) to (180))\n    set [i v] to (pick random (10) to (100))\n    set [v v] to (pick random (-2) to (2))\n    show\n    repeat (200)\n        change size by (((i) - (size)) / (8))\n        change x by ((v) / (4))\n        change y by ((v) / (4))\n        turn right ((v) * (3)) degrees\n    end\n    set [snew v] to [-1]\n    repeat (20)\n        change [ghost v] effect by ((0) - (Snew))\n        change x by (Snew)\n        change y by ((Snew) * (0.2))\n        change [snew v] by (join [-] (([abs v] of (Snew) ) / (5)))\n    end\n    delete this clone\nend\n\nwhen I receive [sound start v]\nset volume to (0) %\nrepeat (50)\n    change volume by (2)\nend\n\nwhen I receive [sound end v]\nrepeat (50)\n    change volume by (-2)\nend\nset volume to (0) %\nbroadcast (game start v)\n\ndefine quick\nset [id v] to [Rect]\nset [xnew v] to [-4]\nrepeat (6)\n    change [xnew v] by (1)\n    create clone of (_myself_ v)\nend\n\ndefine set size to (%) %\nswitch costume to (dot v)\nset size to (%) %\nswitch costume to (rect v)\n\nset [snew v] to [-1]\n\nwhen flag clicked\nbroadcast (sound start v)\nstart sound [NIVIRO - Flashes v]\nswitch backdrop to (backdrop1 v)\nhide\nset [stuff v] to [0]\nquick\nwait (1) seconds\nset [id v] to [0]\nrepeat (2)\n    change [id v] by (1)\n    create clone of (_myself_ v)\nend\nset [id v] to [circlesandsquares]\nrepeat (15)\n    create clone of (_myself_ v)\nend\nwait (6) seconds\nset [stuff v] to [end]\n\n@Outro\n\nwhen flag clicked\nshow list [url v]\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    go to x: (-700) y: (-700)\n    show\n    go to [back v] layer\n    repeat until <<(round (x position)) = [0]> and <(round (y position)) = [0]>>\n        change x by (((0) - (x position)) / (5))\n        change y by (((0) - (y position)) / (5))\n    end\n    go to x: (0) y: (0)\n    set [i v] to [15]\n    repeat until <(y position) < [-179]>\n        change size by (-1)\n        turn left (2) degrees\n        change [ghost v] effect by (5)\n        change y by (I)\n        change [i v] by (-2)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [2]> then\n    go to x: (700) y: (-700)\n    show\n    go to [front v] layer\n    repeat until <<(round (x position)) = [0]> and <(round (y position)) = [0]>>\n        change x by (((0) - (x position)) / (5))\n        change y by (((0) - (y position)) / (5))\n    end\n    go to x: (0) y: (0)\n    set [i v] to [15]\n    repeat until <(y position) < [-179]>\n        change size by (-1)\n        turn right (2) degrees\n        change [ghost v] effect by (5)\n        change y by (I)\n        change [i v] by (-2)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [2]> then\n    go to x: (700) y: (-700)\n    show\n    go to [front v] layer\n    repeat until <<(round (x position)) = [0]> and <(round (y position)) = [0]>>\n        change x by (((0) - (x position)) / (5))\n        change y by (((0) - (y position)) / (5))\n    end\n    go to x: (0) y: (0)\n    set [i v] to [15]\n    repeat until <(y position) < [-179]>\n        change size by (-1)\n        turn right (2) degrees\n        change [ghost v] effect by (5)\n        change y by (I)\n        change [i v] by (-2)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [3]> then\n    go to x: (-700) y: (700)\n    show\n    go to [back v] layer\n    repeat until <<(round (x position)) = [0]> and <(round (y position)) = [0]>>\n        change x by (((0) - (x position)) / (5))\n        change y by (((0) - (y position)) / (5))\n    end\n    go to x: (0) y: (0)\n    point in direction ((([sin v] of ((easter egg) / (3)) ) * (10)) - (90))\n    forever\n        point in direction ((([sin v] of ((easter egg) / (3)) ) * (10)) - (90))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [4]> then\n    go to x: (0) y: (-700)\n    show\n    go to [front v] layer\n    repeat until <<(round (x position)) = [-150]> and <(round (y position)) = [30]>>\n        change x by (((-150) - (x position)) / (5))\n        change y by (((30) - (y position)) / (5))\n    end\n    go to x: (-150) y: (30)\n    forever\n        if <touching (mouse-pointer v)?> then\n            set [bounce size v] to (((bounce size) * (.8)) + (((130) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (25)\n        else\n            set [bounce size v] to (((bounce size) * (.8)) + (((100) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (0)\n        end\n        point in direction ((([sin v] of (((easter egg) * (3)) / (2)) ) * (10)) - (-90))\n        change [easter egg v] by (6)\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [5]> then\n    go to x: (0) y: (-700)\n    show\n    go to [front v] layer\n    repeat until <<(round (x position)) = [-90]> and <(round (y position)) = [30]>>\n        change x by (((-90) - (x position)) / (5))\n        change y by (((30) - (y position)) / (5))\n    end\n    go to x: (-90) y: (30)\n    forever\n        if <touching (mouse-pointer v)?> then\n            set [bounce size v] to (((bounce size) * (.8)) + (((130) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (25)\n        else\n            set [bounce size v] to (((bounce size) * (.8)) + (((100) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (0)\n        end\n        point in direction ((([sin v] of (((easter egg) * (3)) / (2)) ) * (10)) - (-90))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [6]> then\n    go to x: (0) y: (-700)\n    show\n    go to [front v] layer\n    repeat until <<(round (x position)) = [-150]> and <(round (y position)) = [-35]>>\n        change x by (((-150) - (x position)) / (5))\n        change y by (((-35) - (y position)) / (5))\n    end\n    go to x: (-150) y: (-35)\n    forever\n        if <touching (mouse-pointer v)?> then\n            set [bounce size v] to (((bounce size) * (.8)) + (((130) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (25)\n        else\n            set [bounce size v] to (((bounce size) * (.8)) + (((100) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (0)\n        end\n        point in direction ((([sin v] of (((easter egg) * (3)) / (2)) ) * (10)) - (-90))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [7]> then\n    go to x: (0) y: (-700)\n    show\n    go to [front v] layer\n    repeat until <<(round (x position)) = [-90]> and <(round (y position)) = [-40]>>\n        change x by (((-90) - (x position)) / (5))\n        change y by (((-40) - (y position)) / (5))\n    end\n    go to x: (-90) y: (-40)\n    forever\n        if <touching (mouse-pointer v)?> then\n            set [bounce size v] to (((bounce size) * (.8)) + (((130) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (25)\n        else\n            set [bounce size v] to (((bounce size) * (.8)) + (((100) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (0)\n        end\n        point in direction ((([sin v] of (((easter egg) * (3)) / (2)) ) * (10)) - (-90))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [8]> then\n    go to x: (130) y: (100)\n    show\n    set size to (25) %\n    go to [front v] layer\n    set [brightness v] effect to (0)\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) / (5))\n    end\n    forever\n        if <touching (mouse-pointer v)?> then\n            set [bounce size v] to (((bounce size) * (.8)) + (((130) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (25)\n            replace item (1) of [url v] with [youtube.com/watch?v=UTwsdzTGnuE]\n        else\n            set [bounce size v] to (((bounce size) * (.8)) + (((100) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (0)\n        end\n        point in direction ((([sin v] of ((easter egg) / (2)) ) * (10)) - (-90))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [9]> then\n    go to x: (130) y: (-100)\n    show\n    set size to (25) %\n    go to [front v] layer\n    set [brightness v] effect to (0)\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) / (5))\n    end\n    forever\n        if <touching (mouse-pointer v)?> then\n            set [bounce size v] to (((bounce size) * (.8)) + (((130) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (25)\n            replace item (1) of [url v] with [scratch.mit.edu/projects/442124944]\n        else\n            set [bounce size v] to (((bounce size) * (.8)) + (((100) - (size)) / (5)))\n            change size by (bounce size)\n            set [brightness v] effect to (0)\n        end\n        point in direction ((([sin v] of ((easter egg) / (2)) ) * (10)) - (-90))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [10]> then\n    go to x: (-100) y: (-125)\n    show\n    set size to (25) %\n    go to [front v] layer\n    set [brightness v] effect to (0)\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) / (5))\n    end\n    forever\n        point in direction ((([sin v] of ((easter egg) / (4)) ) * (10)) - (-90))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [11]> then\n    go to x: (-100) y: (125)\n    show\n    set size to (25) %\n    go to [front v] layer\n    set [brightness v] effect to (0)\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) / (5))\n    end\n    forever\n        point in direction ((([sin v] of ((easter egg) / (4)) ) * (10)) - (-90))\n    end\nend\n\nwhen I receive [outro v]\nwait (0.2) seconds\nset volume to (100) %\nstart sound (pick random (1) to (3))\nwait (20.72) seconds\nshow list [url v]\nstop [all v]\n\ndefine Outro\nhide\npoint in direction (90)\nswitch costume to (1 v)\ncreate clone of (_myself_ v)\nswitch costume to (2 v)\ncreate clone of (_myself_ v)\nwait (2) seconds\nswitch costume to (filler v)\ncreate clone of (_myself_ v)\nwait (0.1) seconds\nswitch costume to (heart v)\ncreate clone of (_myself_ v)\nswitch costume to (star v)\ncreate clone of (_myself_ v)\nswitch costume to (remix v)\ncreate clone of (_myself_ v)\nswitch costume to (follow v)\ncreate clone of (_myself_ v)\nwait (1) seconds\nswitch costume to (project 1 v)\ncreate clone of (_myself_ v)\nswitch costume to (project 2 v)\ncreate clone of (_myself_ v)\nswitch costume to (comment v)\ncreate clone of (_myself_ v)\nswitch costume to (text v)\ncreate clone of (_myself_ v)\n\nwhen I receive [outro v]\nOutro\n\nwhen I receive [outro v]\nreplace item (1) of [url v] with [Select a project to view its URL.]\nwait (3.5) seconds\nhide list [url v]\n\n@sun\n\nwhen flag clicked\nhide\n\nwhen I receive [game start v]\nshow\ngo to x: (-5) y: (-25)\nset size to (100) %\nset [sun suze v] to [100]\nforever\n    change size by ([cos v] of (Sun Suze) )\n    change [sun suze v] by (7)\nend\n\nwhen [space v] key pressed\nhide\n\nwhen I receive [outro v]\nhide\n\n@b\n\nwhen flag clicked\nhide\n\ndefine ステージ配置 (x座標) (y座標) (ステージ番号)\nswitch costume to (none v)\nset [my_x v] to (x座標)\nset [my_y v] to (y座標)\nswitch costume to ((ステージ番号) + (1))\nset [my_n v] to ((ステージ番号) + (1))\ncreate clone of (_myself_ v)\n\ndefine 移動 (x) (y)\nswitch costume to (none v)\ngo to x: (x) y: (y)\nif <<([abs v] of (x) ) > ([abs v] of (x position) )> or <([abs v] of (y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (My_n)\n\nwhen I receive [プログラム2 v]\nif <(costume [number v]) = [1]> then\n    broadcast (プログラム v)\nelse\n    移動 ((My_x) - (Camera_x)) ((My_y) - (Camera _y))\nend\n\nwhen I start as a clone\nshow\n\nwhen I receive [start project v]\ngo to [back v] layer\nステージ配置 [0] [0] [1]\nステージ配置 [480] [0] [2]\nステージ配置 [960] [0] [3]\nステージ配置 [1440] [0] [4]\nステージ配置 [1920] [0] [5]\nステージ配置 [2400] [0] [6]\nステージ配置 [2880] [0] [7]\nステージ配置 [3360] [0] [8]\nswitch costume to (none v)\nbroadcast (プログラム v)\n\n
Welcome To Sonic - A Platformer... this is a mobile-friendly platformer. Every level is completely possible... every level has been tested!!!\n( Look For The Easter Egg ._. Maybe this could be of interest... ^^VV<><> )\n\nMy YouTube Channel: https://www.youtube.com/channel/UC2uGwPnwHeTe8qwdrH4Uo9Q\n\nControls:\nTo Move: WASD, Arrow Keys, or Tap\nTo Reset: R\nTo Interact: E\nTo Show Deaths: 1\n\nThis is a platformer made for YEETTT101's platformer contest. Also, it is only 10 levels but I will add more soon... if you can't figure out the question use a calculator!! \n\n1237 Blocks :>\n\n#platformer #games