|Grassy Platformer| (Mobile Friendly) #games #all

Instructions: New game https://scratch.mit.edu/projects/502990108\n\nWelcome to my new game "grassy platformer"\nIn this game try and avoid spikes, water, and lasers!\n-Select any color skin\n-WASD\n-Arrow Keys\n-Mobile Controls\n-Sorry no wall jumping\n-Enjoy!

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\n@Blank\n\n@Player\n\nwhen flag clicked\nswitch costume to (player v)\ngo [backward v] (99) layers\nhide\nset volume to (50) %\nset [level v] to [1]\nset [deaths v] to [0]\nhide\n\ndefine Platformer Physics (speed) (friction) (jump height)\nif <not <(Transition>) = [1]>> then\n    if <not <touching (water v)?>> then\n        change [y velocity v] by (-1)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x velocity v] by (speed)\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 [x velocity v] by ((0) - (speed))\n    end\n    set [x velocity v] to ((X Velocity) * (friction))\n    change x by (X Velocity)\n    set [slope v] to [0]\n    if <touching (level v)?> then\n        repeat until <<not <touching (level v)?>> or <(Slope) = [-8]>>\n            change [slope v] by (-1)\n            change y by (1)\n        end\n    end\n    if <touching (level v)?> then\n        change y by (Slope)\n        repeat until <not <touching (level v)?>>\n            change x by ((0) - (([abs v] of (X Velocity) ) / (X Velocity)))\n        end\n        set [x velocity v] to [0]\n    end\n    change y by (Y Velocity)\n    if <touching (level v)?> then\n        repeat until <not <touching (level v)?>>\n            change y by ((([abs v] of (Y Velocity) ) / (Y Velocity)) * (-1))\n        end\n        set [y velocity v] to [0]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (level v)?>> then\n        if <not <touching (water v)?>> then\n            set [y velocity v] to (jump height)\n        end\n    end\n    change y by (1)\n    if <touching (water v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            change [y velocity v] by (0.8)\n        end\n        if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> then\n            change [y velocity v] by (-0.8)\n        end\n        if <touching (water v)?> then\n            if <not <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>>> then\n                change [y velocity v] by (-0.2)\n            end\n        end\n    end\nend\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n    if <touching (jump rings v)?> then\n        set [y velocity v] to [12]\n    end\nend\n\ndefine Detection\nif <<(x position) = [240]> and <not <(Level) = [21]>>> then\n    set [level v] to ((Level) + (1))\n    broadcast (Next level v)\n    broadcast (Create Clone v)\n    broadcast (Next v)\n    start sound [Ding Sound Effect v]\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\n    go to x: (-215) y: (-70)\nend\nif <<<<<<touching (danger v)?> or <touching (cold water v)?>> or <touching (saws v)?>> or <<<touching (upspikes v)?> or <touching (downspikes v)?>> or <touching (acid v)?>>> or <<touching color (#fb6d6f)?> or >> and <not <(CHEAT) = [1]>>> then\n    start sound [Crunch v]\n    broadcast (died v)\n    set [deaths v] to ((DEATHS) + (1))\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\n    broadcast (Move v)\nend\nif <touching (bounce pad v)?> then\n    start sound [Big Boing v]\n    set [y velocity v] to [17]\nend\nif <touching (trampolines v)?> then\n    set [y velocity v] to [16]\nend\n\nwhen I receive [intro done v]\npoint in direction (90)\nset size to (100) %\nset [cheat v] to [0]\nwait (0.1) seconds\nshow\ngo to x: (-215) y: (-78)\nset rotation style [left-right v]\nset [level v] to [1]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nforever\n    Platformer Physics [1.95] [0.79] [12.5]\n    Detection\nend\n\nwhen flag clicked\nforever\n    Cheats Menu\nend\n\ndefine Cheats Menu\nif <<<key (1 v) pressed?> and <<(username) = [250119code2]> or <(username) = [250119test2]>>> and <not <(CHEAT) = [1]>>> then\n    set [cheat v] to [1]\n    wait (0.3) seconds\nelse\n    if <<key (1 v) pressed?> and <(CHEAT) = [1]>> then\n        set [cheat v] to [0]\n        wait (0.3) seconds\n    end\nend\nif <<key (up arrow v) pressed?> and <(CHEAT) = [1]>> then\n    set [y velocity v] to [8]\nend\nif <<key (down arrow v) pressed?> and <(CHEAT) = [1]>> then\n    set [y velocity v] to [-6]\nend\n\nwhen flag clicked\nforever\n    set [x v] to (round (x position))\n    set [y v] to (round (y position))\nend\n\nwhen I receive [restart v]\nstart sound [Oops v]\nset [deaths v] to ((DEATHS) + (1))\nset [x velocity v] to [0]\nset [y velocity v] to [0]\ngo to x: (-215) y: (-70)\n\nbroadcast (Restart v)\n\nwhen I receive [jump v]\nset [y velocity v] to [8]\n\nwhen I receive [transition v]\ngo to x: (-215) y: (-70)\nset [x velocity v] to [0]\nset [y velocity v] to [0]\n\nwhen I receive [intro done v]\nset [transition> v] to [0]\n\nwhen I start as a clone\nrepeat (10)\n    set [ghost v] effect to (0)\nend\ndelete this clone\n\nforever\n    create clone of (_myself_ v)\nend\n\nchange [y velocity v] by (1)\n\nset [y velocity v] to [-1]\n\nwhen I receive [intro done v]\nwait until <(Level) = [10]>\ngo to x: (-215) y: (31)\n\nwhen I receive [move v]\nif <(Level) = [10]> then\n    go to x: (-215) y: (31)\nelse\n    if <(Level) = [13]> then\n        go to x: (-192) y: (-60)\n    else\n        go to x: (-215) y: (-70)\n    end\nend\n\nbroadcast (died v)\n\nwait until \n\nwhen I receive [create clone v]\n\nrepeat (3)\n    hide\n    wait (0.11) seconds\n    show\n    wait (0.11) seconds\nend\nhide\nwait (0.11) seconds\nshow\n\nwhen I receive [intro done v]\nwait until <(Level) = [13]>\ngo to x: (-192) y: (-60)\n\nwhen I receive [intro done v]\nwait (2) seconds\ngo [forward v] (55) layers\n\nwhen I receive [left v]\nswitch costume to ((costume [number v]) - (1))\n\nwhen I receive [right v]\nnext costume\n\n@Level\n\ngo [backward v] (33) layers\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Danger\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    switch costume to (Level)\nend\n\nglide (1) secs to x: (0) y: (0)\n\nglide (1) secs to x: (0) y: (10)\n\n@text\n\nwhen flag clicked\nhide\ngo to [front v] layer\nwait (2.4) seconds\ngo to x: (0) y: (-60)\nset size to (100) %\nset [ghost v] effect to (100)\nshow\nset [rotation v] to [-10]\nrepeat (70)\n    change [ghost v] effect by (rotation)\n    change [rotation v] by (-1)\n    wait (0.01) seconds\nend\nset [ghost v] effect to (0)\n\nwhen I receive [message1 v]\nhide\n\nwhen I receive [start game v]\nhide\n\n@Intro\n\nwhen flag clicked\nset [id v] to [1]\ncreate clone of (_myself_ v)\nset [id v] to [2]\ncreate clone of (_myself_ v)\nset [id v] to [3]\ncreate clone of (_myself_ v)\nset [id v] to [4]\ncreate clone of (_myself_ v)\nstart sound [Never Mind v]\nswitch costume to (1 v)\nshow\ngo to x: (0) y: (0)\npoint in direction (-90)\nset size to (300) %\nset [sine v] to [30]\nrepeat (40)\n    change size by (((100) - (size)) * (1))\n    turn right (((90) - (direction)) * (0.18)) degrees\nend\nset [glide v] to [7]\nrepeat (20)\n    change y by ((glide) - (1))\n    change [glide v] by (-0.34)\nend\nwait (5.8) seconds\nhide\n\nwhen I start as a clone\nif <(id) = [1]> then\n    clear graphic effects\n    show\n    go to x: (0) y: (0)\n    point in direction (90)\n    set size to (100) %\n    switch costume to (bg v)\nelse\n    if <(id) = [2]> then\n        id 2\n    else\n        if <(id) = [3]> then\n            id 3\n        else\n            id 4\n        end\n    end\nend\n\ndefine id 2\ngo to x: (0) y: (0)\nswitch costume to (dot2 v)\nhide\nclear graphic effects\ngo to [front v] layer\nwait (7) seconds\nshow\nset size to (0.5) %\nset [vel v] to [1]\nswitch costume to (dot v)\nrepeat (50)\n    switch costume to (dot2 v)\n    change [vel v] by ((size) / (50))\n    change size by (vel)\n    switch costume to (dot v)\nend\nbroadcast (Start Game v)\n\nwhen I receive [start game v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\ndefine id 3\ngo to x: (0) y: (0)\nswitch costume to (dot2 v)\nhide\nclear graphic effects\ngo to [front v] layer\nwait (7.2) seconds\nshow\nset size to (0.5) %\nset [vel v] to [1]\nswitch costume to (dot v)\nrepeat (50)\n    switch costume to (dot2 v)\n    change [vel v] by ((size) / (50))\n    change size by (vel)\n    switch costume to (smaller dot v)\nend\n\ndefine id 4\ngo to x: (0) y: (0)\nswitch costume to (dot2 v)\nhide\nclear graphic effects\ngo to [front v] layer\nwait (7.4) seconds\nshow\nset size to (0.5) %\nset [vel v] to [1]\nswitch costume to (dot v)\nrepeat (50)\n    switch costume to (dot2 v)\n    change [vel v] by ((size) / (50))\n    change size by (vel)\n    switch costume to (crazy dot v)\n    turn left (1) degrees\nend\n\nbroadcast (Intro Done v)\n\n@Decoration\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nforever\n    go [backward v] (7) layers\n    switch costume to (Level)\nend\n\nchange [level v] by (-1)\n\n@Cold Water\n\nwhen I start as a clone\ngo [backward v] (1) layers\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\nforever\n    switch costume to (Level)\n    set y to (([sin v] of ((timer) * (100)) ) * (5))\nend\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Skip\n\nwhen I receive [intro done v]\nwait until <(Level) = [20]>\nhide\n\nwhen flag clicked\nwait until <(Level) = [20]>\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nshow\nswitch costume to (costume1 v)\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\nwhen I receive [intro done v]\nwait (0.8) seconds\n\nwhen this sprite clicked\nbroadcast (s v)\nbroadcast (Transition v)\nbroadcast (Next v)\nbroadcast (Create Clone v)\nchange [level v] by (1)\n\n@Music Button\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nwait until <(Level) = [20]>\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nshow\nswitch costume to (costume1 v)\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\nwhen I receive [start game v]\nwait (0.8) seconds\nset volume to (30) %\nforever\n    play sound [Namice - Dreams v] until done\n    play sound [Chris Henry - Flash v] until done\n    play sound [Travel The Galaxy \(HD\) v] until done\nend\n\nwhen this sprite clicked\nif <(volume) = [30]> then\n    switch costume to ((costume [number v]) + (1))\n    set volume to (0) %\nelse\n    switch costume to ((costume [number v]) - (1))\n    set volume to (30) %\nend\n\nwhen flag clicked\nwait until <(Level) = [20]>\nhide\n\n@Clouds\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset [side v] to (pick random (1) to (2))\nshow\nset [ghost v] effect to (pick random (20) to (25))\ngo to [back v] layer\nswitch costume to (pick random (1) to (2))\nif <(side) = [1]> then\n    go to x: (300) y: (pick random (150) to (100))\n    repeat until <(x position) < [-290]>\n        go to [back v] layer\n        change x by (-0.5)\n    end\n    delete this clone\nend\nif <(side) = [2]> then\n    go to x: (-300) y: (pick random (150) to (100))\n    repeat until <(x position) > [270]>\n        go to [back v] layer\n        change x by (0.5)\n    end\n    delete this clone\nend\n\nwhen I receive [intro done v]\nforever\n    create clone of (_myself_ v)\n    wait (pick random (40) to (50)) seconds\nend\n\n@UpSpikes\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I receive [intro done v]\nshow\n\nwhen flag clicked\nwait until <(Level) = [11]>\nnext costume\n\nwhen flag clicked\nwait until <(Level) = [10]>\nrepeat until <not <(Level) = [10]>>\n    switch costume to (Level)\n    set size to (100) %\n    go to x: (0) y: (-10)\n    glide (0.2) secs to x: (0) y: (-40)\n    wait (0.6) seconds\n    glide (0.4) secs to x: (0) y: (-10)\nend\n\nwhen flag clicked\nwait until <(Level) = [11]>\nrepeat until <not <(Level) = [11]>>\n    switch costume to (Level)\n    set size to (100) %\n    go to x: (0) y: (-10)\n    glide (0.2) secs to x: (0) y: (-40)\n    wait (0.6) seconds\n    glide (0.4) secs to x: (0) y: (-10)\nend\n\nwhen flag clicked\nwait until <(Level) = [12]>\nnext costume\n\nwhen flag clicked\nwait until <(Level) = [13]>\nrepeat until <not <(Level) = [13]>>\n    switch costume to (Level)\n    set size to (100) %\n    go to x: (0) y: (-10)\n    glide (0.2) secs to x: (0) y: (-40)\n    wait (0.6) seconds\n    glide (0.4) secs to x: (0) y: (-10)\nend\n\nwhen flag clicked\nwait until <(Level) = [14]>\nrepeat until <not <(Level) = [14]>>\n    switch costume to (Level)\n    set size to (100) %\n    go to x: (0) y: (-10)\n    glide (0.2) secs to x: (0) y: (-40)\n    wait (0.6) seconds\n    glide (0.4) secs to x: (0) y: (-10)\nend\n\nwhen flag clicked\nwait until <(Level) = [15]>\nrepeat until <not <(Level) = [15]>>\n    switch costume to (Level)\n    set size to (100) %\n    go to x: (0) y: (-10)\n    glide (0.2) secs to x: (0) y: (-40)\n    wait (0.6) seconds\n    glide (0.4) secs to x: (0) y: (-10)\nend\n\nwhen flag clicked\nwait until <(Level) = [17]>\nrepeat until <not <(Level) = [17]>>\n    switch costume to (Level)\n    set size to (100) %\n    go to x: (0) y: (-10)\n    glide (0.2) secs to x: (0) y: (-40)\n    wait (0.6) seconds\n    glide (0.4) secs to x: (0) y: (-10)\nend\n\nwhen flag clicked\nforever\n    go [backward v] (2) layers\n    switch costume to (Level)\nend\n\n@Bounce Pad\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nforever\n    go [backward v] (5) layers\n    switch costume to (Level)\nend\n\n@Transitions\n\nwhen I receive [died v]\ncreate clone of (_myself_ v)\n\ndefine thing\nswitch costume to (hax v)\nset size to (size) %\nchange size by (((4100) - (size)) / (4))\nset [size v] to (size)\nswitch costume to (thing v)\n\ndefine other thing\nswitch costume to (hax v)\nset size to (size) %\nchange size by (((410) - (size)) / (6))\nset [size v] to (size)\nswitch costume to (weird thing v)\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\n    go to [front v] layer\nend\n\nwhen I start as a clone\nset [transition> v] to [1]\ngo to x: (0) y: (0)\nset size to (0) %\nshow\nset [size v] to [100]\nrepeat until <(size) > [4080]>\n    thing\nend\nset size to (10) %\nset [size v] to [10]\nrepeat until <(size) > [400]>\n    other thing\nend\nhide\nbroadcast (Move v)\nset [transition> v] to [0]\ndelete this clone\n\nset [color v] effect to ((1) / (0))\n\n@Next Level\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\nwhen I receive [next level v]\nset [transition> v] to [1]\ngo to [front v] layer\nclear graphic effects\nshow\ngo to x: (5000) y: (0)\nrepeat until <(round (x position)) = [0]>\n    go to [front v] layer\n    change x by (((0) - (x position)) / (4))\nend\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nset [transition> v] to [0]\n\n@Screen\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nset [screen v] to [1]\ngo [backward v] (11) layers\nshow\nforever\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\n@Text\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nwait (0.1) seconds\nshow\ngo [forward v] (9) layers\nforever\n    point in direction ((90) + (([sin v] of ((titleturn) * (5)) ) * (1.5)))\n    if <(SCREEN) = [1]> then\n        change [titleturn v] by (1)\n    end\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <(SCREEN) = [0]> then\n        go [backward v] (6) layers\n    end\nend\n\n@Play Button\n\nwhen I receive [start game v]\nshow\nwait until <<<touching (mouse-pointer v)?> and <mouse down?>> and <not <(IN) = [1]>>>\nset [screen v] to [0]\nbroadcast (Transition v)\nbroadcast (Intro Done v)\nbroadcast (st v)\n\nwhen I receive [start game v]\nforever\n    if <touching (mouse-pointer v)?> then\n        if <<(SCREEN) = [1]> and <not <(IN) = [1]>>> then\n            start sound [Touch v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\nwhen flag clicked\nset [screen v] to [1]\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    point in direction ((90) + (([sin v] of ((titleturn) * (5)) ) * (1.5)))\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((85) - (size)) / (5))\n        set [brightness v] effect to (20)\n    else\n        change size by (((75) - (size)) / (5))\n        set [brightness v] effect to (0)\n    end\nend\n\n@Play Character\n\nwhen I receive [start game v]\nforever\n    if <<touching (mouse-pointer v)?> and <not <(IN) = [1]>>> then\n        if <<(SCREEN) = [1]> and <not <(IN) = [1]>>> then\n            start sound [Touch v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\nnext costume\nbroadcast (Next cos v)\n\nwhen I receive [left v]\nswitch costume to ((costume [number v]) - (1))\n\nwhen I receive [right v]\nswitch costume to ((costume [number v]) + (1))\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [start game v]\nshow\ngo [forward v] (6) layers\nforever\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((89) - (size)) / (5))\n        if <<mouse down?> and <not <(IN) = [1]>>> then\n            start sound [Low Boing v]\n            repeat (3)\n                change size by (-3)\n            end\n            repeat (3)\n                change size by (3)\n            end\n            wait until <not <mouse down?>>\n        end\n    else\n        change size by (((76) - (size)) / (5))\n    end\nend\n\nnext costume\nbroadcast (Next cos v)\n\nwhen I receive [start game v]\nshow\ngo [forward v] (6) layers\nforever\n    point in direction ((90) + (([sin v] of ((timer) * (200)) ) * (8)))\nend\n\n@Left\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    point in direction ((90) + (([sin v] of ((titleturn) * (5)) ) * (1.5)))\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((95) - (size)) / (5))\n        if <<mouse down?> and <not <(IN) = [1]>>> then\n            broadcast (left v)\n            wait until <not <mouse down?>>\n        end\n    else\n        change size by (((75) - (size)) / (5))\n    end\nend\n\nnext costume\n\nwhen I receive [start game v]\nforever\n    if <<touching (mouse-pointer v)?> and <not <(IN) = [1]>>> then\n        if <(SCREEN) = [1]> then\n            start sound [Touch v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\n@Right\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    point in direction ((90) + (([sin v] of ((titleturn) * (5)) ) * (1.5)))\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((95) - (size)) / (5))\n        if <<mouse down?> and <not <(IN) = [1]>>> then\n            broadcast (right v)\n            wait until <not <mouse down?>>\n        end\n    else\n        change size by (((75) - (size)) / (5))\n    end\nend\n\nnext costume\n\nwhen I receive [start game v]\nforever\n    if <<touching (mouse-pointer v)?> and <not <(IN) = [1]>>> then\n        if <(SCREEN) = [1]> then\n            start sound [Touch v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\n@instructions\n\nwhen I receive [start game v]\nforever\n    if <touching (mouse-pointer v)?> then\n        if <<(SCREEN) = [1]> and <not <(IN) = [1]>>> then\n            start sound [Touch v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\nwhen flag clicked\nset [screen v] to [1]\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    point in direction ((90) + (([sin v] of ((titleturn) * (5)) ) * (1.5)))\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((85) - (size)) / (5))\n        set [brightness v] effect to (20)\n        if <<<mouse down?> and <not <(IN) = [1]>>> and <(SCREEN) = [1]>> then\n            broadcast (in v)\n        end\n    else\n        change size by (((75) - (size)) / (5))\n        set [brightness v] effect to (0)\n    end\nend\n\n@title screen\n\nwhen flag clicked\nset [in v] to [0]\nhide\n\nwhen I receive [in v]\nset [in v] to [1]\nshow\nclear graphic effects\nset size to (10) %\ngo to [front v] layer\nrepeat (20)\n    change size by (((100) - (size)) / (5))\nend\nwait until <<mouse down?> and <touching (mouse-pointer v)?>>\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nhide\nset [in v] to [0]\n\n@Lasers\n\nwhen flag clicked\nset [laser? v] to [0]\nhide\ngo to x: (-106) y: (3)\ngo to [back v] layer\nwait until <(Level) = [16]>\nshow\nswitch costume to (1 v)\nrepeat until <not <(Level) = [16]>>\n    go to [back v] layer\n    set [laser? v] to [0]\n    switch costume to (1 v)\n    wait (2) seconds\n    set [laser? v] to [1]\n    switch costume to (1up v)\n    wait (2) seconds\nend\nhide\n\nwhen flag clicked\nforever\n    go [backward v] (2) layers\nend\n\nwhen flag clicked\nwait until <(Level) = [17]>\nhide\n\nwhen flag clicked\nwait until <(Level) = [17]>\nhide\n\ndefine Bug Fixing\nif <(Level) = [17]> then\n    hide\nend\n\nwhen flag clicked\nforever\n    Bug Fixing\nend\n\n