Wild Woods (Platformer + Scrolling)

Instructions: AWSD or Arrow Keys to move.\nPress R to restart a level.\nPress N to skip a level.\nHave fun!\nOther popular Crystal games:\nhttps://scratch.mit.edu/projects/226954920/\nhttps://scratch.mit.edu/projects/236784268/\nPart 2 https://scratch.mit.edu/projects/244213456/

@Stage\n\nwhen flag clicked\nforever\n    play sound [Owl-City-Fireflies-Instrumental-\(Remake-by-Mike-Kalombo\)-for-Spoofers-Parodies-Youtubecovers\[www.savevid.com\]\(1\) v] until done\nend\n\nwhen flag clicked\nswitch backdrop to (blank v)\n\n@Title Page\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (0)\nshow\nwait (2) seconds\nrepeat (10)\n    change [ghost v] effect by (25)\n    wait (0.05) seconds\nend\nwait (1) seconds\nset [ghost v] effect to (0)\nswitch costume to (costume2 v)\nwait (1) seconds\nrepeat (4)\n    next costume\n    wait (1) seconds\nend\nrepeat (10)\n    change [ghost v] effect by (25)\n    wait (0.05) seconds\nend\nset [ghost v] effect to (0)\nswitch costume to (costume7 v)\n\n@Sushi\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nset [level v] to [1]\nshow\nswitch costume to (sushi v)\ngo to x: (-183) y: (180)\nforever\n    if <touching (goal v)?> then\n        go to x: (-183) y: (-85)\n        broadcast (next backdrop v)\n    end\n    if <touching (sushi friends v)?> then\n        hide\n        broadcast (sushi v)\n        speak [You got back to your friends, Good Job!]::tts\n    end\n    change [y vel v] by (-0.9)\n    if <key (right arrow v) pressed?> then\n        change [x vel v] by (3)\n    end\n    if <key (left arrow v) pressed?> then\n        change [x vel v] by (-3)\n    end\n    change x by (X vel)\n    set [x vel v] to ((X vel) * (0.6))\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 (1)\n                        if <touching (level v)?> then\n                            change y by (1)\n                            if <touching (level v)?> then\n                                change x by (3)\n                                if <touching color (#b2b2b2)?> then\n                                    go to x: (-183) y: (-75)\n                                end\n                                change x by (-6)\n                                if <touching color (#b2b2b2)?> then\n                                    go to x: (-183) y: (-75)\n                                end\n                                change x by (3)\n                                change x by ((X vel) * (-2))\n                                change x by (-1)\n                                change y by (-5)\n                                change x by (1)\n                                if <<key (up arrow v) pressed?> or <(jump) = [1]>> then\n                                    if <(X vel) > [0]> then\n                                        set [x vel v] to [-6]\n                                    else\n                                        set [x vel v] to [6]\n                                    end\n                                    set [y vel v] to [10]\n                                else\n                                    set [x vel v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (Y vel)\n    if <touching (level v)?> then\n        change y by ((Y vel) * (-1))\n        set [y vel v] to [0]\n        change y by (-3)\n        if <touching color (#b2b2b2)?> then\n            go to x: (-183) y: (-75)\n        end\n        change y by (3)\n    end\n    change y by (-1)\n    if <touching (level v)?> then\n        if <<key (up arrow v) pressed?> or <(jump) = [1]>> then\n            set [y vel v] to [15]\n        end\n    end\n    if <touching color (#b2b2b2)?> then\n        go to x: (-183) y: (-85)\n    end\nend\n\nwhen I receive [right v]\nchange [x vel v] by (3)\n\nwhen I receive [left v]\nchange [x vel v] by (-3)\n\n@Goal\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n@Sushi Friends\n\nwhen flag clicked\nhide\n\nwhen I receive [sushi v]\nhide\nbroadcast (next backdrop v)\n\nwhen I receive [eh v]\nshow\n\n@Mobile Controller\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\nset [ghost v] effect to (50)\n\nwhen I start as a clone\nset [xx v] to (x position)\nset [yy v] to (y position)\nset [jump v] to [0]\ngo to [front v] layer\nswitch costume to (costume2 v)\nforever\n    if <mouse down?> then\n        if <(distance to [mouse-pointer v]) < [100]> then\n            if <[49] < (distance to [sprite1 v])> then\n                change y by ((5) - ((10) * <(y position) > (yy)>))\n                change x by ((5) - ((10) * <(x position) > (xx)>))\n            end\n            if <(distance to [sprite1 v]) < [50]> then\n                go to (mouse-pointer v)\n            end\n        end\n    else\n        go to x: (175) y: (-116)\n    end\n    if <(x position) > ((xx) + (5))> then\n        broadcast (right v)\n    end\n    if <((xx) + (-5)) > (x position)> then\n        broadcast (left v)\n    end\n    if <(y position) > ((yy) + (10))> then\n        set [jump v] to [1]\n    else\n        set [jump v] to [0]\n    end\nend\n\nwhen I receive [start v]\nshow\ngo to x: (175) y: (-116)\ngo to [front v] layer\ncreate clone of (_myself_ v)\n\nwhen I receive [sushi v]\nhide\n\n@Level\n\nwhen flag clicked\nswitch costume to (blank v)\nwait (10) seconds\nswitch costume to (backdrop1 v)\nbroadcast (start v)\n\nwhen I receive [next backdrop v]\nnext costume\nif <(costume [number v]) = [14]> then\n    broadcast (eh v)\nend\n\nwhen flag clicked\nswitch costume to (blank v)\nwait (10) seconds\nset voice to (alto v)::tts\nset language to (en v)::tts\nspeak [Use arrow keys if your keyboard to move if you're on PC]::tts\nspeak [Use the controller on bottom right if you're on mobile devices]::tts\n\n@Sprite1\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n@精灵8\n\nwhen flag clicked\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [sushi v]\nwait (4) seconds\nforever\n    set size to (pick random (10) to (100)) %\n    go to (random position v)\n    create clone of (_myself_ v)\n    turn right (pick random (0) to (360)) degrees\n    next costume\n    wait (0.1) seconds\nend\n\nwhen I start as a clone\nshow\nrepeat (50)\n    change x by (1)\n    change y by (-1)\n    move (1) steps\n    turn left (2) degrees\n    change [ghost v] effect by (-1)\nend\nrepeat (50)\n    change x by (1)\n    change y by (-1)\n    move (1) steps\n    change [ghost v] effect by (2)\n    turn left (2) degrees\nend\ndelete this clone\n\n