Forest || Platformer

Instructions:  PRESS THE GREEN FLAG TWICE FOR THE GAME TO WORK.  Use arrow keys to move.  Avoid spikes and the void.  (You probably know this already.)\nPLEASE USE FULL SCREEN

@Stage\n\n@Player\n\nwhen flag clicked\nbroadcast (Intro v)\nset [level v] to [1]\ngo to x: (-42) y: (50)\nhide\nset [ghost v] effect to (100)\nforever\n    play sound [Music v] until done\n    wait (20) seconds\nend\n\nwhen I receive [intro v]\nshow\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nforever\n    if <key (right arrow v) pressed?> then\n        switch costume to (right v)\n    end\n    if <key (left arrow v) pressed?> then\n        switch costume to (left v)\n    end\n    if <not <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>>> then\n        switch costume to (idle v)\n    end\n    if <(Exit) = [Okay]> then\n        if <touching color (#88ff8d)?> then\n            set [exit v] to [No]\n            broadcast (Portal v)\n            repeat (10)\n                turn right (65) degrees\n            end\n        end\n    end\n    if <not <touching color (#88ff8d)?>> then\n        set [exit v] to [Okay]\n        point in direction (90)\n    end\nend\n\nwhen I receive [intro v]\nforever\n    set [mousey v] to (mouse y)\n    set [mousex v] to (mouse x)\nend\n\nwhen I receive [portal v]\nif <(Level) = [1]> then\n    glide (0.1) secs to x: (-51) y: (65)\nend\nchange [level v] by (1)\nclear graphic effects\n\nwhen I receive [portal v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nclear graphic effects\n\ngo to x: (-42) y: (50)\n\nwhen I receive [intro v]\nforever\n    if <<touching color (#ff0000)?> or <touching color (#8f0000)?>> then\n        broadcast (Ooooooooof.... v)\n    end\nend\n\nwhen I receive [intro v]\nset [timer v] to [0]\nrepeat until <touching color (#88ff8d)?>\n    wait (1) seconds\n    change [timer v] by (1)\nend\n\nwhen I receive [ooooooooof.... v]\nset [timer v] to [0]\n\n@Level/Platforms\n\nwhen flag clicked\nset rotation style [all around v]\ngo to x: (476) y: (-13)\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [intro v]\nshow\nset [x v] to [0]\nset [y v] to [0]\nset [controls v] to [Yes]\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen I receive [portal v]\ngo to (portal and spikes v)\n\nwhen I receive [intro v]\nforever\n    switch costume to (Level)\n    if <(Controls) = [Yes]> then\n        if <key (left arrow v) pressed?> then\n            change [x v] by (1)\n        end\n        if <key (right arrow v) pressed?> then\n            change [x v] by (-1)\n        end\n        change x by (x)\n        if <touching (player v)?> then\n            change x by ((x) * (-1))\n            set [x v] to [0]\n        else\n            set [x v] to ((x) * (0.8))\n        end\n        change y by (y)\n        if <touching (player v)?> then\n            change y by ((y) * (-1))\n            set [y v] to [0]\n            if <(LOCK) = [No]> then\n                if <key (up arrow v) pressed?> then\n                    change [y v] by (-11)\n                    set [lock v] to [Yes]\n                end\n            end\n        else\n            change [y v] by (1)\n            set [lock v] to [No]\n        end\n    end\n    if <(Level) = [1]> then\n        if <(y position) = [274]> then\n            broadcast (Ooooooooof.... v)\n        end\n    end\n    if <(Level) = [2]> then\n        if <(y position) = [429]> then\n            go to x: (-472) y: (95)\n        end\n    end\n    if <(Level) = [3]> then\n        if <(y position) = [246]> then\n            broadcast (Ooooooooof.... v)\n        end\n    end\nend\n\nwhen I receive [ooooooooof.... v]\nif <(Level) = [1]> then\n    go to x: (476) y: (-13)\nend\nif <(Level) = [2]> then\n    go to x: (-472) y: (95)\nend\nif <(Level) = [3]> then\n    go to x: (476) y: (-13)\nend\n\nwhen I receive [portal v]\nset [controls v] to [Yes]\n\nif <(Level) = [4]> then\n    if <(y position) = [338]> then\n        broadcast (Ooooooooof.... v)\n    end\nend\n\n@Portal and Spikes\n\nwhen flag clicked\nhide\n\nwhen I receive [intro v]\nshow\nswitch costume to (portal v)\nforever\n    switch costume to (Level)\n    go to (level/platforms v)\nend\n\nwhen I receive [intro v]\nswitch costume to (level 1 v)\n\nwhen I receive [portal v]\nhide\nwait (1) seconds\nshow\n\n@Trees\n\nwhen flag clicked\nhide\nforever\n    go to [back v] layer\nend\n\nwhen I receive [intro v]\nset [ghost v] effect to (50)\nshow\n\n@Thumbnail\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\nshow\ngo to x: (29) y: (-109)\nclear graphic effects\n\n