100 Level Platformer 

Instructions: - Just like a normal Platformer\n- Arrow keys\n- For those of you that press see inside, it will just bring you back to the beginning, so don't even try :)\n- Please like, fave, and comment and remix\n- If a level is too hard, press s to skip it. You can only skip 3 levels, so use your skips wisely.\n

@Stage\n\nwhen I receive [message1 v]\nswitch backdrop to (next backdrop v)\n\n@Thumbnail \n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\nend\n\n@Ball\n\ndefine PLATFORMER BLOCK\nshow variable [time v]\nset [time v] to [0]\nset [lives v] to [75]\nshow variable [level v]\nset [level v] to [1]\nswitch backdrop to (backdrop1 v)\nhide variable [y v]\nhide variable [x v]\nset [y v] to [0]\nset [x v] to [0]\nshow\ngo to x: (-60) y: (-47)\nset drag mode [not draggable v]\nforever\n    switch costume to (costume1 v)\n    if <key (right arrow v) pressed?> then\n        change [x v] by (1)\n    end\n    if <key (left arrow v) pressed?> then\n        change [x v] by (-1)\n    end\n    set [x v] to ((X) * (0.9))\n    change x by (X)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n        end\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change x by ((X) * (-1))\n                    change y by (-4)\n                    if <key (up arrow v) pressed?> then\n                        if <(X) > [0]> then\n                            set [x v] to [-5]\n                        else\n                            set [x v] to [5]\n                        end\n                        set [y v] to [10]\n                    else\n                        set [y v] to [0]\n                    end\n                end\n            end\n        end\n    end\n    if <not <touching color (#000000)?>> then\n        change [y v] by (-1)\n        change y by (Y)\n    end\n    if <touching color (#000000)?> then\n        change y by ((Y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#000000)?> then\n        if <key (up arrow v) pressed?> then\n            set [y v] to [15]\n        end\n    end\n    change y by (1)\n    if <(x position) > [415]> then\n        switch backdrop to (next backdrop v)\n        go to x: (-60) y: (-47)\n        change [level v] by (1)\n    end\n    if <(y position) < [-130]> then\n        go to x: (-60) y: (-47)\n        change [lives v] by (-1)\n    end\n    if <touching color (#ff0000)?> then\n        go to x: (-60) y: (-47)\n        change [lives v] by (-1)\n    end\n    if <touching color (#2b8de9)?> then\n        if <key (up arrow v) pressed?> then\n            set [y v] to [5]\n        else\n            set [y v] to [-1]\n        end\n        if <key (down arrow v) pressed?> then\n            set [y v] to [-5]\n        end\n    end\n    if <touching color (#e9ff00)?> then\n        set [y v] to [20]\n    end\n    if <(Level) = [101]> then\n        hide variable [level v]\n        speak [Congratulations, you win!]::tts\n        wait (20) seconds\n    end\n    if <touching color (#0046ff)?> then\n        broadcast (message1 v)\n    end\nend\n\nwhen I receive [message1 v]\ngo to x: (-51) y: (40)\nchange [level v] by (1)\n\nwhen flag clicked\nhide variable [skips v]\nset [skips v] to [3]\n\ngo to (random position v)\n\nwhen I receive [finish intro v]\nforever\n    wait (1) seconds\n    change [time v] by (1)\n    if <<(☁ World Record) > (Time)> and <(backdrop [number v]) = [101]>> then\n        if <(Level) = [101]> then\n            set [☁ world record v] to (Time)\n        end\n        show variable [☁ world record v]\n        stop [all v]\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nhide variable [☁ world record v]\nhide variable [level v]\nhide variable [time v]\n\nwhen I receive [finish intro v]\nshow variable [☁ world record v]\nPLATFORMER BLOCK\n\nwhen I receive [they have seen inside v]\nstop [all v]\n\nwhen this sprite clicked\nstop [all v]\n\nwhen flag clicked\nforever\n    if <key (s v) pressed?> then\n        wait (.2) seconds\n        next backdrop\n        change [skips v] by (-1)\n    end\n    if <(skips) = [0]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [finish intro v]\nforever\n    play sound [Classical Piano v] until done\nend\n\n@Moving Platform\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [backdrop64 v]\n\ngo to x: (-197) y: (9)\nshow\nif <(backdrop [number v]) < [64]> then\n    stop [this script v]\nelse\n    Moving Platform\nend\n\nwhen backdrop switches to [backdrop65 v]\n\ngo to x: (-197) y: (9)\nMoving Platform\n\ndefine Moving Platform\nforever\n    move (8) steps\n    if on edge, bounce\nend\n\n@Intro2\n\nwhen I receive [intro v]\nstart sound [Virtual Riot - Idols v]\nwait until <(IntroEnd) = [1]>\nrepeat (100)\n    change volume by (-1)\nend\n\nwhen flag clicked\nset [introdrop v] to [0]\nset [introend v] to [0]\nhide\nbroadcast (Intro v)\nwait (6) seconds\nbroadcast (Finish Intro v)\n\nwhen I start as a clone\nswitch costume to (IntroSprite)\n\nwhen I start as a clone\nif <(IntroSprite) = [Logo]> then\n    set size to (0) %\n    point in direction (90)\n    go to x: (0) y: (1000)\n    go to [front v] layer\n    clear graphic effects\n    show\n    repeat (30)\n        change size by (((70) - (size)) / (5))\n        change y by (((0) - (y position)) / (5))\n    end\n    wait (1) seconds\n    repeat (30)\n        change size by (((size) - (151)) / (5))\n        change y by (((y position) - (1)) / (5))\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\nwhen I receive [intro v]\nset [introspritetype v] to [Background]\nset [introsprite v] to [Background1]\ncreate clone of (_myself_ v)\nwait (0.5) seconds\nset [introsprite v] to [Background2]\ncreate clone of (_myself_ v)\nwait (0.4) seconds\nset [introsprite v] to [Background3]\ncreate clone of (_myself_ v)\nwait (0.6) seconds\nset [introspritetype v] to [0]\nset [introsprite v] to [Lets Go]\ncreate clone of (_myself_ v)\nwait (0.6) seconds\nset [introdrop v] to [1]\nParticles\nwait (0.01) seconds\nset [introsprite v] to [Logo]\ncreate clone of (_myself_ v)\nwait (0.01) seconds\nset [introspritetype v] to [Circle]\nset [introsprite v] to [Circle1]\ncreate clone of (_myself_ v)\nwait (0.05) seconds\nset [introsprite v] to [Circle2]\ncreate clone of (_myself_ v)\nwait (0.05) seconds\nset [introsprite v] to [Circle3]\ncreate clone of (_myself_ v)\nwait (0.05) seconds\nset [introsprite v] to [Circle4]\ncreate clone of (_myself_ v)\nwait (0.05) seconds\nset [introsprite v] to [Circle5]\ncreate clone of (_myself_ v)\nwait (0.05) seconds\nset [introsprite v] to [Circle6]\ncreate clone of (_myself_ v)\n\ndefine Particles\nset [introsprite v] to [Particle]\nrepeat (50)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(IntroSprite) = [Particle]> then\n    go to [front v] layer\n    go [backward v] (1) layers\n    set size to (100) %\n    set [ghost v] effect to (pick random (30) to (50))\n    set [color v] effect to (pick random (0) to (20))\n    set [brightness v] effect to (pick random (0) to (20))\n    go to x: (0) y: (0)\n    show\n    set [introparticle1 v] to (pick random (0) to (20))\n    set [introparticle2 v] to (pick random (-10) to (10))\n    set [introparticle3 v] to [0]\n    repeat until <<touching (_edge_ v)?> or <(size) < [17]>>\n        change x by (IntroParticle2)\n        change y by (IntroParticle1)\n        change size by (IntroParticle3)\n        change [introparticle1 v] by (-1)\n        change [introparticle3 v] by (-0.2)\n    end\n    delete this clone\nend\n\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(IntroSpriteType) = [Background]> then\n    set size to (100) %\n    point in direction (90)\n    go to x: (0) y: (-348)\n    go to [front v] layer\n    clear graphic effects\n    show\n    repeat (15)\n        change y by (((y position) - (-349)) / (3))\n    end\n    set [brightness v] effect to (50)\n    go to x: (0) y: (0)\n    repeat (10)\n        change [brightness v] effect by (-5)\n    end\nend\n\nwait (0.4) seconds\n\nwhen I start as a clone\nif <(IntroSprite) = [Lets Go]> then\n    set size to (100) %\n    point in direction (90)\n    go to x: (0) y: (-1000)\n    go to [front v] layer\n    clear graphic effects\n    show\n    repeat (15)\n        change y by (((0) - (y position)) / (3))\n        change size by (((size) - (101)) / (3))\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IntroSpriteType) = [Circle]> then\n    set size to (0) %\n    point in direction (90)\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\n    go to [front v] layer\n    show\n    repeat (30)\n        change size by (((100) - (size)) / (5))\n        change [ghost v] effect by (-5)\n    end\n    wait (1) seconds\n    repeat (30)\n        change size by (((size) - (99)) / (5))\n        change [ghost v] effect by (4)\n    end\nend\n\nwhen I start as a clone\nif <(IntroSpriteType) = [Background]> then\n    wait (4.5) seconds\n    set [introend v] to [1]\n    repeat (20)\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\nwhen flag clicked\nset volume to (100) %\n\nParticles\n\nParticles\n\n@SEE INSIDE Detector\n\nwhen [timer v] > (0.01)\nif <(my variable) = [1]> then\n    set [my variable v] to [0]\n    SEE INSIDE\n    forever\n        reset timer\n    end\nelse\n    set [my variable v] to [1]\n    broadcast (SEE INSIDE ? v)\nend\n\nwhen I receive [see inside ? v]\nif <(my variable) = [1]> then\n    set [my variable v] to [0]\n    reset timer\n    forever\n        while <<(timer) < [0.2]> and <(my variable) = [0]>>\n            reset timer\n            set [my variable v] to [0]\n        end\n        if <(timer) > [0.01]> then\n            set [my variable v] to [1]\n        end\n    end\nend\n\ndefine SEE INSIDE\nstop [all v]\n\nwhen flag clicked\nbroadcast (SEE INSIDE ? v)\nforever\n    set [checktime v] to (timer)\nend\n\nwhen [timer v] > (CHECKTIME)\nstop [other scripts in sprite v]\n\nwhen flag clicked\nwait (2) seconds\n\n