プラットフォーマー/PLATFORMER

Instructions: 特殊能力提案あればコメントでどうぞ!!\n日本語は下。\n\nスタジオ!!/studio!!↓↓\nhttps://scratch.mit.edu/studios/32100437/\n---------------------------------------------------------------English\n►difficulty：★☆☆☆☆\n\n►Explanation\nOperate with direction keys or screen tap.\nIf it hits a needle or magma, it will die.\nIn this work, you can get abilities randomly in the early stages.\nCan you master the ability and clear it?\nIf you were able to clear it, please tell us about your time in the comments!\nBy the way, the author's time is 70 seconds in Ninja.\n\n►Abilities list and their effects\n\n・Ninja\n　get faster\n\n・low gravity\n　jump power increases\n\n・lucky\n　50% chance of not being hit by an obstacle\n\n・stage skip\n　You can skip the stage three times with the Q key\n\n・mini\n　become smaller\n\n・air jump\n　You can jump again in the air\n\n・penetration\n　You can penetrate the wall by holding down the R key and running to it.(Limited)\n\n・sluggish\n　slows down\n\n・Nocturnality\n　narrow field of vision\n\n・Teleporter\n　You can teleport to where you tapped or clicked only 3 times\n\n・Needle lover\n　All stages become stages with only three needles\n\n・one-hit wonder\n　You can become invincible for up to 5 stages with the Z key\n----------------------------------------------------------------日本語\n►難易度：★☆☆☆☆\n\n►説明\n矢印キーまたは画面タップで操作。\n針やマグマに当たると死んでしまいます。\nこの作品は、最初にランダムで能力を入手できます。\nその能力を使いこなしてクリアできるでしょうか?\nクリア出来たらコメント欄でタイムを教えて下さい!\nちなみに作者のタイムは忍者で70秒です。\n\n►能力一覧とその効果\n\n・忍者\n　足が速くなる\n\n・低重力\n　ジャンプ力が上がる\n\n・ラッキー\n　50%の確率で障害物に当たってもやられない\n\n・ステージスキップ\n　Qキーで三回ステージをスキップできる\n\n・ミニ\n　小さくなる\n\n・空中ジャンプ\n　空中でもう一回ジャンプできる\n\n・貫通\n　Rキーを押しながら壁に走ると貫通できる（制限あり）\n\n・鈍足\n　足が遅くなる\n\n・夜行性\n　視界が狭くなる\n\n・テレポーター\n　3回のみタップ又はクリックしたところにテレポートできる\n\n・針愛好家\n　全てのステージが針が三つのみのステージになる\n\n・一発屋\n　Zキーで最大五ステージ無敵状態になれる\n-------------------------------------------------------------------------\n►クレジット\n音:効果音ラボ様\n揺れるプログラム:@ketiketi87様\n抽選箱参考:@kicrage_games様\nイントロ:@SHOMA-628様\nプレイヤーの一部参考:@sosukeyamakawa様\n空中ジャンプ参考:@misonosin様\nプレイ中の曲:@sosukeyamakawa様\nプレイ前の曲:魔王魂様\n\n感謝します

@Stage\n\nwhen flag clicked\nswitch backdrop to (背景1 v)\n\nwhen I receive [reset v]\nswitch backdrop to (背景2 v)\n\nwhen I receive [go v]\nswitch backdrop to (背景3 v)\nforever\n    play sound [Nebula v] until done\nend\n\n@player\n\nwhen flag clicked\nforever\n    if <(move) = [1]> then\n        if <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>> then\n            if <(Ninja) = [1]> then\n                change [x v] by (1.5)\n            else\n                if <(sluggish) = [1]> then\n                    change [x v] by (0.5)\n                else\n                    change [x v] by (1)\n                end\n            end\n            point in direction (90)\n        end\n        if <<key (left arrow v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>> then\n            if <(Ninja) = [1]> then\n                change [x v] by (-1.5)\n            else\n                if <(sluggish) = [1]> then\n                    change [x v] by (-0.5)\n                else\n                    change [x v] by (-1)\n                end\n            end\n            point in direction (-90)\n        end\n        set [x v] to ((x) * (0.9))\n        change x by (x)\n        if <touching (road v)?> then\n            change y by (1)\n            if <touching (road v)?> then\n                change y by (1)\n                if <touching (road v)?> then\n                    change y by (1)\n                    if <touching (road v)?> then\n                        change y by (1)\n                        if <touching (road v)?> then\n                            change y by (1)\n                            if <touching (road v)?> then\n                                change y by (1)\n                                if <touching (road v)?> then\n                                    if <<<(penetration) = [1]> and <key (r v) pressed?>> and <not <(penetration limit) < [1]>>> then\n                                        change [penetration limit v] by (-1)\n                                    else\n                                        change x by ((x) * (-1))\n                                    end\n                                    change y by (-6)\n                                    if <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>> then\n                                        if <(direction) = [90]> then\n                                            set [x v] to [-8]\n                                        else\n                                            set [x v] to [8]\n                                        end\n                                        if <(low gravity) = [1]> then\n                                            start sound [可愛いジャンプ v]\n                                            set [y v] to [20]\n                                        else\n                                            start sound [可愛いジャンプ v]\n                                            set [y v] to [15]\n                                        end\n                                    else\n                                        set [x v] to [0]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [y v] by (-1)\n        change y by (y)\n        if <touching (road v)?> then\n            change y by ((0) - (y))\n            set [y v] to [0]\n            set [number of jumps v] to [0]\n        end\n    end\n    change y by (-2)\n    if <(x position) > [239]> then\n        broadcast (next v)\n        change [stage v] by (1)\n        wait (1) seconds\n        初期設定\n    end\nend\n\nwhen flag clicked\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (player2 v)\nrepeat (10)\n    go to [back v] layer\n    change size by (-7)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nhide\nset [move v] to [0]\n初期設定\n\ndefine 初期設定\nset [color v] effect to (0)\nset [x v] to [0]\nset [y v] to [0]\npoint in direction (90)\ngo to x: (-202) y: (-43)\n\nwhen I receive [go v]\nshow\nset [move v] to [1]\n\nwhen flag clicked\nforever\n    if <<touching (thorn v)?> or <(y position) < [-180]>> then\n        if <(lucky) = [1]> then\n            set [50% v] to (pick random (0) to (1))\n        end\n        if <(50%) = [1]> then\n            wait until <not <touching (thorn v)?>>\n        else\n            set [move v] to [0]\n            repeat (10)\n                change [ghost v] effect by (10)\n            end\n            初期設定\n            wait (0.8) seconds\n            repeat (10)\n                change [ghost v] effect by (-10)\n            end\n            set [move v] to [1]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(mini) = [1]> then\n        set size to (50) %\n    end\nend\n\nwhen flag clicked\nset size to (100) %\n\nset [number of jumps v] to [0]\n\nwhen flag clicked\n\nforever\n\n\n\nchange [number of jumps v] by (1)\n\nwhen flag clicked\nforever\n    if <(move) = [1]> then\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>> then\n            if <(air jump) = [1]> then\n                if <touching (road v)?> then\n                    start sound [可愛いジャンプ v]\n                    set [y v] to [15]\n                else\n                    if <(number of jumps) = [0]> then\n                        start sound [可愛いジャンプ v]\n                        set [y v] to [15]\n                        change [number of jumps v] by (1)\n                    end\n                end\n                wait (0.3) seconds\n            else\n                if <touching (road v)?> then\n                    start sound [可愛いジャンプ v]\n                    if <(low gravity) = [1]> then\n                        set [y v] to [20]\n                    else\n                        set [y v] to [15]\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\nend\n\nwhen I receive [a v]\n初期設定\n\nchange x by (-1)\n\nwhen I receive [go v]\nforever\n    if <(penetration limit) < [0]> then\n        set [penetration limit v] to [0]\n    end\n    if <<touching (road v)?> and <(penetration limit) = [0]>> then\n        wait (1) seconds\n        set [move v] to [0]\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        初期設定\n        wait (0.8) seconds\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        set [move v] to [1]\n    end\nend\n\nwhen flag clicked\nset [penetration limit v] to [500]\n\nwhen I receive [go v]\nif <(penetration) = [1]> then\n    show variable [penetration limit v]\nelse\n    hide variable [penetration limit v]\nend\n\nwhen flag clicked\nset [teleport limit v] to [0]\nhide variable [teleport limit v]\n\nwhen I receive [go v]\nif <(Teleporter) = [1]> then\n    set [teleport limit v] to [3]\n    show variable [teleport limit v]\nend\nforever\n    if <<(Teleporter) = [1]> and <<(Teleport limit) > [0]> and <mouse down?>>> then\n        wait until <not <mouse down?>>\n        go to (mouse-pointer v)\n        change [teleport limit v] by (-1)\n    end\nend\n\nwhen flag clicked\nset [stage v] to [1]\n\nwhen flag clicked\nset [stage v] to [0]\n\nwhen I receive [go v]\nshow variable [one-hit wonder limit v]\nif <(one-hit wonder) = [1]> then\n    set [one-hit wonder limit v] to [5]\n    forever\n        set [50% v] to [0]\n        if <key (z v) pressed?> then\n            if <(one-hit wonder limit) > [0]> then\n                set [one-hit wonder record v] to (stage)\n                change [one-hit wonder limit v] by (-1)\n            end\n            repeat until <not <(stage) = (one-hit wonder record)>>\n                set [50% v] to [1]\n                change [color v] effect by (5)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [one-hit wonder limit v] to [0]\n\nwhen flag clicked\nhide variable [one-hit wonder limit v]\n\n@road\n\nwhen flag clicked\nswitch costume to (road1 v)\nforever\n    go to [back v] layer\nend\n\nwhen I receive [next v]\n\nwhen I receive [a v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [go v]\nshow\n\nwhen flag clicked\nhide variable [time v]\nset [time v] to [0]\n\nwhen I receive [go v]\nrepeat until <(costume [number v]) = [16]>\n    wait (1) seconds\n    change [time v] by (1)\nend\nshow variable [time v]\n\nwhen flag clicked\nforever\n    if <<<(move) = [1]> and <<(stage skip) = [1]> and <<key (q v) pressed?> and <not <(costume [number v]) = [16]>>>>> and <not <(skip number) = [3]>>> then\n        change [skip number v] by (1)\n        broadcast (next v)\n    end\nend\n\nwhen flag clicked\nset [skip number v] to [0]\n\nwait (1) seconds\nnext costume\n\n\n\nwhen I receive [go v]\nif <(needle lover) = [1]> then\n    repeat until <(stage) = [16]>\n        switch costume to (road1 v)\n    end\n    wait (2) seconds\n    switch costume to (road16 v)\nend\n\n@thorn\n\nwhen flag clicked\nset x to (0)\nset y to (0)\nswitch costume to (thorn1 v)\nshow\n\nwhen I receive [8 v]\nswitch costume to (thorn8 v)\n\nwhen I receive [a v]\nnext costume\n\nwhen I receive [a v]\nwait (0.01) seconds\ngo to [back v] layer\nset y to (0)\nswitch costume to ([costume # v] of [road v])\nif <([costume # v] of [road v]) = [8]> then\n    repeat until <([costume # v] of [road v]) = [9]>\n        repeat (5)\n            change y by (2)\n            wait (0.1) seconds\n        end\n        wait (0.4) seconds\n        repeat (5)\n            change y by (-2)\n            wait (0.1) seconds\n        end\n        wait (0.4) seconds\n    end\nend\n\nwhen I receive [go v]\nforever\n    if <(needle lover) = [1]> then\n        if <(stage) < [16]> then\n            switch costume to (thorn16 v)\n        else\n            switch costume to (thorn1 v)\n        end\n    end\nend\n\n@card\n\nwhen I receive [decision v]\ngo to [front v] layer\nstart sound [ヒューンと落下 v]\nset [decision v] to [1]\nshow\npoint in direction (0)\nset size to (10) %\ngo to x: (0) y: (70)\nset [y\(card\) v] to [9]\nrepeat until <(y\(card\)) < [-10]>\n    change [y\(card\) v] by (-0.5)\n    change y by (y\(card\))\n    turn right (30) degrees\n    change size by (5)\nend\nplay sound [ジャジャーン v] until done\nwait (2) seconds\nbroadcast (go v)\nglide (1) secs to x: (-184) y: (144)\n\nwhen flag clicked\nset [decision v] to [0]\nset [shake v] to [0]\nset [ninja v] to [0]\nset [low gravity v] to [0]\nset [lucky v] to [0]\nset [stage skip v] to [0]\nset [50% v] to [0]\nset [mini v] to [0]\nset [air jump v] to [0]\nset [number of jumps v] to [0]\nset [penetration v] to [0]\nset [sluggish v] to [0]\nset [nocturnality v] to [0]\nset [teleporter v] to [0]\nset [needle lover v] to [0]\nset [one-hit wonder v] to [0]\nswitch costume to (pick random (1) to (12))\nhide\n\nwhen I receive [shake v]\nset [low gravity v] to [0]\nset [ninja v] to [0]\nset [lucky v] to [0]\nset [stage skip v] to [0]\nset [air jump v] to [0]\nset [penetration v] to [0]\nset [sluggish v] to [0]\nset [mini v] to [0]\nset [nocturnality v] to [0]\nset [teleporter v] to [0]\nset [needle lover v] to [0]\nswitch costume to (pick random (1) to (11))\n\nwhen I receive [go v]\nrepeat until <(size) < [66]>\n    change size by (-4.5)\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [1]> then\n        set [ninja v] to [1]\n    end\n    if <(costume [number v]) = [2]> then\n        set [low gravity v] to [1]\n    end\n    if <(costume [number v]) = [3]> then\n        set [lucky v] to [1]\n    end\n    if <(costume [number v]) = [4]> then\n        set [stage skip v] to [1]\n    end\n    if <(costume [number v]) = [5]> then\n        set [mini v] to [1]\n    end\n    if <(costume [number v]) = [6]> then\n        set [air jump v] to [1]\n    end\n    if <(costume [number v]) = [7]> then\n        set [penetration v] to [1]\n    end\n    if <(costume [number v]) = [8]> then\n        set [sluggish v] to [1]\n    end\n    if <(costume [number v]) = [9]> then\n        set [nocturnality v] to [1]\n    end\n    if <(costume [number v]) = [10]> then\n        set [teleporter v] to [1]\n    end\n    if <(costume [number v]) = [11]> then\n        set [needle lover v] to [1]\n    end\n    if <(costume [number v]) = [12]> then\n        set [one-hit wonder v] to [1]\n    end\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@next\n\nwhen I receive [next v]\nshow\ngo to [front v] layer\ngo to x: (460) y: (0)\nset [move v] to [0]\nset [next gravity v] to [0]\nrepeat until <(x position) = [0]>\n    change x by (-46)\nend\nbroadcast (a v)\nwait (1) seconds\nrepeat until <(x position) = [-460]>\n    change x by (-46)\nend\nset [move v] to [1]\nhide\n\nchange [next gravity v] by (-1)\n\nset [next gravity v] to [0]\n\nchange [next gravity v] by (-1)\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@box\n\nwhen flag clicked\nhide\npoint in direction (90)\nswitch costume to (costume1 v)\nset [sway v] to [0]\n\nwhen I receive [shake v]\nstart sound [抽選機を回す v]\nset [shake v] to [1]\nrepeat (80)\n    change [sway v] by (10)\n    point in direction ((90) + ((10) * ([sin v] of (sway) )))\nend\nwait (1) seconds\npoint in direction (90)\nbroadcast (i v)\nset [shake v] to [0]\n\nwhen I receive [reset v]\nshow\n\nwhen I receive [go v]\nstop all sounds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [reset v]\nwait (2) seconds\nrepeat until <(move) = [1]>\n    play sound [魔王魂 BGM アコースティック50 v] until done\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\n@shake\n\nwhen I receive [i v]\nshow\n\nwhen I receive [decision v]\nhide\n\nwhen I receive [reset v]\nshow\n\nwhen I receive [go v]\nhide\n\nwhen I receive [reset v]\nforever\n    if <<(decision) = [0]> and <(shake) = [0]>> then\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            wait until <not <mouse down?>>\n            repeat (4)\n                next costume\n            end\n            start sound [決定ボタンを押す22 v]\n            broadcast (shake v)\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nswitch costume to (shake v)\nhide\n\n@decision\n\nswitch costume to (decision v)\n\nwhen I receive [shake v]\nhide\n\nwhen I receive [i v]\nshow\n\nwhen I receive [reset v]\nshow\n\nwhen I receive [go v]\nhide\n\nwhen I receive [reset v]\nforever\n    if <<(decision) = [0]> and <(shake) = [0]>> then\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            wait until <not <mouse down?>>\n            repeat (4)\n                next costume\n            end\n            start sound [決定ボタンを押す22 v]\n            broadcast (decision v)\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\n@intro\n\nwhen I start as a clone\nset size to (100) %\npoint in direction (90)\nclear graphic effects\nif <(costume [name v]) = [LOGO]> then\n    go to [back v] layer\n    switch costume to (logo v)\n    show\n    go to x: (123) y: (230)\n    wait (0.6) seconds\n    repeat (27)\n        change y by (((0) - (y position)) / (5))\n    end\n    repeat (100)\n        if <(FLASH) = [1]> then\n            set size to (100) %\n            change size by (40)\n            repeat (20)\n                change size by (((100) - (size)) / (7))\n            end\n        end\n    end\nend\nif <(costume [name v]) = [NAME]> then\n    set [intro v] to [0]\n    go to [back v] layer\n    switch costume to (name v)\n    show\n    go to x: (0) y: (230)\n    repeat (30)\n        change y by (((0) - (y position)) / (5))\n    end\n    repeat (15)\n        point in direction (90)\n        turn right (50) degrees\n        wait () seconds\n        change [intro v] by (1)\n        broadcast (FLASH v)\n        repeat (22)\n            turn right (((90) - (direction)) / (5)) degrees\n        end\n        if <(Intro) = [3]> then\n            repeat (22)\n                change x by (((-123) - (x position)) / (7))\n            end\n        end\n    end\nend\nif <(costume [name v]) = [2]> then\n    go to [front v] layer\n    switch costume to (2 v)\n    show\n    go to x: (0) y: (230)\n    repeat (40)\n        change y by (((100) - (y position)) / (5))\n    end\nend\nif <(costume [name v]) = [3]> then\n    go to [front v] layer\n    switch costume to (3 v)\n    show\n    go to x: (0) y: (-230)\n    repeat (40)\n        change y by (((-100) - (y position)) / (5))\n    end\nend\nif <(costume [name v]) = [4]> then\n    switch costume to (4 v)\n    show\n    go to x: (310) y: (0)\n    go to [back v] layer\n    glide (3) secs to x: (-310) y: (0)\n    delete this clone\nend\nif <(costume [name v]) = [5]> then\n    go to [back v] layer\n    go [forward v] (1) layers\n    show\n    clear graphic effects\n    switch costume to (5 v)\n    go to x: (pick random (-200) to (200)) y: (pick random (70) to (-70))\n    set size to (pick random (30) to (70)) %\n    repeat (6)\n        next costume\n        change size by (3)\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine ウェイト (秒数)\nwait until <(秒数) < (timer)>\n\ngo to [front v] layer\n\ndefine クローン (id)\nswitch costume to (id)\ncreate clone of (_myself_ v)\n\nwhen I receive [flash v]\nset [flash v] to [1]\nclear graphic effects\nset [brightness v] effect to (100)\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nset [flash v] to [0]\n\nwhen flag clicked\nif <[遊んだ人 v] contains (username)?> then\n    broadcast (RESET v)\nelse\n    add (username) to [遊んだ人 v]\n    broadcast (intro? v)\nend\n\nwhen I receive [intro? v]\nhide\nstart sound [Nightcore - Tonight \(Nurko feat Luma\) v]\nset size to (100) %\nreset timer\nhide variable [intro v]\nhide variable [flash v]\nset [flash v] to [0]\nクローン [2]\nクローン [3]\nウェイト [1]\nクローン [NAME]\nwait until <(Intro) = [3]>\nクローン [LOGO]\n\nwhen I receive [intro? v]\nウェイト [2]\nrepeat (10)\n    クローン [9]\n    wait (0.75) seconds\nend\n\nwhen I receive [intro? v]\nウェイト [2]\nrepeat (10)\n    クローン [9]\n    クローン [4]\n    wait (0.75) seconds\nend\n\n@intro2\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [intro? v]\nreset timer\nhide\nwait until <[10] < (timer)>\nshow\ngo to x: (0) y: (300)\ngo to [front v] layer\nrepeat (50)\n    change y by (((0) - (y position)) / (7))\nend\nbroadcast (RESET v)\nrepeat (50)\n    change y by (((350) - (y position)) / (7))\nend\nhide\nstop [this script v]\n\n@...\n\nwhen flag clicked\nhide\nforever\n    go to (player v)\n    go to [back v] layer\nend\n\nwhen flag clicked\nforever\n    if <<(move) = [1]> and <(low gravity) = [1]>> then\n        show\n    else\n        hide\n    end\nend\n\n@thumbnail\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@claim stars, hearts and follows\n\nwhen flag clicked\nhide\n\nwhen I receive [音◯ v]\nrepeat (20)\n    change volume by (-5)\nend\n\nwhen I receive [音 v]\nrepeat (20)\n    change volume by (5)\nend\n\nwhen flag clicked\nwait (20) seconds\nforever\n    go to [front v] layer\n    show\n    go to x: (152) y: (350)\n    repeat (30)\n        change y by (((145) - (y position)) / (4))\n    end\n    wait (3) seconds\n    repeat (5)\n        change y by (7)\n    end\n    hide\n    wait (20) seconds\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@スプライト1\n\nwhen flag clicked\nhide\n\nwhen I receive [go v]\nif <(stage skip) = [1]> then\n    show\n    go to [back v] layer\nend\n\nwhen flag clicked\nforever\n    if <(stage skip) = [1]> then\n        if <<not <(skip number) = [3]>> and <<mouse down?> and <touching (mouse-pointer v)?>>> then\n            wait until <not <mouse down?>>\n            change [skip number v] by (1)\n            broadcast (next v)\n            wait (3) seconds\n        end\n    end\nend\n\n@スプライト2\n\nwhen flag clicked\nhide\n\nwhen I receive [go v]\nforever\n    if <(Nocturnality) = [1]> then\n        show\n        go to (player v)\n    end\nend\n\n