☁︎Online☁︎ 逆PLATFORMER

Instructions: https://scratch.mit.edu/projects/947151325/\n新作\n日本語は下\nEnglish\nOperate with up/down/left/right keys or tap.\nThis time, the stage and needle judgment are exactly opposite, so let's move forward while touching the needle. If it touches the ground, it dies.\n*If you die in stages 6 and 7, you will be returned to stage 1. Stages 6 and 7 also have hooks. Proceed with caution.\nAim for a fast time!\n日本語\n上下左右キーまたはタップで操作。\n今回はステージと針の判定が真逆になっているので、針に触れながら進みましょう。地面に触れると死にます。\n※ステージ6，7は死ぬとステージ1に戻されます。ステージ6，7は引っ掛けもあります。気を付けて進もう。\n速いタイムを目指そう！

@Stage\n\nwhen flag clicked\nforever\n    if <<(current [hour v]) = [5]> or <<(current [hour v]) = [6]> or <<(current [hour v]) = [7]> or <<(current [hour v]) = [8]> or <<(current [hour v]) = [9]> or >>>>> then\n        switch backdrop to (朝 v)\n    else\n        if <<(current [hour v]) = [12]> or <<(current [hour v]) = [13]> or <<(current [hour v]) = [14]> or <<(current [hour v]) = [15]> or <<(current [hour v]) = [16]> or <<(current [hour v]) = [17]> or >>>>>> then\n            switch backdrop to (昼 v)\n        else\n            switch backdrop to (夜 v)\n        end\n    end\nend\n\nwhen I receive [メッセージ1 v]\nforever\n    play sound [音 v] until done\nend\n\n@スプライト1\n\nwhen I receive [オンライン確認 v]\nwait until <<(☁ １) = [0]> or <<(☁ ２) = [0]> or <<(☁ ３) = [0]> or <<(☁ ４) = [0]> or <(☁ 5) = [0]>>>>>\nset [okey v] to [1]\nif <(☁ １) = [0]> then\n    set [player v] to [1]\nelse\n    if <(☁ ２) = [0]> then\n        set [player v] to [2]\n    else\n        if <(☁ ３) = [0]> then\n            set [player v] to [3]\n        else\n            if <(☁ ４) = [0]> then\n                set [player v] to [4]\n            else\n                if <(☁ 5) = [0]> then\n                    set [player v] to [5]\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nforever\n    set size to (50) %\n    if <(番号) = [1]> then\n        if <(Player) = (番号)> then\n            hide\n            set [☁ １ v] to (join (join ((x) + (400)) ((y) + (400))) (join (timer) (ステージ)))\n        else\n            if <(☁ １) = [0]> then\n                hide\n            else\n                if <(letter (8) of (☁ １)) = (ステージ)> then\n                    show\n                else\n                    hide\n                end\n                go to x: ((join (letter (1) of (☁ １)) (join (letter (2) of (☁ １)) (letter (3) of (☁ １)))) - (400)) y: ((join (letter (4) of (☁ １)) (join (letter (5) of (☁ １)) (letter (6) of (☁ １)))) - (400))\n            end\n        end\n    end\n    if <(番号) = [2]> then\n        if <(Player) = (番号)> then\n            hide\n            set [☁ ２ v] to (join (join ((x) + (400)) ((y) + (400))) (join (timer) (ステージ)))\n        else\n            if <(☁ ２) = [0]> then\n                hide\n            else\n                if <(letter (8) of (☁ ２)) = (ステージ)> then\n                    show\n                else\n                    hide\n                end\n                go to x: ((join (letter (1) of (☁ ２)) (join (letter (2) of (☁ ２)) (letter (3) of (☁ ２)))) - (400)) y: ((join (letter (4) of (☁ ２)) (join (letter (5) of (☁ ２)) (letter (6) of (☁ ２)))) - (400))\n            end\n        end\n    end\n    if <(番号) = [3]> then\n        if <(Player) = (番号)> then\n            hide\n            set [☁ ３ v] to (join (join ((x) + (400)) ((y) + (400))) (join (timer) (ステージ)))\n        else\n            if <(☁ ３) = [0]> then\n                hide\n            else\n                if <(letter (8) of (☁ ３)) = (ステージ)> then\n                    show\n                else\n                    hide\n                end\n                go to x: ((join (letter (1) of (☁ ３)) (join (letter (2) of (☁ ３)) (letter (3) of (☁ ３)))) - (400)) y: ((join (letter (4) of (☁ ３)) (join (letter (5) of (☁ ３)) (letter (6) of (☁ ３)))) - (400))\n            end\n        end\n    end\n    if <(番号) = [4]> then\n        if <(Player) = (番号)> then\n            hide\n            set [☁ ４ v] to (join (join ((x) + (400)) ((y) + (400))) (join (timer) (ステージ)))\n        else\n            if <(☁ ４) = [0]> then\n                hide\n            else\n                if <(letter (8) of (☁ ４)) = (ステージ)> then\n                    show\n                else\n                    hide\n                end\n                go to x: ((join (letter (1) of (☁ ４)) (join (letter (2) of (☁ ４)) (letter (3) of (☁ ４)))) - (400)) y: ((join (letter (4) of (☁ ４)) (join (letter (5) of (☁ ４)) (letter (6) of (☁ ４)))) - (400))\n            end\n        end\n    end\n    if <(番号) = [5]> then\n        if <(Player) = (番号)> then\n            hide\n            set [☁ 5 v] to (join (join ((x) + (400)) ((y) + (400))) (join (timer) (ステージ)))\n        else\n            if <(☁ 5) = [0]> then\n                hide\n            else\n                if <(letter (8) of (☁ 5)) = (ステージ)> then\n                    show\n                else\n                    hide\n                end\n                go to x: ((join (letter (1) of (☁ 5)) (join (letter (2) of (☁ 5)) (letter (3) of (☁ 5)))) - (400)) y: ((join (letter (4) of (☁ 5)) (join (letter (5) of (☁ 5)) (letter (6) of (☁ 5)))) - (400))\n            end\n        end\n    end\nend\n\nwhen I receive [メッセージ1 v]\nforever\n    set [timer v] to [0]\n    repeat (2)\n        change [timer v] by (1)\n        wait (0.6) seconds\n    end\nend\n\nwhen I receive [オンライン確認 v]\ndelete all of [online v]\nrepeat (5)\n    add [] to [online v]\nend\nforever\n    replace item (1) of [online v] with (☁ １)\n    replace item (2) of [online v] with (☁ ２)\n    replace item (3) of [online v] with (☁ ３)\n    replace item (4) of [online v] with (☁ ４)\n    replace item (5) of [online v] with (☁ 5)\n    wait (1.5) seconds\n    set [人数 v] to [0]\n    if <(item (1) of [online v]) = (☁ １)> then\n        change [人数 v] by (1)\n        set [☁ １ v] to [0]\n    end\n    if <(item (2) of [online v]) = (☁ ２)> then\n        change [人数 v] by (1)\n        set [☁ ２ v] to [0]\n    end\n    if <(item (3) of [online v]) = (☁ ３)> then\n        change [人数 v] by (1)\n        set [☁ ３ v] to [0]\n    end\n    if <(item (4) of [online v]) = (☁ ４)> then\n        change [人数 v] by (1)\n        set [☁ ４ v] to [0]\n    end\n    if <(item (5) of [online v]) = (☁ 5)> then\n        change [人数 v] by (1)\n        set [☁ 5 v] to [0]\n    end\n    set [本当の人数 v] to (人数)\nend\n\nwhen flag clicked\nset [okey v] to [0]\nbroadcast (オンライン確認 v)\nbroadcast (LOWDING v) and wait\nset [番号 v] to [0]\nrepeat (5)\n    change [番号 v] by (1)\n    create clone of (_myself_ v)\nend\nbroadcast (メッセージ1 v)\n\n@プレイヤー\n\ndefine 初期位置\ngo to [front v] layer\nset size to (50) %\ngo to x: (-225) y: (0)\nset rotation style [left-right v]\nset [ｘ v] to [0]\nset [ｙ v] to [0]\nshow\n\nwhen flag clicked\nhide variable [タイム v]\nhide variable [☁ 世界記録 v]\nset [タイム v] to [0]\nforever\n    repeat until <(ステージ) = [10]>\n        set [タイム v] to ((round ((timer) * (100))) / (100))\n    end\n    if <(ステージ) = [10]> then\n        if <(☁ 世界記録) > (タイム)> then\n            set [☁ 世界記録 v] to (タイム)\n            show variable [タイム v]\n            show variable [☁ 世界記録 v]\n        else\n            show variable [タイム v]\n            show variable [☁ 世界記録 v]\n        end\n    end\nend\n\nwhen I receive [メッセージ1 v]\nset [ステージ v] to [1]\n初期位置\nforever\n    if <<key (down arrow v) pressed?> or <<key (s v) pressed?> or <<mouse down?> and <[0] < (mouse y)>>>> then\n        switch costume to (コスチューム1 v)\n    else\n        switch costume to (f v)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <[0] < (mouse x)>>> then\n        set [タイムアウト v] to [0]\n        change [ｘ v] by (1.75)\n        point in direction (90)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <[0] > (mouse x)>>> then\n        set [タイムアウト v] to [0]\n        change [ｘ v] by (-1.75)\n        point in direction (-90)\n    end\n    set [ｘ v] to ((ｘ) * (0.8))\n    change x by (ｘ)\n    if <touching (スプライト2 v)?> then\n        change y by (1)\n        if <touching (スプライト2 v)?> then\n            change y by (1)\n            if <touching (スプライト2 v)?> then\n                change y by (1)\n                if <touching (スプライト2 v)?> then\n                    change y by (1)\n                    if <touching (スプライト2 v)?> then\n                        change y by (1)\n                        if <touching (スプライト2 v)?> then\n                            change x by ((ｘ) * (-1))\n                            change y by (-5)\n                            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                                set [タイムアウト v] to [0]\n                                if <(ｘ) > [0]> then\n                                    set [ｘ v] to [-15]\n                                else\n                                    set [ｘ v] to [15]\n                                end\n                                set [ｙ v] to [14.5]\n                            else\n                                set [ｘ v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [ｙ v] by (-1)\n    change y by (ｙ)\n    if <touching (スプライト2 v)?> then\n        change y by ((ｙ) * (-1))\n        set [ｙ v] to [0]\n    end\n    change y by (-1)\n    if <<touching (スプライト2 v)?> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n        set [タイムアウト v] to [0]\n        change [ｙ v] by (16)\n        start sound [Jump v]\n    end\n    change y by (1)\n    if <<<touching (ステージ v)?> or <touching (ステージ v)?>> or <[-178] > (y position)>> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        wait (0.5) seconds\n        if <<(ステージ) = [6]> or <(ステージ) = [7]>> then\n            set [ステージ v] to [1]\n        end\n        初期位置\n        change [ghost v] effect by (-100)\n    end\n    if <not <(ステージ) = [9]>> then\n        if <(x position) > [225]> then\n            change [ステージ v] by (1)\n            change [マグマ v] by (1)\n            change [針 v] by (1)\n            wait (0.05) seconds\n            初期位置\n        end\n    end\nend\n\nwhen I receive [メッセージ1 v]\nforever\n    set [x v] to (round (x position))\n    set [y v] to (round (y position))\nend\n\nwhen flag clicked\nhide\n\n@ステージ\n\nwhen flag clicked\nhide\n\nwhen I receive [メッセージ1 v]\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nset size to (100) %\nshow\nset [ステージ v] to [1]\nforever\n    switch costume to (ステージ)\nend\n\n@スプライト6\n\nwhen I receive [lowding v]\nswitch costume to (12 v)\nset [読み込み v] to [0]\nrepeat (11)\n    erase all\n    set size to (100) %\n    switch costume to (12 v)\n    show\n    go to x: (0) y: (0)\n    stamp\n    set size to (70) %\n    show\n    switch costume to (読み込み)\n    go to x: (0) y: (-100)\n    stamp\n    hide\n    change [読み込み v] by (1)\n    wait (pick random (0.1) to (0.4)) seconds\nend\nwait until <(okey) = [1]>\nerase all\nset size to (100) %\nswitch costume to (12 v)\nshow\ngo to x: (0) y: (0)\nstamp\nshow\nswitch costume to (11 v)\ngo to x: (0) y: (-100)\nset size to (70) %\nstamp\nhide\nwait (1) seconds\nerase all\nbroadcast (LOWDING後 v)\n\nwhen flag clicked\nhide\nerase all\n\ngo to x: (550) y: (50)\n\n@スプライト2\n\nwhen flag clicked\nhide\n\nwhen I receive [メッセージ1 v]\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nset size to (100) %\nshow\nset [ステージ v] to [1]\nforever\n    switch costume to (ステージ)\nend\n\n@タイマー\n\nwhen I start as a clone\ngo to [front v] layer\nrepeat until <(ステージ) = [8]>\n    クローン表示 ((round ((timer) * (100))) / (100))\nend\n\nwhen I receive [クローン削除 v]\ndelete this clone\n\nwhen I receive [メッセージ1 v]\nreset timer\nset [コイン v] to [0]\nset [タイマー長さ v] to [4]\n数字配置\n\nwhen I receive [切り替え v]\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen flag clicked\nhide\n\nwhen I receive [ゴール v]\nstop [other scripts in sprite v]\nbroadcast (クローン削除 v)\nset [タイム v] to ((round ((timer) * (100))) / (100))\nwait (1) seconds\nclear graphic effects\ngo to x: (0) y: (100)\n数字 (タイム) (length of (タイム))\n\ndefine 数字 (値) (クローン数)\nset [順番 v] to [1]\nrepeat (クローン数)\n    set size to (150) %\n    switch costume to (letter (順番) of (値))\n    create clone of (_myself_ v)\n    change [順番 v] by (1)\n    change x by (30)\nend\n\ndefine クローン表示 (タイマー)\nif <(y position) = [5]> then\n    show\nelse\n    if <[80] < (x position)> then\n        if <(length of (タイマー)) < (順番)> then\n            hide\n        else\n            switch costume to (letter (順番) of (タイマー))\n            show\n            if <(タイマー長さ) < (length of (タイマー))> then\n                change [タイマー長さ v] by (1)\n                broadcast (再描画 v)\n            end\n        end\n    else\n        if <(length of (コイン)) < (順番)> then\n            hide\n        else\n            switch costume to (letter (順番) of (コイン))\n            show\n        end\n    end\nend\n\nwhen I receive [再描画 v]\nbroadcast (クローン削除 v)\n数字配置\n\ndefine 数字配置\ngo to x: (90) y: (150)\n数字 (timer) (タイマー長さ)\n\n@タイム\n\nwhen flag clicked\nhide\n\nwhen I receive [メッセージ1 v]\nshow\n\n@スプライト3\n\n@スプライト4\n\nwhen flag clicked\nforever\n    point in direction (90)\n    switch costume to (コスチューム17 v)\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\n    show\nend\n\n@スプライト5\n\nwhen I receive [メッセージ1 v]\nforever\n    switch costume to ((本当の人数) + (1))\n    if <(username) = []> then\n        switch costume to (0 v)\n    end\n    go to x: (181) y: (93)\n    go to [front v] layer\n    show\nend\n\nwhen flag clicked\nhide\n\n@スプライト7\n\nwhen I receive [メッセージ1 v]\nset [タイムアウト v] to [0]\nforever\n    change [タイムアウト v] by (1)\n    wait (0.9) seconds\n    if <(タイムアウト) > [50]> then\n        show\n        switch costume to (コスチューム1 v)\n        go to [front v] layer\n        stop [all v]\n    end\nend\n\nwhen I receive [メッセージ1 v]\nset [タイムアウト v] to [0]\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nhide\n\n