Yoshi: A Platformer

Instructions: Welcome to Destiny, my latest game! Please leave a love and a favorite if you enjoy! Also, please follow me @RacingAce if you want to see better content soon :)\n\nUse the arrow keys or WASD to move around this small world. Look out for the rising waters-- you can't swim! Every level IS POSSIBLE\n\nSorry for the lines that appear in the ground- this project was imported from Scratch 2, and for some reason I can't fix the lines (I've tried twice)\n

@Stage\n\nwhen I receive [start v]\nset [brightness v] effect to (-100)\nswitch backdrop to (branding #4 \(1\) v)\nwait (4) seconds\nrepeat (35)\n    change [brightness v] effect by (2)\nend\nrepeat (30)\n    change [brightness v] effect by (1)\nend\nforever\n    play sound [Mysterioso March v] until done\nend\n\nwhen I receive [startintro v]\nforever\n    set [brightness v] effect to (helligk)\nend\n\ngo to x: (0) y: (0)\n\nwhen flag clicked\nswitch backdrop to (intro v)\n\n@Figur1\n\nwhen flag clicked\nclear graphic effects\nhide\nset size to (100) %\nforever\n    repeat (30)\n        change size by (0.3)\n    end\n    repeat (30)\n        change size by (-0.3)\n    end\nend\n\nwhen I receive [start v]\nset [ghost v] effect to (100)\nshow\nwait (2) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\n@Figur2\n\ndefine touching ground\nrepeat until <not <touching (figur3 v)?>>\n    change y by (1)\n    set [y2 v] to [1]\nend\n\nwait until <(end) = [1]>\nset [brightness v] effect to (-100)\nswitch backdrop to (bühnenbild2 v)\nplay sound [Crunch v] until done\nrepeat (10)\n    change [brightness v] effect by (10)\nend\n\nwhen I receive [play v]\ngo to [front v] layer\nswitch costume to (kostüm1 v)\nset [ghost v] effect to (0)\nshow\ngo to x: (-180) y: (-50)\nset [level v] to [1]\nset [x v] to [0]\nset [y v] to [0]\npoint in direction (90)\nforever\n    change [y v] by (-1)\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        change [x v] by (-0.6)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (0.6)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (figur3 v)?> then\n        change y by (1)\n    end\n    if <touching (figur3 v)?> then\n        change y by (1)\n    end\n    if <touching (figur3 v)?> then\n        change y by (1)\n    end\n    if <touching (figur3 v)?> then\n        change y by (1)\n    end\n    if <touching (figur3 v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [y v] to [10]\n            if <([abs v] of (x) ) = (x)> then\n                set [x v] to [-5]\n            else\n                set [x v] to [5]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (figur3 v)?> then\n        change y by ((0) - (y))\n        set [y v] to [1]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (figur3 v)?>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <(y position) > [180]> then\n        set [y v] to [0]\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <<key (b v) pressed?> or <touching (figur5 v)?>> then\n        go to x: (-180) y: (-50)\n        broadcast (dead v)\n    end\n    if <(x position) > [250]> then\n        go to x: (-180) y: (-50)\n        broadcast (levelup v)\n        change [level v] by (1)\n    end\n    if <(Level) = [15]> then\n        broadcast (end v)\n        stop [other scripts in sprite v]\n    end\nend\n\n@Figur3\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\nwhen I receive [play v]\nshow\nswitch costume to (01 v)\n\nwhen I receive [levelup v]\nnext costume\n\n@Figur4\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nclear graphic effects\nhide\nset size to (100) %\nforever\n    repeat (30)\n        change size by (0.3)\n    end\n    repeat (30)\n        change size by (-0.3)\n    end\nend\n\nwhen I receive [dead v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [levelup v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [play v]\nshow\nforever\n    go to (figur2 v)\nend\n\n@Figur5\n\nwhen flag clicked\nhide\n\nwhen I receive [levelup v]\nnext costume\n\nwhen I receive [play v]\ngo to [front v] layer\nshow\nswitch costume to (01 v)\n\n@Figur6\n\nwhen I receive [start v]\nwait (7) seconds\nswitch costume to (1 v)\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nrepeat (5)\n    wait (5) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    wait (1) seconds\n    next costume\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\nwait (5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait (1) seconds\nnext costume\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait (2) seconds\nbroadcast (play v)\n\nwhen flag clicked\nhide\n\n@Figur7\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nwait until <(Level) = [14]>\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait until <(Level) = [15]>\nset [ghost v] effect to (0)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@Figur8\n\nwhen I receive [start v]\nforever\n    if <(Level) = [15]> then\n        clear graphic effects\n        go to [front v] layer\n        wait (1) seconds\n        switch costume to (1 v)\n        show\n        wait (5) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        wait (1) seconds\n        next costume\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        wait (5) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        wait (1) seconds\n        next costume\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nhide\n\n@intro (2)\n\ndefine dreh\nset [start v] to [0]\npoint in direction (90)\ngo to x: (0) y: (0)\nrepeat (8)\n    create clone of (_myself_ v)\n    turn right ((360) / (8)) degrees\nend\nset [start v] to [1]\n\nwhen I start as a clone\nwait until <(start) = [1]>\nshow\ngo to [back v] layer\nforever\n    turn right (3) degrees\nend\n\nrepeat (1000)\n    turn right (((direction) - (90)) / (30)) degrees\nend\n\nwhen I start as a clone\nwait until <(start) = [1]>\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I start as a clone\nbounce4\n\nwhen I receive [startintro v]\nhide\ndreh\n\ndefine bounce4\nset [bounce? v] to [0]\nforever\n    if <(mp) = [1]> then\n        set [bounce? v] to (((bounce?) * (0.65)) + ((((110) + ()) - (size)) * (0.3)))\n        change size by (bounce?)\n    else\n        set [bounce? v] to (((bounce?) * (0.6)) + ((((120) + ()) - (size)) * (0.3)))\n        change size by (bounce?)\n    end\nend\n\nwhen I receive [endintro v]\nrepeat (10)\n    change y by (((y position) - (40)) / (-10))\n    change [ghost v] effect by (10)\nend\nwait (1.5) seconds\nbroadcast (start game v)\n\n@intro (1)\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\ndefine auseinandergehender effekt (sec)\nforever\n    wait (sec) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nset [ghost v] effect to (60)\nset size to (100) %\nshow\nswitch costume to (pick random (1) to (3))\neffect (pick random (10) to (-10)) (pick random (10) to (-10))\n\ndefine effect (zufallszahl_x) (zufallszahl_y)\ngo to [back v] layer\nrepeat (10)\n    change x by ((zufallszahl_x) * (3))\n    change y by (zufallszahl_y)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen I receive [startintro v]\npoint in direction (135)\nrepeat until <(direction) < [91]>\n    go to [front v] layer\n    turn right (((90) - (direction)) / (6)) degrees\nend\n\nwhen I receive [startintro v]\nset [helligk v] to [100]\nforever\n    change [helligk v] by ((helligk) / (-5))\nend\n\nwhen I receive [startintro v]\ngo to x: (0) y: (0)\nforever\n    set [brightness v] effect to (helligk)\nend\n\nwhen I receive [startintro v]\nplay sound [TheFatRat & JJD - Prelude \(VIP Edit\) \(1\)2 v] until done\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nset size to (10) %\nrepeat until <(size) = [200]>\n    change size by (((200) - (size)) / (10))\nend\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nshow\nswitch costume to (kostüm4 v)\nset [pitch v] effect to (5)\nwait (1) seconds\nforever\n    point in direction ((90) + (([sin v] of ((timer) * (400)) ) * (20)))\nend\n\nwhen I receive [startintro v]\nbounce4\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nset [mp v] to [0]\nwait (0.1) seconds\nforever\n    set [mp v] to [1]\n    set [helligk v] to [10]\n    wait (0.2) seconds\n    set [mp v] to [0]\n    wait (0.2) seconds\nend\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nauseinandergehender effekt [0]\n\nwhen I receive [startintro v]\nset volume to (100) %\nwait (4) seconds\nrepeat (10)\n    change volume by (-10)\nend\nbroadcast (endintro v)\n\nwhen flag clicked\nhide\n\nwhen I receive [endintro v]\nif <(costume [number v]) = [5]> then\n    stop [other scripts in sprite v]\nend\nrepeat until <[135] < (direction)>\n    change [ghost v] effect by (10)\n    go to [front v] layer\n    turn right (((-136) - (direction)) / (6)) degrees\nend\n\ndefine bounce4\nset [bounce? v] to [0]\nforever\n    if <(mp) = [1]> then\n        set [bounce? v] to (((bounce?) * (0.65)) + ((((200) + ()) - (size)) * (0.3)))\n        change size by (bounce?)\n    else\n        set [bounce? v] to (((bounce?) * (0.6)) + ((((150) + ()) - (size)) * (0.3)))\n        change size by (bounce?)\n    end\nend\n\n@intro (3)\n\nwhen flag clicked\n\nwhen I receive [startintro v]\ngo to x: (0) y: (0)\nshow\ngo [backward v] (3) layers\ngo to [back v] layer\ngo [backward v] (5) layers\nrepeat (30)\n    go to [front v] layer\n    go [backward v] (2) layers\n    turn right (5) degrees\nend\nrepeat until <(direction) < [91]>\n    turn right (((90) - (direction)) / (6)) degrees\nend\n\nwhen I receive [startintro v]\nforever\n    set [brightness v] effect to (helligk)\nend\n\nwhen I receive [startintro v]\nbounce4\n\nwhen I receive [startintro v]\nset size to (70) %\nforever\n    change size by (((200) - (size)) / (10))\nend\n\nwhen I receive [startintro v]\nwait (1) seconds\nforever\n    point in direction ((90) + (([sin v] of ((timer) * (200)) ) * (10)))\nend\n\nwhen flag clicked\nwait (1) seconds\nbroadcast (startintro v)\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nbroadcast (begin v)\n\ndefine bounce4\nset [bounce? v] to [0]\nforever\n    if <(mp) = [1]> then\n        set [bounce? v] to (((bounce?) * (0.65)) + ((((200) + ()) - (size)) * (0.2)))\n        change size by (bounce?)\n    else\n        set [bounce? v] to (((bounce?) * (0.6)) + ((((150) + ()) - (size)) * (0.2)))\n        change size by (bounce?)\n    end\nend\n\nwhen I receive [endintro v]\nstop [other scripts in sprite v]\nrepeat until <[135] < (direction)>\n    change size by (-10)\n    change [ghost v] effect by (8)\n    go to [front v] layer\n    turn right (((-136) - (direction)) / (6)) degrees\nend\n\n@TimMcCool2\n\nwhen flag clicked\nset [ghost v] effect to (80)\nhide\n\nwhen I receive [start game v]\nbroadcast (start v)\n\n@//📊 Scratch Analytics by @TimMcCool2\n\ndefine Send Data (payload)\nset [☁ to_host v] to (payload)\n\ndefine Encode (input)\nset [//output v] to []\nset [i v] to [0]\nrepeat (length of (input))\n    change [i v] by (1)\n    switch costume to (join [=] (letter (i) of (input)))\n    set [//output v] to (join (//output) (costume [number v]))\nend\n\nwhen flag clicked\nwait (0.6) seconds\nEncode (join (username) (join [,] (join (current [hour v]) (join [,] []))))\nSend Data (//output)\n\n