Fun Facts, a Platformer, 2

Instructions: -Use the arrow keys or WAD to move\n-Touch the blue dot to proceed to the next level\n-Avoid red\n-Orange is bouncy\n-All levels are possible\n-Read the fun facts\n-Have fun!

@Stage\n\n@Sprite1\n\nif <key (up arrow 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]\nelse\n    set [xv v] to [0]\nend\n\nif <key (up arrow 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]\nelse\n    set [xv v] to [0]\nend\n\nwhen flag clicked\ndelete (all) of [x v]\ndelete (all) of [y v]\nrepeat (4)\n    add [-230] to [x v]\n    add [-130] to [y v]\nend\nadd [207] to [x v]\nadd [120] to [y v]\nadd [-215] to [x v]\nadd [90] to [y v]\nadd [210] to [x v]\nadd [-115] to [y v]\nadd [-218] to [x v]\nadd [-49] to [y v]\nadd [-214] to [x v]\nadd [19] to [y v]\nadd [-215] to [x v]\nadd [-58] to [y v]\nadd [-220] to [x v]\nadd [-80] to [y v]\nrepeat (2)\n    add [-230] to [x v]\n    add [-130] to [y v]\nend\nadd [-46] to [x v]\nadd [-125] to [y v]\nadd [-230] to [x v]\nadd [-130] to [y v]\nadd [203] to [x v]\nadd [94] to [y v]\nrepeat (2)\n    add [-223] to [x v]\n    add [100] to [y v]\nend\nadd [195] to [x v]\nadd [-132] to [y v]\nrepeat (2)\n    add [-230] to [x v]\n    add [-130] to [y v]\nend\nadd [-230] to [x v]\nadd [-130] to [y v]\nadd [-230] to [x v]\nadd [-130] to [y v]\nadd [-230] to [x v]\nadd [-130] to [y v]\n\nwhen I receive [message1 v]\nset [x v] to [0]\nset [y v] to [0]\n\nwhen flag clicked\nforever\n    if <(yxno) = [0]> then\n        set [x v] to [0]\n        set [y v] to [0]\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [costume v] to [1]\nshow\ngo to x: (-230) y: (-140)\nset [yxno v] to [1]\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [xv v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\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 y by (1)\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 ((Xv) * (-1))\n                            change y by (-5)\n                            if <key (up arrow 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 (#000000)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#000000)?> then\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [yv v] to [14]\n        end\n    end\n    change y by (1)\n    if <<<touching color (#ff0000)?> or <key (r v) pressed?>> or <[-175] > (y position)>> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        go to x: (item (costume) of [x v]) y: (item (costume) of [y v])\n        broadcast (message1 v)\n        set [y v] to [0]\n        set [x v] to [0]\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        set [yv v] to [0]\n        set [xv v] to [0]\n    end\n    if <touching (sprite3 v)?> then\n        set [yxno v] to [0]\n        broadcast (message1 v)\n        broadcast (message2 v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        go to x: (item (costume) of [x v]) y: (item (costume) of [y v])\n        set [y v] to [0]\n        set [x v] to [0]\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        set [yv v] to [0]\n        set [xv v] to [0]\n    end\n    if <([costume # v] of [sprite2 v]) = [24]> then\n        if <(x position) > [236]> then\n            broadcast (message3 v) and wait\n            go to x: (item (costume) of [x v]) y: (item (costume) of [y v])\n        end\n    end\n    if <touching color (#ff9400)?> then\n        set [yv v] to [25]\n    end\nend\n\nwhen I start as a clone\npoint in direction (pick random (-90) to (180))\nswitch costume to (costume2 v)\nrepeat (10)\n    move (1) steps\n    change size by (-4)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    wait (0.02) seconds\nend\n\nset [yxno v] to [1]\n\n@Sprite2\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset x to (0)\nset y to (0)\nforever\n    set [costume v] to (costume [number v])\nend\n\nwhen I receive [message2 v]\nnext costume\n\nwhen I receive [message3 v]\nswitch costume to (costume2 v)\n\nswitch costume to (costume21 v)\n\n@Sprite3\n\nwhen flag clicked\nclear graphic effects\ngo to x: (-187) y: (-21)\nset size to (150) %\nforever\n    go to x: (item (costume) of [x v]) y: (item (costume) of [y v])\n    if <not <([costume # v] of [sprite2 v]) = [24]>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\ndelete (all) of [x v]\ndelete (all) of [y v]\nadd [-187] to [x v]\nadd [-21] to [y v]\nadd [215] to [x v]\nadd [-135] to [y v]\nadd [-181] to [x v]\nadd [-18] to [y v]\nadd [183] to [x v]\nadd [75] to [y v]\nadd [-200] to [x v]\nadd [-130] to [y v]\nadd [0] to [x v]\nadd [-140] to [y v]\nadd [-210] to [x v]\nadd [90] to [y v]\nadd [220] to [x v]\nadd [-49] to [y v]\nadd [205] to [x v]\nadd [-20] to [y v]\nadd [196] to [x v]\nadd [-89] to [y v]\nadd [211] to [x v]\nadd [-126] to [y v]\nadd [-205] to [x v]\nadd [41] to [y v]\nadd [208] to [x v]\nadd [-140] to [y v]\nadd [213] to [x v]\nadd [-148] to [y v]\nadd [65] to [x v]\nadd [93] to [y v]\nadd [-200] to [x v]\nadd [68] to [y v]\nadd [-222] to [x v]\nadd [16] to [y v]\nadd [-215] to [x v]\nadd [-40] to [y v]\nadd [-192] to [x v]\nadd [18] to [y v]\nadd [-82] to [x v]\nadd [18] to [y v]\nadd [143] to [x v]\nadd [-152] to [y v]\nadd [-215] to [x v]\nadd [10] to [y v]\nadd [215] to [x v]\nadd [36] to [y v]\nadd [0] to [x v]\nadd [0] to [y v]\n\n@Sprite4\n\nwhen flag clicked\nforever\n    play sound [Vexento - Tevo.mp3 v] until done\nend\n\n@Sprite5\n\nwhen flag clicked\nset size to (500) %\nforever\n    go to x: (0) y: (-86)\n    turn right (5) degrees\n    if <<(costume) = [11]> or <(costume) = [12]>> then\n        show\n    end\n    if <not <<(costume) = [11]> or <(costume) = [12]>>> then\n        hide\n    end\nend\n\n@Sprite6\n\nwhen flag clicked\nshow\nset x to (0)\nset y to (0)\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n