MOUNTAIN || A Platformer

Instructions:                            -MOBILE FRIENDLY-    \n \nHello there! I apologize to all of you for not sharing a project in a long time. But my lessons were really intense. I will start from scratch more often now, I'll do projects more often. Yes I know this game was shorter than my other games, but if the game is good, I don't need too many levels :) Anyway, let me give information about the project. This game is mobile compatible like my other platform games. It can be played with the right, left, up, down arrow keys on the computer. Unfortunately, it cannot be played with the w-a-s-d keys. If you don't want to hear the sound of the song, there is a button in the lower right corner with a speaker icon. Just click on it, then click again to turn the sound back on. Do not touch the spikes! Otherwise, you will be back. In most sections, there are 2 different ways you can go, whichever is easier for you, you can choose that path. 2 roads will go to the end. You can write your questions in the comments section. Now I expect at least 100 likes. If you like the game, you can press the like button. Have fun...\n\n     

@Stage\n\n@Backdrop\n\nwhen flag clicked\nhide\nwait (12) seconds\nshow\nset size to (100) %\ngo to [back v] layer\nforever\n    set y to (([y position v] of [player v]) * (-0.07))\n    set x to (([x position v] of [player v]) * (-0.07))\nend\n\n@Levels\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    if <(costume [name v]) = [end]> then\n        broadcast (estop v)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nhide\nwait (12) seconds\nshow\n\n@Love fave\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen I receive [intro trigger v]\nhide\nwait (1) seconds\nset [love fave: costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (20) to (25)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    else\n    end\n    if <(Love fave: Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@intro\n\ndefine Intro\nset [intro: sprite1: i v] to [0]\nset [intro: sprite1: i2 v] to [0]\nset [sequence v] to [1]\nhide\nset volume to (200) %\ngo to x: (0) y: (0)\nset size to (100) %\nclear graphic effects\npoint in direction (90)\nstart sound [Intro v]\ngo to x: (0) y: (-150)\nrepeat (5)\n    switch costume to (bar v)\n    create clone of (_myself_ v)\n    change y by (75)\n    wait (0.01) seconds\nend\ngo to x: (0) y: (0)\nwait until <(Sequence) = [2]>\nswitch costume to (dot v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [3]>\nswitch costume to (cover v)\ncreate clone of (_myself_ v)\nwait (.01) seconds\nswitch costume to (s v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [6]>\nswitch costume to (name v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [7]>\nswitch costume to (bg v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [9]>\nswitch costume to (logo v)\ncreate clone of (_myself_ v)\nParticles\nwait (1) seconds\nset [sequence v] to [10]\nwait until <(Sequence) = [11]>\nswitch costume to (slide v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [12]>\nbroadcast (End v) and wait\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    show\n    point in direction (90)\n    go to x: (0) y: (y position)\n    set size to (0) %\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) / (5))\n    end\n    wait (.15) seconds\n    repeat until <(round (size)) = [20]>\n        change [ghost v] effect by (5)\n        change size by (((20) - (size)) / (5))\n        turn right (5) degrees\n    end\n    set [sequence v] to [2]\n    delete this clone\nend\nif <<(costume [number v]) = [2]> or <(costume [number v]) = [3]>> then\n    show\n    switch costume to (dot v)\n    set [ghost v] effect to (100)\n    go to x: (0) y: (50)\n    point in direction (90)\n    set [intro: sprite1: i v] to [16]\n    repeat (40)\n        if <not <(y position) < [0]>> then\n            change [ghost v] effect by (-10)\n            change y by (intro: Sprite1: i)\n            change [intro: sprite1: i v] by (-1.5)\n        end\n    end\n    set y to (0)\n    repeat (15)\n        switch costume to (size hack v)\n        set size to (intro: Sprite1: i) %\n        change size by (((1950) - (size)) / (4))\n        set [intro: sprite1: i v] to (size)\n        switch costume to (dot v)\n    end\n    set [sequence v] to [3]\n    wait until <(Sequence) = [5]>\n    repeat (15)\n        change [ghost v] effect by (7)\n        change size by (((50) - (size)) / (3))\n    end\n    set [sequence v] to [6]\n    delete this clone\nend\nif <(costume [number v]) = [4]> then\n    show\n    set [ghost v] effect to (100)\n    go to x: (0) y: (500)\n    set size to (0) %\n    point in direction (0)\n    repeat (20)\n        change [ghost v] effect by (-10)\n        change y by (((0) - (y position)) / (4))\n        change size by (((100) - (size)) / (4))\n        turn right (((90) - (direction)) / (4)) degrees\n    end\n    wait until <(Sequence) = [4]>\n    set [intro: sprite1: i v] to [15]\n    set [intro: sprite1: i2 v] to [20]\n    repeat (17)\n        change size by (-1)\n        turn right ((x position) / (40)) degrees\n        change [ghost v] effect by (7)\n        change [intro: sprite1: i v] by (-1.5)\n        change y by (intro: Sprite1: i)\n        change x by (intro: Sprite1: i2)\n        set [intro: sprite1: i2 v] to ((intro: Sprite1: i2) * (.9))\n    end\n    delete this clone\nend\nif <(costume [number v]) = [5]> then\n    show\n    set [ghost v] effect to (100)\n    go to x: (0) y: (-500)\n    set size to (200) %\n    point in direction (180)\n    repeat (20)\n        change [ghost v] effect by (-10)\n        change y by (((0) - (y position)) / (4))\n        change size by (((100) - (size)) / (4))\n        turn right (((90) - (direction)) / (4)) degrees\n    end\n    set [sequence v] to [4]\n    set [intro: sprite1: i v] to [15]\n    set [intro: sprite1: i2 v] to [-20]\n    repeat (17)\n        change size by (-2)\n        turn right ((x position) / (40)) degrees\n        change [ghost v] effect by (7)\n        change [intro: sprite1: i v] by (-1.5)\n        change y by (intro: Sprite1: i)\n        change x by (intro: Sprite1: i2)\n        set [intro: sprite1: i2 v] to ((intro: Sprite1: i2) * (.9))\n    end\n    set [sequence v] to [5]\n    delete this clone\nend\nif <(costume [number v]) = [6]> then\n    show\n    set [ghost v] effect to (100)\n    go to x: (0) y: (-500)\n    set size to (0) %\n    point in direction (90)\n    repeat (20)\n        change [ghost v] effect by (-10)\n        change y by (((0) - (y position)) / (4))\n        change size by (((100) - (size)) / (4))\n    end\n    set [sequence v] to [7]\n    wait until <(Sequence) = [8]>\n    delete this clone\nend\nif <(costume [number v]) = [7]> then\n    show\n    clear graphic effects\n    go to x: (0) y: (0)\n    point in direction (90)\n    go to [front v] layer\n    show\n    repeat (3)\n        set [brightness v] effect to (0)\n        wait (0.04) seconds\n        set [brightness v] effect to (100)\n        wait (0.04) seconds\n    end\n    set [sequence v] to [8]\n    set [brightness v] effect to (-100)\n    wait (.1) seconds\n    clear graphic effects\n    set [sequence v] to [9]\n    delete this clone\nend\nif <(costume [number v]) = [8]> then\n    show\n    go to [front v] layer\n    set size to (0) %\n    repeat until <(Sequence) = [10]>\n        set [intro: sprite1: i v] to (((intro: Sprite1: i) * (.8)) + (((120) - (size)) / (5)))\n        change size by (intro: Sprite1: i)\n        point in direction ((90) + ((3) * ([cos v] of ((timer) * (180)) )))\n        set y to ((10) * ([cos v] of (((timer) - (1)) * (200)) ))\n    end\n    repeat until <(round (x position)) = [220]>\n        change size by (((50) - (size)) / (5))\n        change [ghost v] effect by (10)\n        point in direction ((90) + ((3) * ([cos v] of ((timer) * (180)) )))\n        set y to ((10) * ([cos v] of (((timer) - (1)) * (200)) ))\n        change x by (((220) - (x position)) / (5))\n    end\n    set [sequence v] to [11]\n    delete this clone\nend\nif <(costume [number v]) = [9]> then\n    show\n    set size to (pick random (80) to (200)) %\n    set [intro: sprite1: i v] to (pick random (-20) to (20))\n    set [intro: sprite1: i2 v] to (pick random (10) to (20))\n    set [ghost v] effect to (pick random (10) to (30))\n    set [brightness v] effect to (pick random (-20) to (20))\n    repeat until <touching (_edge_ v)?>\n        change [ghost v] effect by (1)\n        change x by (intro: Sprite1: i)\n        change y by (intro: Sprite1: i2)\n        change [intro: sprite1: i2 v] by (-3)\n    end\n    delete this clone\nend\nif <(costume [number v]) = [10]> then\n    show\n    go to x: (-500) y: (-500)\n    repeat (20)\n        go to x: ((x position) / (1.2)) y: ((y position) / (1.2))\n    end\n    wait (.8) seconds\n    repeat (20)\n        change y by (((360) - (y position)) / (5))\n        change [ghost v] effect by (5)\n    end\n    set [sequence v] to [12]\n    delete this clone\nend\n\ndefine Particles\ngo [backward v] (1) layers\nswitch costume to (particle v)\nrepeat (15)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [intro trigger v]\nIntro\n\nwhen flag clicked\nwait (1) seconds\nbroadcast (Intro Trigger v)\n\nstop [all v]\n\n@Player\n\nwhen I receive [estop v]\n\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [next level v]\nset [yv v] to [0]\nset [xv v] to [0]\ngo to x: (-200) y: (0)\nset [ghost v] effect to (0)\n\nwhen flag clicked\nhide\nwait (12) seconds\nshow\nwait (1) seconds\npoint in direction (90)\nset [xvel v] to [0]\nset [yvel v] to [0]\nforever\n    set size to (100) %\n    show\n    set rotation style [all around v]\n    if <<<mouse down?> and <(x position) > (mouse x)>> or <key (left arrow v) pressed?>> then\n        change [xv v] by (-1)\n    end\n    if <<<mouse down?> and <(x position) < (mouse x)>> or <key (right arrow 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 (levels v)?> then\n        change y by (1)\n        if <touching (levels v)?> then\n            change y by (1)\n            if <touching (levels v)?> then\n                change y by (1)\n                if <touching (levels v)?> then\n                    change y by (1)\n                    if <touching (levels v)?> then\n                        change y by (1)\n                        if <touching (levels v)?> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <<<mouse down?> and <(y position) < (mouse y)>> or <key (up arrow v) pressed?>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-7]\n                                else\n                                    set [xv v] to [7]\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 y by (-1)\n    if <touching (levels v)?> then\n        if <<<mouse down?> and <(y position) < (mouse y)>> or <key (up arrow v) pressed?>> then\n            set [yv v] to [17]\n        end\n    end\n    change y by (1)\n    change [yv v] by (-1)\n    set [yv v] to ((Yv) * (0.99))\n    change y by (Yv)\n    if <touching (levels v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    hide variable [xv v]\n    if <(x position) > [230]> then\n        broadcast (next level v)\n    end\n    if <(y position) < [-170]> then\n        go to x: (-200) y: (0)\n    end\n    if <touching (spike v)?> then\n        repeat (10)\n            change size by (-10)\n            turn right (5) degrees\n        end\n        set [yv v] to [0]\n        set [xv v] to [0]\n        set size to (100) %\n        set [ghost v] effect to (0)\n        go to x: (-200) y: (0)\n        point in direction (90)\n    end\n    if <touching (trampoline v)?> then\n        set [yv v] to [20]\n    end\n    if <touching (speed v)?> then\n        set [xv v] to [21]\n    end\nend\n\nwhen flag clicked\nwait (12) seconds\ngo to x: (-200) y: (0)\n\n@Speed\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    if <(costume [name v]) = [end]> then\n        broadcast (estop v)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nwait (1) seconds\nshow\n\n@Spike\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nwait (12) seconds\nswitch costume to (costume1 v)\n\nwhen flag clicked\nwait (12) seconds\nforever\n    if <(costume [name v]) = [end]> then\n        broadcast (estop v)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nhide\nwait (12) seconds\nshow\n\nwhen flag clicked\nhide\nwait (12) seconds\nshow\n\n@music\n\nwhen flag clicked\nwait (13) seconds\nforever\n    if <(costume [number v]) = [1]> then\nend\n\nplay sound [Avicii v] until done\n\nwhen backdrop switches to [scene1 v]\n\nwhen backdrop switches to [starting v]\n\nwhen flag clicked\nswitch costume to (button for music-yes v)\nhide\ngo to [front v] layer\ngo [backward v] (2) layers\nforever\n\nwhen flag clicked\nwait (13) seconds\nforever\n    play sound [Avicii v] until done\nend\n\nwhen this sprite clicked\nnext costume\n\nwhen flag clicked\nhide\nwait (13) seconds\nshow\nforever\n\nshow\n\nhide\n\nwhen I receive [intro trigger v]\n\ngo to x: (100) y: (-154)\n\nwhen flag clicked\n\nchange size by (-2)\n\ngo to x: (-18) y: (-146)\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nset y to ((-138) + (([sin v] of (((timer) - (3)) * (200)) ) * (9)))\n\nwhen flag clicked\nforever\n    set y to ((-138) + (([sin v] of (((timer) - (3)) * (200)) ) * (9)))\nend\n\ngo to x: (-14) y: (-141)\n\nwhen this sprite clicked\nif <(volume) = [100]> then\n    set volume to (0) %\n    switch costume to (button for music-no v)\nelse\n    set volume to (100) %\n    switch costume to (button for music-yes v)\nend\n\nforever\n    if <(costume [number v]) = [2]> then\nend\n\nstop all sounds\n\nwhen flag clicked\nwait (13) seconds\nset volume to (100) %\n\nchange size by (2)\n\n@Thumbnail\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\nwhen flag clicked\nshow\nwait (1) seconds\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n