Cherry - A Scrolling Platformer (Entry) 

Instructions: LOGO CONTEST↓↓\nhttps://scratch.mit.edu/projects/899909238/\n\nNEW Platformer↓↓\nhttps://scratch.mit.edu/projects/905171028/

@Stage\n\n@Player\n\nwhen I receive [start v]\nset [game v] to [1]\nset [ghost v] effect to (0)\nshow\ngo to [front v] layer\ngo to x: (-180) y: (-100)\nset [x v] to [0]\nset [y v] to [0]\nforever\n    if <(Game) = [1]> then\n        if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n            change [x v] by (0.7)\n        end\n    end\n    set [x v] to ((X) * (0.9))\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [x v] by (-0.7)\n    end\n    change x by (X)\n    if <<touching (level v)?> or <touching (ancient door v)?>> then\n        change y by (0.5)\n        if <<touching (level v)?> or <touching (ancient door v)?>> then\n            change y by (0.5)\n            if <<touching (level v)?> or <touching (ancient door v)?>> then\n                change y by (0.5)\n                if <<touching (level v)?> or <touching (ancient door v)?>> then\n                    change y by (0.5)\n                    if <<touching (level v)?> or <touching (ancient door v)?>> then\n                        change y by (0.5)\n                        if <<touching (level v)?> or <touching (ancient door v)?>> then\n                            change y by (0.5)\n                            if <<touching (level v)?> or <touching (ancient door v)?>> then\n                                change y by (0.5)\n                                if <<touching (level v)?> or <touching (ancient door v)?>> then\n                                    change y by (0.5)\n                                    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                                        if <[0] < (X)> then\n                                            set [x v] to [-7]\n                                        else\n                                            set [x v] to [7]\n                                        end\n                                        set [y v] to [10]\n                                    else\n                                        set [x v] to ((X) * (-1.3))\n                                        change x by (X)\n                                        set [x v] to [0]\n                                        change x by ((X) / (5))\n                                    end\n                                    change y by (-4)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-0.5)\n    change y by (Y)\n    if <<touching (level v)?> or <touching (ancient door v)?>> then\n        set [y v] to ((Y) * (-0.25))\n        change y by (Y)\n        if <<touching (level v)?> or <touching (ancient door v)?>> then\n            change y by (Y)\n            if <<touching (level v)?> or <touching (ancient door v)?>> then\n                change y by (Y)\n                if <<touching (level v)?> or <touching (ancient door v)?>> then\n                    change y by (Y)\n                end\n            end\n        end\n    end\n    change y by (-1)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <<touching (level v)?> or <touching (ancient door v)?>>> then\n        set [y v] to [10]\n    end\n    change y by (1)\nend\n\nwhen flag clicked\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\ngo to x: (-180) y: (-100)\ngo to [front v] layer\n\nwhen I receive [secret v]\ngo to x: (179) y: (-90)\n\nwhen I receive [level 6 return v]\ngo to x: (-145) y: (153)\n\nwhen I receive [start v]\nforever\n    if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n        switch costume to (crouch v)\n    else\n        switch costume to (regular v)\n    end\n    if <<<touching (spikes v)?> or <<touching (crushers v)?> or <touching (big boy crusher v)?>>> or <touching (zombie v)?>> then\n        broadcast (oof v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        go to x: (-231) y: (-100)\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [land of gold v]\ngo to x: (-132) y: (-100)\ngo to [front v] layer\n\nwhen flag clicked\nforever\n    play sound [song v] until done\nend\n\n@Level\n\nwhen flag clicked\nswitch costume to (level 1 v)\ngo to x: (36) y: (28)\n\nwhen I receive [start v]\nbroadcast (level 1 v)\n\nwhen I receive [level 1 v]\nswitch costume to (level 1 v)\n\nwhen I receive [next v]\nnext costume\ngo to [front v] layer\ngo [backward v] (1) layers\nif <(costume [number v]) = [5]> then\n    broadcast (Level 5 v)\nend\nif <(costume [number v]) = [6]> then\n    broadcast (Level 6 v)\nend\nif <(costume [number v]) = [7]> then\n    broadcast (Level 7 v)\nend\nif <(costume [number v]) = [8]> then\n    broadcast (Level 8 v)\nend\nif <(costume [number v]) = [9]> then\n    broadcast (Level 9 v)\nend\nif <(costume [number v]) = [10]> then\n    broadcast (Level 10 v)\nend\nif <(costume [number v]) = [11]> then\n    broadcast (Level 11 v)\nend\nif <(costume [number v]) = [4]> then\n    broadcast (Level 4 v)\nend\nif <(costume [number v]) = [3]> then\n    broadcast (level 3 v)\nend\n\nwhen I receive [level 6 v]\nswitch costume to (level 6 v)\n\nwhen I receive [level 6 return v]\nswitch costume to (level 6 v)\n\nwhen I receive [secret v]\nswitch costume to (secret v)\n\nwhen I receive [land of gold v]\nswitch costume to (land of gold v)\nwait (5) seconds\nbroadcast (endend v)\n\n@Spikes\n\nwhen flag clicked\nhide\ngo to [back v] layer\ngo [forward v] (6) layers\n\nwhen I receive [next v]\nnext costume\nshow\ngo to [front v] layer\ngo [backward v] (3) layers\n\nwhen I receive [start v]\nswitch costume to (nothing v)\n\n@Grass\n\nwhen I receive [level 1 v]\nswitch costume to (grass v)\nshow\nwait (1) seconds\ngo to x: (-135) y: (-121)\ngo to [front v] layer\n\nwhen I receive [level 2 v]\ngo to x: (-29) y: (-119)\ngo to [front v] layer\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [level 5 v]\nhide\n\nwhen I receive [level 7 v]\nswitch costume to (sign 1 v)\ngo to x: (-135) y: (-121)\nshow\n\nwhen I receive [level 8 v]\nhide\n\nwhen I receive [level 9 v]\nswitch costume to (sign 2 v)\ngo to x: (-135) y: (-121)\nshow\n\nwhen I receive [level 10 v]\nhide\n\nwhen I receive [level 3 v]\ngo to [front v] layer\nhide\n\n@background + decorationSprite1\n\nwhen I receive [level 1 v]\nset size to (75) %\ngo to x: (106) y: (-88)\nswitch costume to (sign v)\ngo to [back v] layer\ngo [forward v] (5) layers\n\nwhen I receive [next v]\nnext costume\ngo to [back v] layer\ngo [forward v] (5) layers\n\nwhen I receive [secret v]\nswitch costume to (secret background v)\n\nwhen I receive [level 7 v]\nswitch costume to (cave background 3 v)\n\nwhen I receive [level 10 v]\nset size to (100) %\n\nwhen I receive [land of gold v]\nswitch costume to (gold v)\n\n@Sky\n\nwhen flag clicked\nswitch costume to (sky v)\ngo to [back v] layer\n\nwhen I receive [level 10 v]\nswitch costume to (nighttime v)\n\n@Cloud\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [back v] layer\ngo [forward v] (3) layers\ngo to x: (135) y: (120)\nforever\n    change x by (-1.1)\n    if <(x position) = [-306]> then\n        go to x: (180) y: (120)\n    end\nend\n\nwhen I receive [level 10 v]\nswitch costume to (costume2 v)\n\n@Cloud 2\n\nwhen flag clicked\nswitch costume to (cloud 2 v)\ngo to [back v] layer\ngo [forward v] (4) layers\ngo to x: (135) y: (21)\nforever\n    change x by (-1.4)\n    if <(x position) = [-311]> then\n        go to x: (180) y: (21)\n    end\nend\n\nwhen I receive [level 10 v]\nswitch costume to (costume1 v)\n\n@Menu\n\nwhen I receive [start v]\nhide\n\nwhen flag clicked\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\n\n@Play\n\nwhen this sprite clicked\nif <(costume [name v]) = [play]> then\n    wait until <not <mouse down?>>\n    broadcast (start v)\n    hide\nend\n\ndefine Bounce to Size (target size) Force (force)\nset [speed v] to (((speed) * (0.9)) + (force))\nchange size by (speed)\nif <<(size) > (target size)> = <(force) > [0]>> then\n    set size to (target size) %\n    set [speed v] to ((-0.8) * (speed))\n    if <([abs v] of (speed) ) < [4]> then\n        set [speed v] to [0]\n    end\nend\n\nwhen flag clicked\ngo to [front v] layer\nshow\nswitch costume to (play v)\ngo to x: (-9) y: (-124)\ngo to [front v] layer\ngo [forward v] (1) layers\nforever\n    if <touching (mouse-pointer v)?> then\n        Bounce to Size [125] Force [2]\n    else\n        Bounce to Size [100] Force [-2]\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (0)\nshow\nset [game v] to [0]\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (5)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n@Finish\n\nwhen I receive [level 1 v]\nswitch costume to (full finish v)\nshow\ngo to x: (36) y: (28)\ngo to [back v] layer\nforever\n    if <touching (player v)?> then\n        broadcast (NEXT v)\n    end\nend\n\nwhen I receive [secret v]\nhide\n\nwhen I receive [level 6 return v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [level 11 v]\nhide\n\nwhen I receive [level 4 v]\nshow\nswitch costume to (small finish v)\n\nwhen I receive [level 5 v]\nshow\nswitch costume to (full finish v)\n\nwhen I receive [level 7 v]\ngo to x: (26) y: (300)\nshow\nswitch costume to (small finish v)\n\nwhen I receive [level 8 v]\ngo to x: (26) y: (29)\nshow\nswitch costume to (full finish v)\n\n@Location\n\nwhen I receive [next v]\nnext costume\ngo to [front v] layer\ngo [backward v] (1) layers\n\nwhen flag clicked\nswitch costume to (1 v)\n\nwhen I receive [secret v]\nswitch costume to (secret v)\n\nwhen I receive [level 6 return v]\nswitch costume to (6 v)\n\nwhen I receive [level 7 v]\nswitch costume to (7 v)\n\nwhen I receive [land of gold v]\nshow\nswitch costume to (gold v)\ngo to [front v] layer\ngo [backward v] (1) layers\n\nwhen I receive [level 5 v]\ngo to [front v] layer\n\nwhen I receive [level 8 v]\ngo to [front v] layer\n\nwhen I receive [level 5 v]\ngo to [front v] layer\n\n@Ancient Door\n\nwhen I receive [level 5 v]\nswitch costume to (ancient door v)\nshow\ngo to [back v] layer\ngo [forward v] (6) layers\ngo to x: (36) y: (28)\nforever\n    if <touching (player v)?> then\n        if <(key) = [1]> then\n            repeat (40)\n                change y by (2.5)\n            end\n            stop [this script v]\n        else\n            wait (0.1) seconds\n            broadcast (no key v)\n        end\n    end\nend\n\nwait (0.05) seconds\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\nhide\n\nwhen I receive [level 9 v]\nswitch costume to (wooden steps v)\ngo to [front v] layer\nshow\n\nwhen I receive [level 10 v]\nhide\n\nwhen I receive [level 11 v]\nswitch costume to (artifact v)\nshow\n\nwhen I receive [level 11 v]\nswitch costume to (artifact v)\nshow\ngo to [back v] layer\ngo [forward v] (6) layers\ngo to x: (36) y: (28)\nforever\n    if <touching (player v)?> then\n        if <(artifact) = [1]> then\n            switch costume to (artifact v)\n        else\n            broadcast (no artifact v)\n        end\n    end\nend\n\nwhen I receive [artifact ending v]\nswitch costume to (artifact 2 v)\nshow\ngo to [back v] layer\ngo [forward v] (6) layers\ngo to x: (36) y: (28)\nwait (2) seconds\nbroadcast (secret ending v)\n\nwhen I receive [land of gold v]\nhide\n\n@no key + no artifact\n\nwhen I receive [no key v]\nwait (0.1) seconds\nswitch costume to (no key lol v)\nshow\nwait (1.9) seconds\nhide\n\nwhen I receive [no artifact v]\ngo to [front v] layer\nswitch costume to (no artifact lol v)\nshow\nwait (1.9) seconds\nhide\n\nwhen flag clicked\nhide\n\n@Ancient Key\n\nwhen I receive [level 5 v]\nshow\ngo to [front v] layer\ngo to x: (112) y: (68)\nforever\n    if <touching (player v)?> then\n        set [key v] to [1]\n        forever\n            go to (player v)\n            if <touching (ancient door v)?> then\n                hide\n            end\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [level 11 v]\nset [key v] to [-10]\nstop [this script v]\n\n@Zombie\n\nwhen I receive [level 6 v]\nset [game v] to [1]\nset [ghost v] effect to (0)\nshow\nset [xc v] to [0]\nset [yc v] to [0]\nforever\n    if <(Game) = [1]> then\n        if <(forward clone 1) = [1]> then\n            change [xc v] by (0.7)\n        end\n    end\n    set [xc v] to ((XC) * (0.9))\n    if <(backward clone 1) = [1]> then\n        change [xc v] by (-0.7)\n    end\n    change x by (XC)\n    if <touching (level v)?> then\n        change y by (0.5)\n        if <touching (level v)?> then\n            change y by (0.5)\n            if <touching (level v)?> then\n                change y by (0.5)\n                if <touching (level v)?> then\n                    change y by (0.5)\n                    if <touching (level v)?> then\n                        change y by (0.5)\n                        if <touching (level v)?> then\n                            change y by (0.5)\n                            if <touching (level v)?> then\n                                change y by (0.5)\n                                if <touching (level v)?> then\n                                    change y by (0.5)\n                                    if <(jump clone 1) = [1]> then\n                                        if <[0] < (XC)> then\n                                            set [xc v] to [-7]\n                                        else\n                                            set [xc v] to [7]\n                                        end\n                                        set [yc v] to [10]\n                                    else\n                                        set [xc v] to ((XC) * (-1.3))\n                                        change x by (XC)\n                                        set [xc v] to [0]\n                                        change x by ((XC) / (5))\n                                    end\n                                    change y by (-4)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yc v] by (-0.5)\n    change y by (YC)\n    if <touching (level v)?> then\n        set [yc v] to ((YC) * (-0.25))\n        change y by (YC)\n        if <touching (level v)?> then\n            change y by (YC)\n            if <touching (level v)?> then\n                change y by (YC)\n                if <touching (level v)?> then\n                    change y by (YC)\n                end\n            end\n        end\n    end\n    change y by (-1)\n    if <<(jump clone 1) = [1]> and <touching (level v)?>> then\n        set [yc v] to [10]\n    end\n    change y by (1)\nend\n\nwhen I receive [level 6 v]\ngo to [front v] layer\nshow\ngo to x: (128) y: (-100)\nforever\n    set [backward clone 1 v] to [1]\n    wait (1.2) seconds\n    set [backward clone 1 v] to [0]\n    wait (0.5) seconds\n    set [forward clone 1 v] to [1]\n    wait (1.2) seconds\n    set [forward clone 1 v] to [0]\n    wait (0.5) seconds\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [oof v]\ngo to x: (128) y: (-100)\n\nwhen I receive [next v]\nhide\n\nwhen I receive [secret v]\nhide\n\nwhen I receive [level 6 return v]\ngo to x: (128) y: (-100)\nshow\n\n@Ominous Glow\n\nwhen I receive [level 6 v]\ngo to [front v] layer\nshow\ngo to x: (36) y: (28)\nswitch costume to (glow v)\nforever\n    glide (1) secs to x: (40) y: (28)\n    glide (1) secs to x: (36) y: (28)\nend\n\nwhen I receive [level 6 v]\nshow\ngo to x: (36) y: (28)\nforever\n    if <touching (player v)?> then\n        broadcast (secret v)\n    end\nend\n\nwhen I receive [next v]\nhide\n\nwhen I receive [secret v]\nhide\n\nwhen flag clicked\nhide\n\n@Anonymous Dialogue\n\nwhen I receive [secret v]\ngo to [front v] layer\nwait (2) seconds\nshow\nswitch costume to (1 v)\nwait (2) seconds\nswitch costume to (2 v)\nbroadcast (Ancient Artifact v)\nwait (2) seconds\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [land of gold v]\nswitch costume to (3 v)\nshow\ngo to [front v] layer\nwait (2) seconds\nhide\n\n@Ancient Artifact\n\nwhen I receive [ancient artifact v]\ngo to [front v] layer\nset [artifact v] to [1]\nshow\nforever\n    go to (player v)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [level 11 v]\nforever\n    if <touching (ancient door v)?> then\n        hide\n        broadcast (artifact ending v)\n    end\nend\n\n@Level 6 Go Back\n\nwhen I receive [ancient artifact v]\ngo to [front v] layer\nshow\ngo to x: (36) y: (28)\nforever\n    if <touching (player v)?> then\n        broadcast (Level 6 Return v)\n        hide\n    end\nend\n\nwhen flag clicked\nhide\n\n@Crushers\n\nwhen I receive [level 8 v]\ngo to [front v] layer\nshow\ngo to x: (15) y: (261)\nforever\n    repeat (6)\n        change y by (-40)\n    end\n    wait (1.7) seconds\n    repeat (6)\n        change y by (40)\n    end\n    wait (1.5) seconds\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\nhide\n\n@Big Boy Crusher\n\nwhen I receive [level 8 v]\nshow\ngo [backward v] (3) layers\ngo to [front v] layer\ngo to x: (36) y: (261)\nforever\n    wait (5) seconds\n    repeat (6)\n        change y by (-45)\n    end\n    wait (1.7) seconds\n    repeat (6)\n        change y by (45)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\nhide\n\n@Text\n\nwhen I receive [level 10 v]\ngo to [front v] layer\nshow\nswitch costume to (1 v)\nwait (2) seconds\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [level 11 v]\ngo to [front v] layer\nshow\nswitch costume to (2 v)\nwait (2) seconds\nhide\n\n@Legendary Chest\n\nwhen I receive [level 11 v]\ngo to [front v] layer\ngo [backward v] (20) layers\nswitch costume to (chest 1 v)\nshow\ngo to x: (23) y: (-71)\nforever\n    if <<touching (player v)?> and <key (e v) pressed?>> then\n        switch costume to (open 1 v)\n        wait (0.1) seconds\n        switch costume to (open 2 v)\n        wait (0.1) seconds\n        switch costume to (open 3 v)\n        wait (0.1) seconds\n        switch costume to (open 4 v)\n        wait (0.1) seconds\n        switch costume to (open 5 v)\n        wait (0.1) seconds\n        wait (1) seconds\n        broadcast (ending v)\n    end\nend\n\nwhen I receive [land of gold v]\nhide\n\nwhen flag clicked\nhide\n\n@The End\n\nwhen I receive [ending v]\ngo to [front v] layer\ngo to x: (0) y: (-16)\nswitch costume to (the end v)\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (4) seconds\nswitch costume to (2 v)\nwait (7) seconds\nswitch costume to (3 v)\n\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\nhide\n\n@The End 2\n\nwhen I receive [secret ending v]\ngo to [front v] layer\ngo to x: (0) y: (-16)\nswitch costume to (the end v)\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nbroadcast (Land of Gold v)\n\nwhen flag clicked\nhide\n\nwhen I receive [endend v]\ngo to [front v] layer\nset [ghost v] effect to (100)\nswitch costume to (2 v)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (8) seconds\nswitch costume to (3 v)\n\n@Sound\n\n@SECRET: attention!!\n\n