Darkness - A platformer
@Stage\n\nwhen flag clicked\nforever\n    play sound [scary v] until done\nend\n\n@Blank\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\n@Player\n\nwhen I receive [restart v]\nset [xs v] to [0]\nset [ys v] to [0]\ngo to x: (-190) y: (50)\n\ndefine Reset and Begin\nset [level v] to [1]\ngo to [front v] layer\nshow\n\nwhen flag clicked\nbroadcast (Start v)\n\nwhen I receive [start v]\nReset and Begin\nCheck Touching Solid\nset size to (130) %\nshow\npoint in direction (90)\ngo to x: (-190) y: (20)\nset [xs v] to [0]\nset [ys v] to [0]\nforever\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> then\n        change [xs v] by (1.5)\n        switch costume to (right v)\n    end\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        change [xs v] by (-1.5)\n        switch costume to (left v)\n    end\n    if <not <<key (right arrow v) pressed?> or <<key (left arrow v) pressed?> or <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<key (a v) pressed?> or <<key (d v) pressed?> or <<<mouse down?> and <(mouse x) > (x position)>> or <<mouse down?> and <(mouse x) < (x position)>>>>>>>>>> then\n        switch costume to (normal v)\n    end\n    change x by (Xs)\n    if <touching (level v)?> then\n        change x by ((Xs) * (-1))\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            if <(Xs) > [0]> then\n                set [xs v] to [-15]\n                set [ys v] to [10]\n            else\n                set [xs v] to [15]\n                set [ys v] to [10]\n            end\n        else\n            set [xs v] to [0]\n        end\n    else\n        set [xs v] to ((Xs) * (0.8))\n    end\n    change y by (Ys)\n    if <touching (level v)?> then\n        change y by ((Ys) * (-1))\n        set [ys v] to [0]\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            switch costume to (player - up v)\n            if <(Jumping) = [yes]> then\n                set [ys v] to [12]\n                set [jumping v] to [no]\n            end\n        end\n    else\n        change [ys v] by (-1)\n        set [jumping v] to [yes]\n    end\n    if <(x position) > [239]> then\n        set size to (130) %\n        change [level v] by (1)\n        go to x: (-196) y: (20)\n        set [xs v] to [0]\n        set [ys v] to [0]\n    end\n    if <<<touching (spikes v)?> or <(y position) < [-178]>> or <touching (monster v)?>> then\n        set size to (130) %\n        set [xs v] to [0]\n        set [ys v] to [0]\n        go to x: (-196) y: (15)\n    end\nend\n\ndefine Check Touching Solid\nif <touching (level v)?> then\n    set [touching v] to [1]\nelse\n    set [touching v] to [0]\nend\n\n@Level\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\n@Spikes\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\n@Light\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go to x: ([x position v] of [player v]) y: ([y position v] of [player v])\nend\n\n@Decor\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    switch costume to (Level)\nend\n\n@Monster\n\nwhen flag clicked\nforever\n    if <<(Level) = [4]> or > then\n        show\n        set size to (130) %\n        show\n        go to x: (200) y: (60)\n        set [new strategy v] to [0]\n        set [jumps in a row v] to [0]\n        set [enemy y v] to [0]\n        set [enemy x v] to [0]\n        forever\n            move side\n            physics+wall jump\n            Jumping\n            if <not <<(Level) = [4]> or >> then\n                hide\n            end\n            if <<(Level) = [4]> or > then\n                show\n                set size to (130) %\n                show\n                go to x: (200) y: (60)\n                set [new strategy v] to [0]\n                set [jumps in a row v] to [0]\n                set [enemy y v] to [0]\n                set [enemy x v] to [0]\n                forever\n                    move side\n                    physics+wall jump\n                    Jumping\n                    if <not <<(Level) = [4]> or >> then\n                        hide\n                    end\n                end\n            end\n        end\n    else\n    end\nend\n\nif  then\nend\n\ndefine move side\nchange y by (-1)\nif <not <<(new strategy) = [1]> or <(new strategy) = [2]>>> then\n    if <<([y position v] of [player v]) < ((y position) - (5))> and <touching (level v)?>> then\n        change y by (-40)\n        if <not <touching (level v)?>> then\n            change y by (20)\n            change x by (70)\n            change y by (1)\n            if <touching (level v)?> then\n                change x by (-70)\n                change [enemy x v] by (-1)\n                change y by (-1)\n            else\n                change x by (-70)\n                change [enemy x v] by (1)\n                change y by (-1)\n            end\n        else\n            change y by (40)\n            change [enemy x v] by (<(x position) < ([x position v] of [player v])> - <([x position v] of [player v]) < (x position)>)\n        end\n    else\n        change [enemy x v] by (<(x position) < ([x position v] of [player v])> - <([x position v] of [player v]) < (x position)>)\n    end\n    if <(jumps in a row) > [3]> then\n        set [jumps in a row v] to [0]\n        set [new strategy v] to [1]\n    end\nelse\n    if <(jumps in a row) < [150]> then\n        if <[2] = (new strategy)> then\n            change [enemy x v] by (-1)\n        else\n            if <touching (level v)?> then\n                change y by (-40)\n                if <not <touching (level v)?>> then\n                    change y by (40)\n                    if <<<[-62] > (x position)> and <[55] > (y position)>> and <([y position v] of [player v]) > (y position)>> then\n                        change [enemy x v] by (1)\n                        if <<(x position) > [-100]> and <touching (level v)?>> then\n                            set [enemy y v] to [15]\n                        end\n                    else\n                        change [enemy x v] by (-1)\n                        if <<[20] > (x position)> and <touching (level v)?>> then\n                            set [enemy y v] to [15]\n                            set [new strategy v] to [2]\n                        end\n                    end\n                else\n                    change y by (40)\n                    if <<[-61] > ([x position v] of [player v])> and <([y position v] of [player v]) > (y position)>> then\n                        change [enemy x v] by (-1)\n                    else\n                        if <((y position) - (20)) > ([y position v] of [player v])> then\n                            change [enemy x v] by (-1)\n                        else\n                            change [enemy x v] by (1)\n                        end\n                    end\n                end\n            else\n                change [enemy x v] by (1)\n            end\n        end\n    else\n        set [jumps in a row v] to [0]\n        set [new strategy v] to [0]\n    end\n    change [jumps in a row v] by (1)\n    if <touching (_edge_ v)?> then\n        change [jumps in a row v] by (2)\n    end\nend\nchange y by (1)\n\ndefine physics+wall jump\nset [enemy x v] to ((enemy x) * (0.9))\nchange x by (enemy x)\nif <touching (level v)?> then\n    change y by (1)\n    if <touching (level v)?> then\n        change y by (1)\n        if <touching (level v)?> then\n            change y by (1)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change y by (-5)\n                        change x by ((enemy x) * (-1))\n                        if <(enemy x) > [0]> then\n                            set [enemy x v] to [-15]\n                        else\n                            set [enemy x v] to [14]\n                        end\n                        set [enemy y v] to [15]\n                    end\n                end\n            end\n        end\n    end\nend\nchange [enemy y v] by (-1)\nchange y by (enemy y)\nif <touching (level v)?> then\n    change y by ((enemy y) * (-1))\n    set [enemy y v] to [0]\nend\n\ndefine Jumping\nchange y by (-1)\nif <touching (level v)?> then\n    if <((y position) + (1)) < ([y position v] of [player v])> then\n        if <(new strategy) = [0]> then\n            set [enemy y v] to [15]\n            change [jumps in a row v] by (1)\n        end\n    else\n        if <(new strategy) = [0]> then\n            set [jumps in a row v] to [0]\n        end\n    end\nend\nchange y by (1)\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\n    go to [front v] layer\nend\n\n
                                Darkness.\n                 Welcome to my second game. I hope you \n           enjoy. Please love and fave if you want more\n              great games from me! Enjoy!!!\n                            From @-wrld\n ------------------------------------------------------------\n         Reccomended age for this game is 7+\n              This game is mobile friendly!