✨360°platformer✨

Instructions: 日本語は↓\nEnglish▼————————————————————\nMove or jump with arrow keys. Mobile users can tap the screen to move. There are 4 stages in all. Mobile players can use the arrow buttons on the screen, and PC players can use the arrow keys to select stages.\n日本語▼————————————————————\n矢印キーで移動、またはジャンプ。モバイルの方は画面をタップして移動できます。全てで4ステージあります。モバイルの方は画面にある矢印ボタンで、pcでプレイしている方は矢印キーでステージ選択ができます。

@Stage\n\nwhen flag clicked\nforever\n    play sound [nagagutsudeodekake v] until done\nend\n\n@Player\n\nwhen I receive [スタート v]\npoint in direction (90)\ngo to x: (0) y: (0)\n\n@地面\n\ndefine リセット\nstart sound [Crunch v]\nset [y v] to [0]\ngo to x: (0) y: (-500)\npoint in direction (90)\nswitch costume to (:d v)\nset size to (300) %\nswitch costume to ((レベル) + (1))\n\nwhen I receive [初期設定プログラム v]\nリセット\n\ndefine プログラム\nchange [y v] by (1)\nchange [x v] by ((<<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>> - <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>) / (6))\nset [x v] to ((X) * (0.85))\nturn left (X) degrees\nrepeat (9)\n    if <touching (player v)?> then\n        change y by (-1)\n    end\nend\nif <touching (player v)?> then\n    change y by (8)\n    turn right (X) degrees\n    set [x v] to [0]\nend\nchange y by (Y)\nif <touching (player v)?> then\n    change y by ((Y) * (-1))\n    set [y v] to [0]\nend\nchange y by (1)\nif <touching (player v)?> then\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <(([y position v] of [player v]) + (10)) < (mouse y)>>> or <key (w v) pressed?>> then\n        start sound [Jump v]\n        set [y v] to [-13]\n    end\nend\nchange y by (-1)\n\nwhen I receive [スタート v]\nset [y v] to [0]\ngo to x: (0) y: (-500)\npoint in direction (90)\nswitch costume to (:d v)\nset size to (300) %\nswitch costume to ((レベル) + (1))\nforever\n    プログラム\nend\n\n@障害物\n\nwhen I receive [スタート v]\ngo to [back v] layer\nswitch costume to (:d v)\nset size to (300) %\nswitch costume to ((レベル) + (1))\npoint in direction (90)\ngo to x: (0) y: (-500)\nforever\n    go to x: ([x position v] of [地面 v]) y: (([y position v] of [地面 v]) - (5))\n    point in direction ([direction v] of [地面 v])\n    if <touching (player v)?> then\n        broadcast (初期設定プログラム v)\n    end\nend\n\n@ゴール\n\nwhen I receive [スタート v]\nshow\ngo to [back v] layer\nset size to (300) %\nswitch costume to ((レベル) + (1))\npoint in direction (90)\ngo to x: (0) y: (-500)\nforever\n    go to x: ([x position v] of [地面 v]) y: (([y position v] of [地面 v]) - (5))\n    point in direction ([direction v] of [地面 v])\n    if <<[0] < (x position)> or <[-205] < (y position)>> then\n        hide\n    else\n        show\n    end\n    if <touching (player v)?> then\n        broadcast (クリア v)\n        hide\n        broadcast (初期設定プログラム v)\n    end\nend\n\n@クリア\n\nwhen flag clicked\nhide\n\nwhen I receive [クリア v]\nshow\ngo to x: (0) y: (500)\nrepeat until <(round (y position)) = [0]>\n    change y by (((0) - (y position)) / (6))\nend\nwait (1.5) seconds\nbroadcast (最初の画面 v)\nhide\n\n@マップ\n\nwhen I receive [最初の画面 v]\nset size to (100) %\nset [start v] to []\ngo to [front v] layer\nshow\n\nwhen I receive [スタート v]\nhide\n\n@マップのプレイヤー(？)\n\nwhen flag clicked\nbroadcast (最初の画面 v)\n\nwhen I receive [最初の画面 v]\nwait (0) seconds\nshow\ngo to [front v] layer\ngo to x: (-200) y: (0)\nrepeat until <(start) = [start]>\n    if <key (right arrow v) pressed?> then\n        wait until <not <key (right arrow v) pressed?>>\n        if <(x position) = [81]> then\n            glide (0.5) secs to x: (200) y: (0)\n        end\n        if <(x position) = [-67]> then\n            glide (0.5) secs to x: (81) y: (0)\n        end\n        if <(x position) = [-200]> then\n            glide (0.5) secs to x: (-67) y: (0)\n        end\n        start sound [Basketball Bounce v]\n    end\n    if <key (left arrow v) pressed?> then\n        wait until <not <key (left arrow v) pressed?>>\n        if <(x position) = [-67]> then\n            glide (0.5) secs to x: (-200) y: (0)\n        end\n        if <(x position) = [81]> then\n            glide (0.5) secs to x: (-67) y: (0)\n        end\n        if <(x position) = [200]> then\n            glide (0.5) secs to x: (81) y: (0)\n        end\n        start sound [Basketball Bounce v]\n    end\nend\n\nwhen I receive [スタート v]\nhide\n\nwhen I receive [右移動 v]\nif <(x position) = [81]> then\n    glide (0.5) secs to x: (200) y: (0)\nend\nif <(x position) = [-67]> then\n    glide (0.5) secs to x: (81) y: (0)\nend\nif <(x position) = [-200]> then\n    glide (0.5) secs to x: (-67) y: (0)\nend\nstart sound [Basketball Bounce v]\n\nwhen I receive [左移動 v]\nif <(x position) = [-67]> then\n    glide (0.5) secs to x: (-200) y: (0)\nend\nif <(x position) = [81]> then\n    glide (0.5) secs to x: (-67) y: (0)\nend\nif <(x position) = [200]> then\n    glide (0.5) secs to x: (81) y: (0)\nend\nstart sound [Basketball Bounce v]\n\n@ボタン\n\nwhen I receive [最初の画面 v]\ngo to x: (0) y: (-130)\nwait (0) seconds\nshow\ngo to [front v] layer\n٩( ᐛ )و\n\nwhen I receive [スタート v]\nhide\n\ndefine ٩( ᐛ )و\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((110) - (size)) / (7))\n        if <mouse down?> then\n            wait until <not <<touching (mouse-pointer v)?> and <mouse down?>>>\n            if <(start) = []> then\n                if <touching (mouse-pointer v)?> then\n                    if <([x position v] of [マップのプレイヤー\(？\) v]) = [-200]> then\n                        set [レベル v] to [1]\n                    end\n                    if <([x position v] of [マップのプレイヤー\(？\) v]) = [-67]> then\n                        set [レベル v] to [2]\n                    end\n                    if <([x position v] of [マップのプレイヤー\(？\) v]) = [81]> then\n                        set [レベル v] to [3]\n                    end\n                    if <([x position v] of [マップのプレイヤー\(？\) v]) = [200]> then\n                        set [レベル v] to [4]\n                    end\n                    set [start v] to [start]\n                    broadcast (スタート v)\n                end\n            end\n        end\n    else\n        change size by (((100) - (size)) / (7))\n    end\nend\n\n@左右ボタン\n\nwhen flag clicked\nhide\nswitch costume to (コスチューム2 v)\ngo to x: (-100) y: (-130)\ncreate clone of (_myself_ v)\nnext costume\ngo to x: (100) y: (-130)\ncreate clone of (_myself_ v)\n\nwhen I receive [最初の画面 v]\nshow\n\nwhen I receive [スタート v]\nhide\n\nwhen I start as a clone\nrepeat (2)\n    go to [front v] layer\nend\nshow\nforever\n    go to [front v] layer\n    if <touching (mouse-pointer v)?> then\n        change size by (((120) - (size)) / (6))\n        if <mouse down?> then\n            wait until <not <mouse down?>>\n            if <touching (mouse-pointer v)?> then\n                if <(costume [number v]) = [1]> then\n                    broadcast (右移動 v)\n                end\n                if <(costume [number v]) = [2]> then\n                    broadcast (左移動 v)\n                end\n                wait (0.6) seconds\n            end\n        end\n    else\n        change size by (((100) - (size)) / (6))\n    end\nend\n\n@サムネ\n\nwhen flag clicked\nhide\nforever\n    reset timer\nend\n\nwhen [timer v] > (0)\ngo to [front v] layer\nshow\nset size to (110) %\nrepeat until <(round (size)) = [100]>\n    change size by (((100) - (size)) / (6))\nend\n\n