Stop or Go - A Platformer!

Instructions: Welcome to Stop or Go! Arrows or w a d to move, but there are also some special rules:\n-You can only pass dark red if you are moving\n-You can only pass dark blue if you aren't moving\n\nFull screen is recommended\n\nDeath count is in the lower left corner, so be sure to comment how many deaths you got!\n\nThis is a challenging platformer, but I assure you that all levels are possible.\n\nPlease do not remix this without changing anything!\n\n

@Stage\n\nwhen I receive [next level v]\nnext backdrop\n\nwhen flag clicked\nswitch backdrop to (intro v)\n\nwhen I receive [start game v]\nswitch backdrop to (1 v)\n\nwhen I receive [credits go v]\nswitch backdrop to (credits v)\n\nwhen I receive [credits end v]\nswitch backdrop to (intro v)\n\nwhen I receive [secret level v]\nswitch backdrop to (secret level v)\n\nwhen I receive [you win v]\nswitch backdrop to (you win! v)\n\nwhen I receive [back to the game v]\nswitch backdrop to (8 v)\n\nwhen I receive [mobile or computer? v]\nswitch backdrop to (m or c? v)\n\n@Platformer\n\nwhen flag clicked\nhide variable [death count v]\nhide\nforever\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        set [is moving? v] to [1]\n        switch costume to (go v)\n    else\n        set [is moving? v] to [0]\n        switch costume to (stop v)\n    end\nend\n\nwhen I receive [start game v]\nset [death count v] to [0]\nshow variable [death count v]\nshow\nset [xv v] to [0]\ngo to x: (-200) y: (0)\nset [yv v] to [0]\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [xv v] by (0.95)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [xv v] by (-0.95)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n        change y by (1)\n        if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n            change y by (1)\n            if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n                change y by (1)\n                if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n                    change y by (1)\n                    if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n                        change y by (1)\n                        if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [10]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <<touching color (#ff00bf)?> or <touching color (#d1caca)?>> then\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [yv v] to [15]\n        end\n    end\n    change y by (1)\nend\n\nwhen I receive [you died v]\nchange [death count v] by (1)\ngo to x: (-200) y: (0)\n\nwhen I receive [start game v]\ngo to [front v] layer\nforever\n    if <<<touching color (#a30000)?> or <touching (move v)?>> and <(is moving?) = [0]>> then\n        broadcast (You Died v)\n    end\n    if <<<touching color (#002072)?> or <touching (don't move v)?>> and <(is moving?) = [1]>> then\n        broadcast (You Died v)\n    end\n    if <touching (next level v)?> then\n        broadcast (Next Level v)\n    end\n    if <key (r v) pressed?> then\n        broadcast (Restart v)\n    end\n    if <touching color (#ffff00)?> then\n        broadcast (Secret Level v)\n    end\n    if <touching (finish line v)?> then\n        broadcast (You Win v)\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-200) y: (0)\n\nwhen I receive [secret level v]\nhide\n\nwhen I receive [you win v]\nbroadcast (Restart v)\nshow\n\nwhen I receive [back to the game v]\nshow\nbroadcast (Restart v)\n\nwhen I receive [restart v]\ngo to x: (-200) y: (0)\n\nwhen I receive [move x -10 v]\nchange x by (-10)\n\nwhen I receive [move x 10 v]\nchange x by (10)\n\nwhen I receive [move y 10 v]\nchange y by (10)\n\n@Next Level\n\nwhen flag clicked\nshow\ngo to x: (237) y: (38)\nforever\n    go to [back v] layer\nend\n\nwhen I receive [credits go v]\nhide\n\nwhen I receive [credits end v]\nshow\n\nwhen I receive [you win v]\nhide\n\nwhen I receive [back to the game v]\nshow\n\nwhen I receive [secret level v]\nhide\n\nwhen I receive [next level v]\nshow\n\nwhen I receive [you win v]\nhide\n\n@Intro\n\nwhen flag clicked\nswitch costume to (costume1 v)\nwait (1) seconds\nshow\nwait (0.5) seconds\nrepeat (12)\n    next costume\n    wait (0.04) seconds\nend\nwait (1.2) seconds\nhide\nbroadcast (Home Screen v)\n\n@Not Moving?\n\n@Start \n\nwhen I receive [home screen v]\nset [brightness v] effect to (0)\nset size to (95) %\nshow\nforever\n    if <<(backdrop [name v]) = [Intro]> and <touching (mouse-pointer v)?>> then\n        set [brightness v] effect to (25)\n        if <mouse down?> then\n            broadcast (Start Game v)\n            hide\n        end\n    else\n        set [brightness v] effect to (0)\n        set size to (95) %\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [credits end v]\nset [brightness v] effect to (0)\nset size to (95) %\nshow\nforever\n    if <<(backdrop [name v]) = [Intro]> and <touching (mouse-pointer v)?>> then\n        set [brightness v] effect to (50)\n        if <mouse down?> then\n            broadcast (Start Game v)\n            hide\n        end\n    else\n        set [brightness v] effect to (0)\n        set size to (95) %\n    end\nend\n\nwhen I receive [credits go v]\nhide\n\n@Sprite3\n\nwhen I receive [home screen v]\ngo to x: (0) y: (0)\nset [brightness v] effect to (0)\nset size to (95) %\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <(backdrop [name v]) = [Intro]>> then\n        set [brightness v] effect to (25)\n        if <mouse down?> then\n            broadcast (Credits go v)\n            hide\n        end\n    else\n        set [brightness v] effect to (0)\n        set size to (95) %\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [credits end v]\ngo to x: (0) y: (0)\nset [brightness v] effect to (0)\nset size to (95) %\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <(backdrop [name v]) = [Intro]>> then\n        set [brightness v] effect to (25)\n        if <mouse down?> then\n            broadcast (Credits go v)\n            hide\n        end\n    else\n        set [brightness v] effect to (0)\n        set size to (95) %\n    end\nend\n\nwhen I receive [start game v]\nhide\n\nwhen I receive [next level v]\nhide\n\nwhen I receive [mobile or computer? v]\nhide\n\n@Credits\n\nwhen flag clicked\ngo to x: (20) y: (-400)\nhide\n\nwhen I receive [credits end v]\nhide\n\nwhen I receive [credits go v]\ngo to x: (20) y: (-400)\nshow\nwait (.5) seconds\nglide (4) secs to x: (20) y: (300)\nbroadcast (Credits end v)\n\n@cookie\n\nwhen flag clicked\ngo to x: (4) y: (-5)\nhide\n\nwhen I receive [secret level v]\nshow\nforever\n    if <<key (z v) pressed?> and <(backdrop [name v]) = [Secret Level]>> then\n        broadcast (Back to the game v)\n    end\nend\n\nwhen I receive [you win v]\nhide\n\nwhen I receive [back to the game v]\nhide\n\n@Sprite1\n\nwhen flag clicked\ngo to x: (36) y: (28)\nhide\n\nwhen I receive [next level v]\nhide\nforever\n    if <(backdrop [name v]) = [8]> then\n        show\n        repeat until <(backdrop [name v]) = [9]>\n            glide (1) secs to x: (32) y: (-137)\n            glide (1) secs to x: (36) y: (28)\n        end\n    else\n        hide\n    end\nend\n\nwhen I receive [back to the game v]\nrepeat until <(backdrop [name v]) = [9]>\n    glide (1) secs to x: (32) y: (-137)\n    glide (1) secs to x: (36) y: (28)\nend\nhide\n\nwhen I receive [back to the game v]\nhide\nforever\n    if <(backdrop [name v]) = [8]> then\n        show\n        repeat until <(backdrop [name v]) = [9]>\n            glide (1) secs to x: (32) y: (-137)\n            glide (1) secs to x: (36) y: (28)\n        end\n    else\n        hide\n    end\nend\n\n@Thing\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I receive [next level v]\nforever\n    if <(backdrop [name v]) = [9]> then\n        repeat until <(backdrop [name v]) = [10]>\n            if <(backdrop [name v]) = [10]> then\n                hide\n            else\n                show\n                wait (2) seconds\n                if <(backdrop [name v]) = [10]> then\n                    hide\n                else\n                    hide\n                    wait (2) seconds\n                end\n            end\n        end\n    else\n        hide\n    end\n    if <(backdrop [name v]) = [10]> then\n        hide\n    end\nend\n\nif <(backdrop [name v]) = [10]> then\nend\n\n@Red Arrow\n\nwhen flag clicked\ngo to x: (125) y: (-84)\nhide\nwait until <(backdrop [name v]) = [11]>\nrepeat until <(backdrop [name v]) = [12]>\n    go to x: (125) y: (pick random (0) to (-85))\n    show\n    glide (.7) secs to x: (-250) y: (y position)\n    hide\nend\n\n@Sprite2\n\nwhen flag clicked\nhide\nwait until <(backdrop [name v]) = [11]>\nrepeat until <(backdrop [name v]) = [12]>\n    go to x: (pick random (-200) to (210)) y: (122)\n    show\n    glide (.6) secs to x: (x position) y: (-80)\n    hide\nend\n\n@Finish Line\n\nwhen flag clicked\nhide\nwait until <(backdrop [name v]) = [12]>\nshow\n\nwhen I receive [you win v]\nhide\n\n@Music\n\nwhen flag clicked\nforever\n    play sound [Scott_Joplin_-_04_-_The_Entertainer_1902_piano_roll v] until done\n    play sound [bensound-funnysong v] until done\n    play sound [bensound-adventure v] until done\nend\n\n@gugu9\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n