Powerups 2 - a Platformer #games
@Stage\n\nwhen flag clicked\nswitch backdrop to (asdf2 v)\nbroadcast (Colors on! v)\nrepeat until <(Level) = [1]>\n    play sound [RndY-Game Of Thrones Opening - Main Theme.mp3 v] until done\nend\n\nwhen I receive [start fully v]\nswitch backdrop to (asdf v)\nstop all sounds\nforever\n    play sound [cool kid music v] until done\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [10]> then\n        switch backdrop to (asdf3 v)\n    end\nend\n\n@Sprite1\n\n@player\n\ndefine walls\nif <not <(t) = [s]>> then\n    if <<(t) < [4]> and <touching (level v)?>> then\n        change [t v] by (1)\n        change y by (1)\n        walls\n    else\n        if <(t) = [4]> then\n            change y by (-4)\n            change x by ((-1) * (x_vel))\n            set [x_vel v] to [0]\n        end\n        set [t v] to [s]\n    end\nend\n\nwhen flag clicked\nswitch costume to (regular 1 v)\ngo to x: (0) y: (-48)\nset [x_vel v] to [0]\nset [y_vel v] to [0]\npoint in direction (90)\n\nwhen I receive [next level v]\ngo to x: (-210) y: (0)\nset [x_vel v] to [0]\nset [y_vel v] to [0]\nbroadcast (Start v)\n\nwhen I receive [start v]\nset size to (80) %\ngo to x: (-210) y: (0)\npoint in direction (90)\nshow\ngo to [front v] layer\nforever\n    if <(Mode) = [pc]> then\n        if <(Powerups) = [oooooooh_i_be_flyin']> then\n            if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n                change [x_vel v] by (1)\n                point in direction (90)\n            end\n            if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n                change [x_vel v] by (-1)\n                point in direction (-90)\n            end\n            set [x_vel v] to ((0.9) * (x_vel))\n            change x by (x_vel)\n            set [t v] to [0]\n            walls\n            if <not <(t) = [s]>> then\n                add (t) to [bugs v]\n            end\n            change [y_vel v] by (-0.8)\n            change y by ((-1) * (y_vel))\n            if <touching (level v)?> then\n                change y by ((1) * (y_vel))\n                if <(Powerups) = [jump_boost]> then\n                    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <(y_vel) < [0]>> then\n                        set [y_vel v] to [16]\n                    else\n                        set [y_vel v] to [0]\n                    end\n                else\n                    if <<<key (s v) pressed?> or <key (down arrow v) pressed?>> and <(y_vel) < [0]>> then\n                        set [y_vel v] to [10]\n                    else\n                        set [y_vel v] to [0]\n                    end\n                end\n            end\n            check\n        else\n            if <(Powerups) = [i_am_speeeeeeeeeeeeeeeeeeeeed]> then\n                if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n                    change [x_vel v] by (1.6)\n                    point in direction (90)\n                end\n                if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n                    change [x_vel v] by (-1.6)\n                    point in direction (-90)\n                end\n            else\n                if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n                    change [x_vel v] by (1)\n                    point in direction (90)\n                end\n                if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n                    change [x_vel v] by (-1)\n                    point in direction (-90)\n                end\n            end\n            set [x_vel v] to ((0.9) * (x_vel))\n            change x by (x_vel)\n            set [t v] to [0]\n            walls\n            if <not <(t) = [s]>> then\n                add (t) to [bugs v]\n            end\n            change [y_vel v] by (-0.8)\n            change y by (y_vel)\n            if <touching (level v)?> then\n                change y by ((-1) * (y_vel))\n                if <(Powerups) = [jump_boost]> then\n                    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <(y_vel) < [0]>> then\n                        set [y_vel v] to [16]\n                    else\n                        set [y_vel v] to [0]\n                    end\n                else\n                    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <(y_vel) < [0]>> then\n                        set [y_vel v] to [10]\n                    else\n                        set [y_vel v] to [0]\n                    end\n                end\n            end\n            check\n        end\n    else\n        if <(Mode) = [mobile]> then\n            if <(Powerups) = [oooooooh_i_be_flyin']> then\n                if <<mouse down?> and <(mouse x) > (x position)>> then\n                    change [x_vel v] by (1)\n                    point in direction (90)\n                end\n                if <<mouse down?> and <(x position) > (mouse x)>> then\n                    change [x_vel v] by (-1)\n                    point in direction (-90)\n                end\n                set [x_vel v] to ((0.9) * (x_vel))\n                change x by (x_vel)\n                set [t v] to [0]\n                walls\n                if <not <(t) = [s]>> then\n                    add (t) to [bugs v]\n                end\n                change [y_vel v] by (-0.8)\n                change y by ((-1) * (y_vel))\n                if <touching (level v)?> then\n                    change y by ((1) * (y_vel))\n                    if <(Powerups) = [jump_boost]> then\n                        if <<<mouse down?> and <(mouse y) > (y position)>> and <(y_vel) < [0]>> then\n                            set [y_vel v] to [16]\n                        else\n                            set [y_vel v] to [0]\n                        end\n                    else\n                        if <<<mouse down?> and <(y position) > (mouse y)>> and <(y_vel) < [0]>> then\n                            set [y_vel v] to [10]\n                        else\n                            set [y_vel v] to [0]\n                        end\n                    end\n                end\n                check\n            else\n                if <(Powerups) = [i_am_speeeeeeeeeeeeeeeeeeeeed]> then\n                    if <<mouse down?> and <(mouse x) > (x position)>> then\n                        change [x_vel v] by (1.6)\n                        point in direction (90)\n                    end\n                    if <<mouse down?> and <(x position) > (mouse x)>> then\n                        change [x_vel v] by (-1.6)\n                        point in direction (-90)\n                    end\n                else\n                    if <<mouse down?> and <(mouse x) > (x position)>> then\n                        change [x_vel v] by (1)\n                        point in direction (90)\n                    end\n                    if <<mouse down?> and <(x position) > (mouse x)>> then\n                        change [x_vel v] by (-1)\n                        point in direction (-90)\n                    end\n                end\n                set [x_vel v] to ((0.9) * (x_vel))\n                change x by (x_vel)\n                set [t v] to [0]\n                walls\n                if <not <(t) = [s]>> then\n                    add (t) to [bugs v]\n                end\n                change [y_vel v] by (-0.8)\n                change y by (y_vel)\n                if <touching (level v)?> then\n                    change y by ((-1) * (y_vel))\n                    if <(Powerups) = [jump_boost]> then\n                        if <<<mouse down?> and <(mouse y) > (y position)>> and <(y_vel) < [0]>> then\n                            set [y_vel v] to [16]\n                        else\n                            set [y_vel v] to [0]\n                        end\n                    else\n                        if <<<mouse down?> and <(mouse y) > (y position)>> and <(y_vel) < [0]>> then\n                            set [y_vel v] to [10]\n                        else\n                            set [y_vel v] to [0]\n                        end\n                    end\n                end\n                check\n            end\n        end\n    end\nend\n\nwhen I receive [restart v]\nstop [other scripts in sprite v]\ngo to x: (-210) y: (0)\nset [x_vel v] to [0]\nset [y_vel v] to [0]\nbroadcast (Start v)\n\ndefine check\nif <<<<[179] < (y position)> or <touching (ouchies v)?>> or <touching (water v)?>> or <touching (enemy thanks jwhandle v)?>> then\n    broadcast (restart v)\n    wait (0.1) seconds\nend\nif <not <(Level) = [10]>> then\n    if <(x position) > [235]> then\n        broadcast (Next level v)\n    end\nend\nif <touching (water v)?> then\n    broadcast (restart v)\n    wait (0.1) seconds\nend\n\nwhen flag clicked\nset size to (130) %\nforever\n    if <(Color) = [regular]> then\n        switch costume to (regular 1 v)\n    end\n    if <(Color) = [red]> then\n        switch costume to (red 1 v)\n    end\n    if <(Color) = [orange]> then\n        switch costume to (orange 1 v)\n    end\n    if <(Color) = [yellow]> then\n        switch costume to (yellow 1 v)\n    end\n    if <(Color) = [green]> then\n        switch costume to (green 1 v)\n    end\n    if <(Color) = [lightblue]> then\n        switch costume to (light blue 1 v)\n    end\n    if <(Color) = [blue]> then\n        switch costume to (dark blue 1 v)\n    end\n    if <(Color) = [purple]> then\n        switch costume to (purple 1 v)\n    end\n    if <(Color) = [pink]> then\n        switch costume to (pink 1 v)\n    end\nend\n\n@detector\n\nwhen flag clicked\nhide\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (0.5) seconds\nshow\ngo to x: (0) y: (-100)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\ngo to [front v] layer\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            wait (0.2) seconds\n            if <touching (mouse-pointer v)?> then\n                set [loved__ v] to [1]\n            end\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            wait (0.2) seconds\n            if <touching (mouse-pointer v)?> then\n                set [faved___ v] to [1]\n            end\n        end\n    end\nend\n\n@clouds\n\nwhen I start as a clone\nshow\nif <(pick random (1) to (2)) = [1]> then\n    go to x: (-300) y: (pick random (70) to (130))\n    repeat until <[270] < (x position)>\n        change x by (3)\n    end\nelse\n    go to x: (300) y: (pick random (70) to (130))\n    repeat until <(x position) < [-290]>\n        change x by (-3)\n    end\nend\ndelete this clone\n\nwhen I receive [start fully v]\nset [ghost v] effect to (30)\nforever\n    go to [back v] layer\n    wait (5) seconds\n    create clone of (_myself_ v)\nend\n\n@Powerups\n\nwhen I start as a clone\nhide\nwait (0.5) seconds\nforever\n    go to [front v] layer\n    if <(number as;dlfkj) = [1]> then\n        if <(Level) > [0]> then\n            show\n        end\n        go to x: (-200) y: (145)\n        switch costume to (jump boost v)\n        if <key (1 v) pressed?> then\n            set [powerups v] to [jump_boost]\n        end\n        if <touching (mouse-pointer v)?> then\n            set size to (100) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [powerups v] to [jump_boost]\n            end\n        else\n            set size to (90) %\n        end\n    else\n        if <(number as;dlfkj) = [2]> then\n            if <(Level) > [0]> then\n                show\n            end\n            go to x: (-130) y: (145)\n            switch costume to (speed thing v)\n            if <key (2 v) pressed?> then\n                set [powerups v] to [i_am_speeeeeeeeeeeeeeeeeeeeed]\n            end\n            if <touching (mouse-pointer v)?> then\n                set size to (100) %\n                if <mouse down?> then\n                    wait until <not <mouse down?>>\n                    set [powerups v] to [i_am_speeeeeeeeeeeeeeeeeeeeed]\n                end\n            else\n                set size to (90) %\n            end\n        else\n            if <(number as;dlfkj) = [3]> then\n                if <(Level) > [0]> then\n                    show\n                end\n                go to x: (-60) y: (145)\n                switch costume to (levitation v)\n                if <key (3 v) pressed?> then\n                    set [powerups v] to [oooooooh_i_be_flyin']\n                end\n                if <touching (mouse-pointer v)?> then\n                    set size to (100) %\n                    if <mouse down?> then\n                        wait until <not <mouse down?>>\n                        set [powerups v] to [oooooooh_i_be_flyin']\n                    end\n                else\n                    set size to (90) %\n                end\n            else\n                if <(number as;dlfkj) = [4]> then\n                    if <(Level) > [0]> then\n                        show\n                    end\n                    go to x: (10) y: (145)\n                    switch costume to (none v)\n                    if <key (4 v) pressed?> then\n                        set [powerups v] to [none]\n                    end\n                    if <touching (mouse-pointer v)?> then\n                        set size to (100) %\n                        if <mouse down?> then\n                            wait until <not <mouse down?>>\n                            set [powerups v] to [none]\n                        end\n                    else\n                        set size to (90) %\n                    end\n                end\n            end\n        end\n    end\nend\n\nset [level v] to [9]\n\nwait until <not <mouse down?>>\n\nwhen flag clicked\ngo to [front v] layer\nset [powerups v] to [none]\nhide\nswitch costume to (jump boost v)\nset [number as;dlfkj v] to [0]\nrepeat (4)\n    wait (0.01) seconds\n    change [number as;dlfkj v] by (1)\n    create clone of (_myself_ v)\nend\n\n@Water\n\nwhen flag clicked\nhide\n\nwhen I receive [start fully v]\nshow\nforever\n    set y to ((([sin v] of ((timer) * (250)) ) * (5)) - (263))\nend\n\n@Words\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (none v)\nshow\ngo to [front v] layer\nforever\n    go to x: (150) y: (135)\n    if <(Powerups) = [none]> then\n        switch costume to (none v)\n    end\n    if <(Powerups) = [jump_boost]> then\n        switch costume to (jump boost v)\n    end\n    if <(Powerups) = [i_am_speeeeeeeeeeeeeeeeeeeeed]> then\n        switch costume to (speed v)\n    end\n    if <(Powerups) = [oooooooh_i_be_flyin']> then\n        switch costume to (anti-gravity v)\n    end\nend\n\n@Enemy thanks JWhandle\n\nwhen I receive [next v]\ngo to x: (50) y: (100)\nset [x2 v] to [0]\nset [y2 v] to [0]\n\nwhen I receive [start v]\ngo to x: (50) y: (100)\nset [x2 v] to [0]\nset [y2 v] to [0]\n\nwhen I start as a clone\nset rotation style [left-right v]\nshow\ngo to [front v] layer\nshow\nset [y2 v] to [0]\nset [x2 v] to [0]\nforever\n    if <([x position v] of [player v]) > (x position)> then\n        point in direction (90)\n        change [x2 v] by (0.3)\n    else\n        point in direction (-90)\n        change [x2 v] by (-0.3)\n    end\n    if <([y position v] of [player v]) > (y position)> then\n        set [y2 v] to [9]\n    end\n    set [x2 v] to ((x2) * (0.9))\n    change x by (x2)\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 <touching (level v)?> then\n                                        if <[0] < (x2)> then\n                                            set [x2 v] to [-4]\n                                        else\n                                            set [x2 v] to [4]\n                                        end\n                                        set [y2 v] to [9]\n                                    else\n                                        set [x2 v] to ((x2) * (-1.3))\n                                        change x by (x2)\n                                        set [x2 v] to [0]\n                                        change x by ((x2) / (5))\n                                    end\n                                    change y by (-7)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y2 v] by (-1)\n    change y by (y2)\n    change y by (-1)\n    if <touching (level v)?> then\n        set [y2 v] to ((y2) * (-0.25))\n        change y by (y2)\n        if <touching (level v)?> then\n            change y by (y2)\n            if <touching (level v)?> then\n                change y by (y2)\n                if <touching (level v)?> then\n                    change y by (y2)\n                end\n            end\n        end\n    end\n    change y by (1)\nend\n\nwhen I receive [restart v]\ndelete this clone\n\nwhen I receive [start v]\n\nwhen I receive [next level v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <touching (shurikens v)?> then\n        wait (0.03) seconds\n        delete this clone\n    end\n    if <(Level) = [5]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start fully v]\n\ncreate clone of (_myself_ v)\n\nwhen I receive [start fully v]\n\nforever\n\nwhen flag clicked\n\nbroadcast (Start v) and wait\n\nwhen flag clicked\n\nforever\n    if <(Level) = [7]> then\nend\n\nwhen I receive [start v]\nif <(Level) = [2]> then\n    go to x: (140) y: (70)\n    create clone of (_myself_ v)\n    wait until <(Level) = [3]>\nend\nif <(Level) = [3]> then\n    go to x: (140) y: (70)\n    create clone of (_myself_ v)\n    wait until <(Level) = [4]>\nend\nif <(Level) = [4]> then\n    go to x: (140) y: (70)\n    create clone of (_myself_ v)\n    wait until <(Level) = [5]>\nend\nif <(Level) = [5]> then\n    delete this clone\nend\nif <(Level) = [7]> then\n    go to x: (170) y: (70)\n    create clone of (_myself_ v)\n    go to x: (110) y: (70)\n    create clone of (_myself_ v)\n    go to x: (50) y: (70)\n    create clone of (_myself_ v)\n    wait until <(Level) = [8]>\nend\nif <(Level) = [8]> then\n    go to x: (100) y: (50)\n    create clone of (_myself_ v)\n    go to x: (30) y: (0)\n    create clone of (_myself_ v)\n    wait until <(Level) = [9]>\nend\nif <(Level) = [9]> then\n    go to x: (100) y: (25)\n    create clone of (_myself_ v)\n    go to x: (0) y: (0)\nend\n\ndelete this clone\n\ndelete this clone\n\n@Shurikens\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nwait until <touching (player v)?>\n\nwhen flag clicked\nhide\nforever\n    point in direction (90)\n    switch costume to (costume1 v)\n    set size to (200) %\n    repeat (10)\n        change y by (1)\n    end\n    repeat (20)\n        change y by (-1)\n    end\n    repeat (10)\n        change y by (1)\n    end\n    go to x: (-120) y: (0)\nend\n\nwhen I start as a clone\ngo to (player v)\nshow\nset size to (150) %\nclear graphic effects\nif <([direction v] of [player v]) = [90]> then\n    repeat until <<<touching (_edge_ v)?> or <touching (level v)?>> or <touching (enemy thanks jwhandle v)?>>\n        change x by (15)\n    end\nelse\n    repeat until <<<touching (_edge_ v)?> or <touching (level v)?>> or <touching (enemy thanks jwhandle v)?>>\n        change x by (-15)\n    end\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    if <key (space v) pressed?> then\n        create clone of (_myself_ v)\n        wait (0.17) seconds\n        wait until <not <key (space v) pressed?>>\n    end\nend\n\nwhen I receive [start v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <([direction v] of [player v]) = [90]> then\n        turn right (20) degrees\n    else\n        turn right (-20) degrees\n    end\n    if <<<touching (_edge_ v)?> or <touching (level v)?>> or <touching (enemy thanks jwhandle v)?>> then\n        stop [this script v]\n    end\nend\n\n@sdfg\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nset size to (100) %\nforever\n    if <(Mode) = [mobile]> then\n        if <(mouse x) < [0]> then\n            go to x: (-156) y: (-156)\n        else\n            go to x: (156) y: (-156)\n        end\n        show\n        point in direction ((([sin v] of ((timer) * (215)) ) * (10)) + (90))\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            if <mouse down?> then\n                create clone of (shurikens v)\n                wait until <not <mouse down?>>\n            end\n        else\n            set size to (100) %\n        end\n    else\n        hide\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(Mode) = [mobile]> then\n        go to [front v] layer\n        stop [this script v]\n    else\n        hide\n        stop [this script v]\n    end\nend\n\npoint in direction ((([sin v] of ((timer) * (215)) ) * (10)) + (90))\n\n@Color\n\nwhen I start as a clone\nset size to (160) %\nshow\nif <(number) = [1]> then\n    switch costume to (normal v)\n    go to x: (-80) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        if <(Level) = [1]> then\n            delete this clone\n        end\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [regular]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [2]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (red v)\n    go to x: (-60) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [red]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [3]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (orange v)\n    go to x: (-40) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [orange]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [4]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (yellow v)\n    go to x: (-20) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [yellow]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [5]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (green v)\n    go to x: (0) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [green]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [6]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (lightblue v)\n    go to x: (20) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [lightblue]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [7]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (blue v)\n    go to x: (40) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [blue]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [8]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (purple v)\n    go to x: (60) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [purple]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\nif <(number) = [9]> then\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    switch costume to (pink v)\n    go to x: (80) y: (-180)\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n        change y by (((-130) - (y position)) * (0.2))\n        if <touching (mouse-pointer v)?> then\n            set size to (170) %\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                set [color v] to [pink]\n            end\n        else\n            set size to (160) %\n        end\n    end\nend\n\nwhen flag clicked\nhide\nset [color v] to [regular]\nset [number v] to [0]\n\nwhen I receive [colors on! v]\nwait (0) seconds\nrepeat (9)\n    change [number v] by (1)\n    create clone of (_myself_ v)\n    wait (0.1) seconds\nend\n\nwhen I receive [start fully v]\ndelete this clone\n\nrepeat (9)\n    repeat until <[-8] > (number)>\n        change [number v] by (-1)\n    end\nend\n\n@Sprite2\n\nwhen I receive [instructions v]\ngo to [front v] layer\nset size to (instructionssize) %\nset [ghost v] effect to (0)\nshow\nrepeat until <<mouse down?> and <touching (mouse-pointer v)?>>\n    go to [front v] layer\n    if <touching (mouse-pointer v)?> then\n        change size by (((105) - (size)) / (4))\n    else\n        change size by (((100) - (size)) / (4))\n    end\nend\nrepeat until <not <mouse down?>>\n    if <touching (mouse-pointer v)?> then\n        change size by (((90) - (size)) / (4))\n    else\n        change size by (((100) - (size)) / (4))\n    end\nend\nif <touching (mouse-pointer v)?> then\n    set [instructionssize v] to [200]\n    broadcast (back v)\n    repeat until <[200] < (size)>\n        change size by (((200) - (size)) / (4))\n        change [ghost v] effect by (((200) - (size)) / (4))\n    end\n    hide\nelse\n    set [instructionssize v] to [100]\n    broadcast (instructions v)\nend\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nset [instructionssize v] to [200]\nset size to (100) %\nhide\n\n@Level\n\nwhen flag clicked\nshow\nswitch costume to (level 1 v)\ngo to [front v] layer\ngo [backward v] (3) layers\nswitch costume to (level 0 v)\nset [level v] to [0]\ngo to x: (0) y: (0)\nset [create bad thing # times v] to [1]\n\nwhen I receive [start fully v]\nshow\nchange [level v] by (1)\nswitch costume to (level 1 v)\n\nwhen I receive [next level v]\nif <not <(Level) = [10]>> then\n    next costume\n    change [level v] by (1)\nend\n\npoint in direction ((([sin v] of ((timer) * (215)) ) * (10)) + (90))\n\n@Ouchies\n\nwhen flag clicked\nswitch costume to (level 0 v)\ngo to [front v] layer\ngo [forward v] (500) layers\nshow\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start fully v]\nswitch costume to (level 1 v)\n\n@Thumbnail a;lsfdj\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (0)\n\nwhen I receive [colors on! v]\nrepeat (15)\n    go to [front v] layer\nend\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Sprite4\n\nwhen I receive [start fully v]\nshow\ngo to [front v] layer\nforever\n    point in direction ((([sin v] of ((timer) * (215)) ) * (3)) + (90))\n    go to x: (0) y: (-156)\n    if <touching (mouse-pointer v)?> then\n        set size to (86) %\n        if <mouse down?> then\n            broadcast (Next level v)\n            wait until <not <mouse down?>>\n        end\n    else\n        set size to (80) %\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(Level) = [10]> then\n        hide\n        stop [other scripts in sprite v]\n    end\nend\n\n@asdf\n\nwhen flag clicked\nshow\nswitch costume to (costume3 v)\ncreate clone of (_myself_ v)\nswitch costume to (costume2 v)\nforever\n    go to x: (-80) y: (80)\n    if <touching (mouse-pointer v)?> then\n        set size to (86) %\n        if <mouse down?> then\n            broadcast (Start fully v)\n            broadcast (Start v)\n            hide\n            stop [this script v]\n        end\n    else\n        set size to (80) %\n    end\nend\n\nwhen I start as a clone\nshow\nforever\n    go to x: (80) y: (80)\n    point in direction ((([sin v] of ((timer) * (190)) ) * (5)) + (90))\n    if <touching (mouse-pointer v)?> then\n        set size to (86) %\n    else\n        set size to (80) %\n    end\nend\n\nwhen I receive [start fully v]\ndelete this clone\n\nwhen flag clicked\nforever\n    point in direction ((([sin v] of ((timer) * (190)) ) * (5)) + (90))\nend\n\nwhen I start as a clone\nforever\n    point in direction ((([sin v] of ((timer) * (190)) ) * (5)) + (90))\nend\n\nwhen I start as a clone\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        wait until <not <mouse down?>>\n        broadcast (instructions v)\n    end\nend\n\n@Mode Buttons\n\nwhen flag clicked\nset [mode v] to [pc]\nhide\ngo to x: (170) y: (-20)\nswitch costume to (costume1 v)\ncreate clone of (_myself_ v)\nswitch costume to (costume3 v)\ngo to x: (-170) y: (-20)\nshow\n\nwhen I start as a clone\nshow\nforever\n    go to x: (170) y: (-20)\n    if <touching (mouse-pointer v)?> then\n        set size to (105) %\n        if <mouse down?> then\n            set [mode v] to [mobile]\n        end\n    else\n        set size to (100) %\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (105) %\n        if <mouse down?> then\n            set [mode v] to [pc]\n        end\n    else\n        set size to (100) %\n    end\nend\n\nwhen I receive [start fully v]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <(Mode) = [mobile]> then\n        switch costume to (costume2 v)\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Mode) = [pc]> then\n        switch costume to (costume4 v)\n    else\n        switch costume to (costume3 v)\n    end\nend\n\n
For pc, use W, A, S, and D or the arrow keys and space to shoot shurikens. For mobile, tap the screen to make the character move and touch the shuriken button to make the player shoot.\nEvery level is possible! I have done them all!!!!!!!!!!!!!!!!!\nNO ADVERTISING PLEASE!\nNotes:\n7/9/20 -Initial Release.\n7/9/20 -Fixed a bug with the shuriken and made them spin when thrown.\n7/10/20 -Fixed a bug with the ai.\n7/10/20 -Shurikens now stop spinning when touching edge, level, or ai.