Coding Wars: A Platformer Series: Game One
@Stage\n\nwhen flag clicked\ngo to [front v] layer\nswitch backdrop to (backdrop1 v)\nwait (5) seconds\nswitch backdrop to (backdrop6 v)\n\n@Sprite1\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen flag clicked\ngo to [front v] layer\nswitch backdrop to (backdrop1 v)\nhide\nset size to (35) %\ngo to x: (-218) y: (-120)\nswitch costume to (costume1 v)\n\nwhen I receive [game v]\nshow\nScroll [What the heck????]\nScroll [Where did everyone go????]\nbroadcast (Game Talking v)\n\nwhen I receive [game start v]\nshow\nshow variable [level v]\nshow variable [deaths v]\nbroadcast (1 v)\n\nwhen I receive [2 v]\nforever\n    if <<(x position) > [231]> or <touching color (#4d8800)?>> then\n        go to x: (-218) y: (-120)\n        set [xv v] to [0]\n        set [yv v] to [0]\n        change [level v] by (1)\n        broadcast (Next level v)\n    end\n    if <touching (danger v)?> then\n        go to x: (-218) y: (-120)\n        change [deaths v] by (1)\n    end\n    if <key (r v) pressed?> then\n        go to x: (-218) y: (-120)\n    end\n    if <touching (bounce v)?> then\n        change [yv v] by (20)\n    end\nend\n\nwhen flag clicked\nset [deaths v] to [0]\nset [level v] to [1]\n\nwhen I receive [next level 2 v]\ngo to x: (-218) y: (-120)\nshow\n\nwhen flag clicked\nwait (1) seconds\ngo to [front v] layer\n\nwhen flag clicked\nhide variable [level v]\nhide variable [deaths v]\n\nwhen I receive [no v]\nshow\nshow variable [level v]\nshow variable [deaths v]\nbroadcast (1 v)\n\nwhen I receive [2 v]\npoint in direction (90)\nforever\n    set rotation style [left-right v]\n    if <<key (right arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>> then\n        point in direction (90)\n        switch costume to (run_r1 v)\n        repeat (5)\n            if <<key (right arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>> then\n                next costume\n            end\n        end\n    end\n    if <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n        point in direction (-90)\n        switch costume to (run_r1 v)\n        repeat (5)\n            if <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n                next costume\n            end\n        end\n    end\n    if <<not <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>>> and <<not <<key (right arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>>> and <not <<key (up arrow v) pressed?> or <<(y position) < ((mouse y) + (-30))> and <mouse down?>>>>>> then\n        switch costume to (stand v)\n    end\n    if <key (down arrow v) pressed?> then\n        if <touching (trampoline v)?> then\n            set [y vel v] to [20]\n            switch costume to (run_j1 v)\n        else\n            set [y vel v] to [-20]\n            switch costume to (crouch v)\n        end\n    end\n    if <key (up arrow v) pressed?> then\n        repeat until <not <<key (up arrow v) pressed?> or <<(y position) < ((mouse y) + (-30))> and <mouse down?>>>>\n            switch costume to (run_j1 v)\n        end\n    end\nend\n\nwhen I receive [2 v]\nScroll [You have to get to the far side of the screen to get to the next level. I made this game, but I need your help getting out. Also, don't touch the stop all blocks!!]\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(x position) < (mouse x)> and <mouse down?>>> then\n        switch costume to (costume1 v)\n        change [xv v] by (.5)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<(mouse x) < (x position)> and <mouse down?>>> then\n        switch costume to (costume2 v)\n        change [xv v] by (-.5)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n        change y by (1)\n        if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n            change y by (1)\n            if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n                change y by (1)\n                if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n                    change y by (1)\n                    if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n                        change y by (1)\n                        if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(y position) < ((mouse y) + (-30))> and <mouse down?>>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [13.5]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <<touching color (#4c97ff)?> or <<<touching color (#9966ff)?> or <<touching color (#5099fc)?> or <touching color (#ffbf00)?>>> or <<touching color (#5cb1d6)?> or <<touching color (#cf63cf)?> or <<touching color (#59c059)?> or <touching (sprite3 v)?>>>>>> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(y position) < ((mouse y) + (-30))> and <mouse down?>>> then\n            set [yv v] to [13.5]\n        end\n    end\n    change y by (1)\nend\n\nwhen I receive [end game-message v]\nhide\n\n@Text\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen flag clicked\ngo to x: (0) y: (0)\nwait (5) seconds\nask [Do you want to watch the intro?] and wait\nif <(answer) = [yes]> then\n    Scroll [What happened???]\n    Scroll [Where am I???]\n    Scroll [I can't see a thing!!!]\n    broadcast (Next person v)\nend\nif <(answer) = [no]> then\n    broadcast (no v)\nend\n\nwhen I receive [person 1 v]\nScroll [Who's there!?!?]\nbroadcast (Person 2 v)\n\nwhen I receive [person one 2 v]\nScroll [John? Is it really you??]\nbroadcast (Person 2 2  v)\n\nwhen I receive [person one threee v]\nScroll [Jamie]\nbroadcast (Interuptions v)\nwait (5) seconds\nScroll [Uh oh! I think that there's quite a few people here!]\nbroadcast (Person 2 again v)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\n\n@Sprite6\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [next person v]\nScroll [Hello!? Is anyone there??]\nbroadcast (Person 1 v)\n\nwhen I receive [person 2 v]\nScroll [It's John! Who are you?!?!]\nbroadcast (Person one 2 v)\n\nwhen I receive [person 2 2  v]\nScroll [Yep! Who are you??]\nbroadcast (Person one threee v)\n\nwhen flag clicked\ngo to x: (122) y: (115)\n\nwhen I receive [person 2 again v]\nScroll [Yeah!!! I wonder what happened! And, where are we???]\nbroadcast (Javascript v)\n\nwhen I receive [no v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\n@Sprite7\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\nshow\ngo to x: (-85) y: (-49)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen flag clicked\nshow\n\n@Sprite8\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-140) y: (63)\n\nwhen I receive [no v]\nhide\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\n@Sprite9\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.1) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-76) y: (76)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite10\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.1) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (88) y: (17)\n\nwhen I receive [no v]\nhide\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\n@Sprite11\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.1) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-23) y: (42)\n\nwhen I receive [no v]\nhide\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\n@Sprite12\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.1) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (86) y: (61)\n\nwhen I receive [no v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\n@Sprite13\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (2) y: (-54)\n\nwhen I receive [no v]\nhide\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\n@Sprite14\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-103) y: (0)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite15\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-168) y: (-50)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\nwhen I receive [no v]\nhide\n\n@Sprite16\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-201) y: (-98)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite17\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (86) y: (-85)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite18\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (62) y: (-31)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite19\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (30) y: (57)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite20\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-161) y: (120)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite21\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (-17) y: (115)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite22\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (55) y: (115)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite23\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\ngo to x: (24) y: (-89)\n\nwhen I receive [game v]\nhide\n\nwhen flag clicked\nshow\n\nwhen I receive [no v]\nhide\n\n@Sprite24\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.2) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\nshow\ngo to x: (162) y: (10)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\n@Sprite25\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.3) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\nshow\ngo to x: (-191) y: (21)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\n@Sprite26\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.3) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\nshow\ngo to x: (148) y: (-60)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\n@Sprite27\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nwait (.3) seconds\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\nshow\ngo to x: (182) y: (67)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [no v]\nhide\n\n@Sprite28\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\nshow\ngo to x: (-47) y: (-91)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\n@Sprite29\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen I receive [interuptions v]\nScroll [Hello???? Who's there???]\n\nwhen flag clicked\nshow\ngo to x: (-93) y: (149)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [end v]\nstop [all v]\n\n@Sprite31\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\nwhen flag clicked\ngo to x: (-19) y: (124)\nhide\n\nwhen I receive [game talking v]\nshow\nScroll [You are inside of scratch.]\nScroll [I have put you here so that I can take control of scratch.]\nScroll [You are inside the games that you were working on, and you have to complete those platformers to get you and everyone else out of the game.]\nScroll [You, John, must save all of scratch.]\nScroll [But I hope you made this game hard because if you don't escape I can take control of scratch, and everyone that was using scratch and all of the coders that made scratch will be stuck in the game...FOREVER!!]\nScroll [Anyways, good luck!]\nbroadcast (Game Start v)\n\n@Sprite2\n\nwhen flag clicked\ngo to [front v] layer\npoint in direction (90)\ngo to x: (0) y: (0)\nhide\nset size to (100) %\nswitch costume to (costume1 v)\n\nwhen I receive [game v]\nswitch costume to (costume1 v)\npoint in direction (90)\nset size to (100) %\ngo to [back v] layer\nshow\n\nif <(Next level) = [yes]> then\n\nwhen I receive [javascript v]\nbroadcast (Game v)\n\nwhen I receive [1 v]\nshow\nask [Do you want the background to move? ] and wait\nif <(answer) = [yes]> then\n    broadcast (3 v)\nend\nif <(answer) = [no]> then\n    broadcast (4 v)\nend\nbroadcast (2 v)\n\nwhen I receive [3 v]\nforever\n    switch costume to (costume1 v)\n    wait (.1) seconds\n    switch costume to (costume2 v)\n    wait (.1) seconds\n    switch costume to (costume3 v)\n    wait (.1) seconds\n    switch costume to (costume4 v)\n    wait (.1) seconds\n    switch costume to (costume5 v)\n    wait (.1) seconds\n    switch costume to (costume6 v)\n    wait (.1) seconds\n    switch costume to (costume7 v)\n    wait (.1) seconds\n    switch costume to (costume8 v)\n    wait (.1) seconds\n    switch costume to (costume9 v)\n    wait (.1) seconds\n    switch costume to (costume10 v)\n    wait (.1) seconds\n    switch costume to (costume11 v)\n    wait (.1) seconds\n    switch costume to (costume12 v)\n    wait (.1) seconds\n    switch costume to (costume13 v)\n    wait (.1) seconds\n    switch costume to (costume14 v)\n    wait (.1) seconds\nend\n\nwhen I receive [4 v]\nswitch costume to (costume1 v)\n\n@Sprite5\n\nwhen flag clicked\nhide\nwait (5) seconds\nshow\ngo to x: (0) y: (0)\n\nwhen I receive [game v]\nhide\n\nwhen I receive [no v]\nhide\n\nwhen I receive [end game-message v]\nshow\n\n@Sprite3\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\n\nwhen flag clicked\nswitch costume to (backdrop1 v)\nhide\n\nwhen I receive [game v]\ngo to [front v] layer\nshow\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [no v]\ngo to [front v] layer\nshow\n\nwhen flag clicked\nforever\n    if <(Level) = [21]> then\n        broadcast (End Game-Message v)\n        hide variable [level v]\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [end game-message v]\nhide\n\nwhen I receive [game start v]\nshow variable [level v]\n\n@Sprite4\n\nwhen flag clicked\nhide\nset size to (50) %\ngo to [front v] layer\n\nwhen I receive [1 v]\nwait (30) seconds\nshow\ngo to x: (176) y: (155)\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Next level v)\n        broadcast (Next level 2 v)\n        change [level v] by (1)\n        wait (1) seconds\n    end\nend\n\nwhen I receive [end game-message v]\nhide\n\n@Danger\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (backdrop1 v)\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [game start v]\nshow\n\nwhen flag clicked\nwait (1) seconds\ngo to [front v] layer\n\nwhen I receive [1 v]\nshow\n\nwhen I receive [end game-message v]\nhide\n\n@Bounce\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [1 v]\nshow\n\nwhen I receive [game start v]\nshow\n\nwhen flag clicked\nswitch costume to (backdrop1 v)\nhide\ngo to x: (0) y: (0)\n\n@Portal\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [1 v]\nshow\n\nwhen I receive [game start v]\nshow\n\nwhen flag clicked\nswitch costume to (backdrop1 v)\nhide\ngo to x: (0) y: (0)\n\n@Sprite30\n\nwhen I receive [end game-message v]\nshow\ngo to [front v] layer\nScroll [You may have beaten me this time...but...I heard the next game you made is especially hard. I'm always one step ahead of you! You stand no chance. Anyways, good job. I'm honestly surprised that you even made it this far. Good luck with the next game ;\)]\nbroadcast (END v)\n\nwhen flag clicked\ngo to x: (-19) y: (124)\nhide\n\ndefine Scroll (text)\nset [current text v] to []\nset [text progress v] to [0]\nrepeat (length of (text))\n    say (join (Current Text) (letter (Text Progress) of (text)))\n    set [current text v] to (join (Current Text) (letter (Text Progress) of (text)))\n    change [text progress v] by (1)\n    wait (.1) seconds\nend\nsay (text) for (1) seconds\n\n@Sprite32\n\ndefine Make clone detailed (z)\nset [x v] to (z)\ncreate clone of (_myself_ v)\n\ndefine Exit type (d)\nif <(d) = [1]> then\n    Glide size to (0) [yes]\nelse\n    if <(d) = [2]> then\n        set [y v] to [0]\n        repeat until <touching (_edge_ v)?>\n            change y by (Y)\n            change [y v] by (-1.5)\n        end\n        set [y v] to (() - ((Y) * (0.85)))\n        repeat until <(y position) < [-180]>\n            change y by (Y)\n            change [y v] by (-1.5)\n        end\n    else\n        Glide size to (0) [yus]\n    end\nend\n\ndefine Glide size to (b) (fade?)\nif <(fade?) = [yes]> then\n    set [ghost v] effect to (0)\n    repeat (10)\n        change size by (-10)\n        change [ghost v] effect by (10)\n    end\nelse\n    if <(fade?) = [yus]> then\n        set [ghost v] effect to (0)\n        repeat (10)\n            change size by (-10)\n            change [ghost v] effect by (10)\n            turn right (15) degrees\n        end\n    else\n        repeat (30)\n            change size by (((b) - (size)) / (8))\n        end\n    end\nend\n\ndefine Set up (code)\npoint in direction (90)\nset [code v] to (code)\nswitch costume to (logo v)\nset size to (60) %\nshow\n\ndefine Glide type: (c)\nif <(c) = [1]> then\n    Glide to X: (-100) Y: (0)\nelse\n    if <(c) = [2]> then\n        Glide to X: (100) Y: (0)\n    else\n        if <(c) = [3]> then\n            Glide to X: (0) Y: (100)\n        else\n            if <(c) = [4]> then\n                Glide to X: (0) Y: (-100)\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nif <(letter (1) of (X)) = [1]> then\n    switch costume to (words v)\n    Start type (letter (2) of (X))\n    wait (0) seconds\n    Exit type (letter (3) of (X))\n    delete this clone\nend\n\nwhen flag clicked\nstart sound [sound2 v]\nSet up (331)\nStart type (letter (1) of (Code))\nwait (1) seconds\nMake clone detailed (153)\nGlide type: (letter (2) of (Code))\nwait (1) seconds\nExit type (letter (3) of (Code))\nhide\nwait (1) seconds\nbroadcast (message1 v)\n\ndefine Glide to X: (x) Y: (y)\nrepeat (25)\n    change x by (((x) - (x position)) / (8))\n    change y by (((y) - (y position)) / (8))\nend\n\ndefine Start type (a)\nif <(a) = [1]> then\n    go to x: (-300) y: (0)\n    repeat (30)\n        change x by (((4) - (x position)) / (8))\n    end\nelse\n    if <(a) = [2]> then\n        go to x: (300) y: (0)\n        repeat (30)\n            change x by (((-4) - (x position)) / (8))\n        end\n    else\n        if <(a) = [3]> then\n            go to x: (0) y: (240)\n            repeat (30)\n                change y by (((-3) - (y position)) / (8))\n            end\n        else\n            if <(a) = [4]> then\n                go to x: (0) y: (-240)\n                repeat (30)\n                    change y by (((3) - (y position)) / (8))\n                end\n            else\n                if <(a) = [4]> then\n                    go to x: (0) y: (-240)\n                    repeat (30)\n                        change y by (((3) - (y position)) / (8))\n                    end\n                else\n                    if <(a) = [5]> then\n                        go to x: (0) y: (0)\n                        set size to (0) %\n                        Glide size to (102) [no]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nshow\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    go [forward v] (20) layers\n    go to [front v] layer\n    show\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\n
Move using the arrow keys, or if you're on mobile tap in the direction you want to go. At the beginning, type yes or no, if it is your first time playing, I recommend watching it. For the background scrolling part, also say yes or no, you can try it and if it lags just restart the game and say no. If you get stuck under the blocks or in a block, just press r.\nWatch this before playing this game: https://scratch.mit.edu/projects/343703260/