☁️ Sky island  - Multiplayer platformer -

Instructions: >>>My studio\n◇hiron0413's platformer◇\nhttps://scratch.mit.edu/studios/27006005/\n\nおすすめの時間帯：午後4時～8時頃\n\n効果音：効果音ラボ様\n\n◇追加予定のもの◇\n・新ステージ\n・ジャンプ台\n・チェックポイント\n・効果音\n・ショップ\n・チャット（定型文）\n\n---------------操作方法---------------\n\n　　〔パソコン〕\nA,Dキー or ←,→キー で移動\nWキー or ↑キーでジャンプ\nUse A,D keys or ←,→ keys to move\nUse W key or ↑key to jump\n\n〔スマホ・タブレット〕\n左側・右側をタップして移動、\n上側をタップしてジャンプ\nTap left / right to move\nTap the top to jump\n\n♥️&⭐️を押してくれるととても嬉しいです！\n\nコスチュームは@stratfordjames様の作品を\n参考にさせていただきました。\n\n#games #platformer #action #mobile \n#multiplayer #cloud \n\n2020/7/13 》一部のプログラムの修正\n                     効果音・BGMの追加\n\n2020/7/14 》オンラインのプログラムを修正\n\n2020/7/15 》オンラインのプログラムの修正、\n　　　　　　ステージを1つ追加\n\n2020/7/20 》ステージ内容を一部変更\n

@Stage\n\nwhen I receive [connected! v]\nforever\n    play sound [Chill v] until done\nend\n\n@ステージ\n\nwhen I receive [プログラム2 v]\n移動 ((Camera_x) + (My_x)) ((Camera _y) + (My_y))\n\ndefine 移動 (x) (y)\ngo to x: (x) y: (y)\nif <<([abs v] of (x) ) > ([abs v] of (x position) )> or <([abs v] of (y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    show\nend\n\ndefine 配置 (x) (y) (ステージ)\nset [my_x v] to (x)\nset [my_y v] to (y)\n移動 (x) (y)\nswitch costume to (ステージ)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\n\nwhen I receive [disconnected v]\nforever\n    stop [other scripts in sprite v]\nend\n\ndefine ステージ生成\n配置 [0] [0] [1]\n配置 [480] [0] [2]\n配置 [0] [-360] [3]\n配置 [-480] [-360] [4]\n配置 [-480] [0] [5]\n配置 [480] [-360] [6]\n配置 [480] [-360] [7]\n配置 [-480] [180] [8]\n配置 [0] [180] [9]\n配置 [480] [360] [10]\n配置 [960] [-360] [11]\n配置 [800] [50] [12]\n配置 [1250] [50] [12]\n配置 [650] [850] [13]\n配置 [170] [1200] [14]\n配置 [-310] [1430] [14]\n\nwhen I receive [connected! v]\ngo to x: (0) y: (0)\nreset timer\nhide\nステージ生成\n\nadd [すごい！] to [チャットリスト v]\n\n@Player\n\nwhen flag clicked\nshow\npoint in direction (90)\nswitch costume to (a v)\nset [time v] to [0]\nset [disconnect v] to [0]\nset [点滅 v] to [0]\nset [xの力 v] to [0]\nset [yの力 v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nset [チェックポイントx v] to [0]\nset [チェックポイントy v] to [0]\nset [camera _y v] to [0]\nset [camera_x v] to [0]\nset [fps v] to [100]\ngo to x: (0) y: (0)\nset [表示 v] to [0]\n\ndefine 動作\nif <(点滅) = [0]> then\n    set [ghost v] effect to (100)\n    change [yの力 v] by (-1)\n    switch costume to (a v)\n    if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<<<(mouse x) > [0]> and <not <[-200] > (mouse x)>>> or <(mouse x) > [200]>> and <mouse down?>>> then\n        change [xの力 v] by (1.5)\n        switch costume to (a2 v)\n    end\n    if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<<<[0] > (mouse x)> and <not <(mouse x) > [200]>>> or <[-200] > (mouse x)>> and <mouse down?>>> then\n        change [xの力 v] by (-1.5)\n        switch costume to (a3 v)\n    end\n    set [xの力 v] to ((xの力) * (0.8))\n    change x by (xの力)\n    repeat (6)\n        if <touching (ステージ v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (ステージ v)?> then\n        change y by (-6)\n        位置補正x\n        if <<<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <key (space v) pressed?>> or <<(mouse y) > [0]> and <mouse down?>>> then\n            set [yの力 v] to [12]\n            if <(xの力) > [0]> then\n                set [xの力 v] to [-11]\n            else\n                set [xの力 v] to [11]\n            end\n            broadcast (Sound v)\n        else\n            set [xの力 v] to [0]\n        end\n    end\n    change y by (yの力)\n    if <touching (ステージ v)?> then\n        位置補正y\n    end\n    change y by (-1)\n    if <<touching (ステージ v)?> and <<<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <key (space v) pressed?>> or <<(mouse y) > [0]> and <mouse down?>>>> then\n        set [yの力 v] to [15]\n        broadcast (Sound2 v)\n    end\n    change y by (1)\n    if <<<touching (針 v)?> or <key (r v) pressed?>> or <[1000] < (Y)>> then\n        broadcast (点滅 v)\n    end\n    処理\n    clear graphic effects\nelse\n    if <(点滅) = [1]> then\n        初期位置\n    end\nend\nFPS計算\nif <(Disconnect) = [0]> then\n    ☁︎Cloud\n    broadcast (プログラム2 v)\nend\n\nwhen I receive [プログラム v]\n動作\n\ndefine 位置補正y\nset [_ v] to [0]\nif <(yの力) = [0]> then\n    stop [this script v]\nend\nrepeat until <<not <touching (ステージ v)?>> or <(_) = (([ceiling v] of ([abs v] of (yの力) ) ) + (1))>>\n    change [_ v] by (1)\n    change y by (() - ((yの力) / ([abs v] of (yの力) )))\nend\nset [yの力 v] to [0]\n\ndefine 初期位置\ngo to x: (0) y: (0)\nset [x v] to (チェックポイントx)\nset [y v] to (チェックポイントy)\nset [camera_x v] to (チェックポイントx)\nset [camera _y v] to (チェックポイントy)\nset [xの力 v] to [0]\nset [yの力 v] to [0]\n\ndefine 処理\nchange [x v] by (((Camera_x) - (X)) - (x position))\nchange [y v] by (((Camera _y) - (Y)) - (y position))\nif <[705] < (X)> then\n    set [x v] to [705]\nend\nchange [camera_x v] by (round (((X) - (Camera_x)) * (0.1)))\nchange [camera _y v] by (round (((Y) - (Camera _y)) * (0.15)))\nset x to ((Camera_x) - (X))\nset y to ((Camera _y) - (Y))\nif <(end) = [0]> then\n    broadcast (プログラム2 v)\nend\n\ndefine 位置補正x\nset [_ v] to [0]\nif <(xの力) = [0]> then\n    stop [this script v]\nend\nrepeat until <<not <touching (ステージ v)?>> or <(_) = (([ceiling v] of ([abs v] of (xの力) ) ) + (1))>>\n    change [_ v] by (1)\n    change x by (() - ((xの力) / ([abs v] of (xの力) )))\nend\nchange x by (((() - ((xの力) / ([abs v] of (xの力) ))) * <not <(_) = (([ceiling v] of ([abs v] of (xの力) ) ) + (1))>>) + (<(_) = (([ceiling v] of ([abs v] of (xの力) ) ) + (1))> * (((xの力) / ([abs v] of (xの力) )) * (_))))\n\ndefine XY入力\nset [xy v] to ((() - (round (X))) + (10000))\nrepeat ((5) - (length of (XY)))\n    set [xy v] to (join [0] (XY))\nend\nset [n v] to ((round (Y)) + (10000))\nrepeat ((5) - (length of (n)))\n    set [n v] to (join [0] (n))\nend\nset [xy v] to (join (XY) (n))\n\ndefine 位置保存\nif <(何P？) = [1]> then\n    set [☁ 1p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\nelse\n    if <(何P？) = [2]> then\n        set [☁ 2p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n    else\n        if <(何P？) = [3]> then\n            set [☁ 3p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n        else\n            if <(何P？) = [4]> then\n                set [☁ 4p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n            else\n                if <(何P？) = [5]> then\n                    set [☁ 5p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n                else\n                    if <(何P？) = [6]> then\n                        set [☁ 6p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n                    else\n                        if <(何P？) = [7]> then\n                            set [☁ 7p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n                        else\n                            if <(何P？) = [8]> then\n                                set [☁ 8p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n                            else\n                                if <(何P？) = [9]> then\n                                    set [☁ 9p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n                                else\n                                    if <(何P？) = [10]> then\n                                        set [☁ 10p v] to (join (join (join ((costume [number v]) + ((表示) * (3))) (XY)) (暗号化ユーザー名)) (letter (length of (round ((timer) * (10)))) of (round ((timer) * (10)))))\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [connected! v]\n位置保存\nbroadcast (プログラム v)\n\nwhen I receive [disconnected v]\nrepeat (10)\n    stop [other scripts in sprite v]\nend\n\nwhen I receive [点滅 v]\nif <(end) = [0]> then\n    start sound [recollection1 v]\n    set [点滅 v] to [2]\n    repeat (3)\n        set [ghost v] effect to (100)\n        set [表示 v] to [1]\n        wait (0.2) seconds\n        set [ghost v] effect to (0)\n        set [表示 v] to [0]\n        wait (0.2) seconds\n    end\n    set [点滅 v] to [1]\n    repeat (2)\n        set [ghost v] effect to (100)\n        set [表示 v] to [1]\n        wait (0.2) seconds\n        set [ghost v] effect to (0)\n        set [表示 v] to [0]\n        wait (0.2) seconds\n    end\n    set [点滅 v] to [0]\nend\n\nwhen I receive [sound v]\nif <(end) = [0]> then\n    play sound [jump2 v] until done\nend\n\nwhen I receive [sound2 v]\nif <(end) = [0]> then\n    play sound [jump v] until done\nend\n\ndefine FPS計算\nif <(username) = [hiron0413]> then\n    show variable [fps v]\nend\nchange [f v] by (1)\nif <((timer) - (time)) > [0.5]> then\n    set [fps v] to ((F) / ((timer) - (time)))\n    set [f v] to [0]\n    set [time v] to (timer)\nend\n\ndefine ☁︎Cloud\nXY入力\nif <<(FPS) < [6]> and <(timer) > [10]>> then\n    set [disconnect v] to [1]\n    broadcast (Disconnected v)\n    stop [this script v]\nend\n位置保存\n\n@針\n\nwhen I receive [プログラム2 v]\n移動 ((Camera_x) + (My_x)) ((Camera _y) + (My_y))\n\ndefine 移動 (x) (y)\ngo to x: (x) y: (y)\nif <<([abs v] of (x) ) > ([abs v] of (x position) )> or <([abs v] of (y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    show\nend\n\nwhen flag clicked\nhide\n配置 [0] [-360] [1]\n配置 [480] [-360] [2]\n配置 [0] [180] [3]\n配置 [480] [-360] [4]\n配置 [960] [-360] [5]\n配置 [650] [850] [6]\n\ndefine 配置 (x) (y) (ステージ)\nset [my_x v] to (x)\nset [my_y v] to (y)\nswitch costume to (ステージ)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\ngo to x: ((Camera_x) + (My_x)) y: ((Camera _y) + (My_y))\ngo to [back v] layer\nshow\n\nwhen I receive [disconnected v]\nrepeat (10)\n    stop [other scripts in sprite v]\nend\n\n@他のplayer\n\nwhen flag clicked\nclear graphic effects\nhide\nset [my_n v] to [0]\nrepeat (10)\n    change [my_n v] by (1)\n    create clone of (_myself_ v)\nend\nchange [my_n v] by (1)\n\nwhen I receive [プログラム2 v]\nif <(My_n) = [11]> then\n    stop [this script v]\nend\nif <(My_n) = (何P？)> then\n    delete this clone\nend\nif <<(item (My_n) of [ユーザー名リスト v]) = []> or <(item (My_n) of [ユーザー名リスト v]) = (username)>> then\n    hide\nelse\n    show\n    プログラム\nend\n\nwhen I receive [disconnected v]\nrepeat (10)\n    stop [other scripts in sprite v]\nend\n\ndefine プログラム\nhide\nclear graphic effects\nset size to (150) %\npoint in direction (90)\nif <[4] > (item (My_n) of [コスチュームリスト v])> then\n    show\n    switch costume to (item (My_n) of [コスチュームリスト v])\nend\ngo to x: ((Camera_x) + ((item (My_n) of [座標リスト v]) - (10000))) y: ((Camera _y) - ((item ((10) + (My_n)) of [座標リスト v]) - (10000)))\nif <<([abs v] of (x position) ) > [240]> or <([abs v] of (y position) ) > [180]>> then\n    switch costume to (arrow v)\n    show\n    go to [front v] layer\n    set size to (45) %\n    go to x: (0) y: (0)\n    point in direction (([atan v] of (((0) - ((Camera_x) + ((item (My_n) of [座標リスト v]) - (10000)))) / ((0) - ((Camera _y) - ((item ((10) + (My_n)) of [座標リスト v]) - (10000))))) ) + (<[0] < ((0) - ((Camera _y) - ((item ((10) + (My_n)) of [座標リスト v]) - (10000))))> * (180)))\n    move (170) steps\n    repeat until <<([abs v] of (x position) ) > [240]> or <([abs v] of (y position) ) > [180]>>\n        move (1) steps\n    end\n    move (-20) steps\nend\nsay (item (My_n) of [ユーザー名リスト v])\n\nwhen I receive [connected! v]\nif <(My_n) = [11]> then\n    stop [this script v]\nend\nif <(My_n) = (何P？)> then\n    delete this clone\nend\ngo to x: ((Camera_x) + ((item (My_n) of [座標リスト v]) - (10000))) y: ((Camera _y) - ((item ((10) + (My_n)) of [座標リスト v]) - (10000)))\nset [my_x v] to [0]\nset [my_y v] to [0]\n\nchange [my_x v] by ((((item (My_n) of [座標リスト v]) - (1000)) - (My_x)) / (2.3))\nchange [my_y v] by (((() - ((item ((10) + (My_n)) of [座標リスト v]) - (1000))) - (My_y)) / (2.3))\nset x to ((My_x) + (Camera_x))\nset y to ((Camera _y) - (My_y))\nhide\nclear graphic effects\nset size to (150) %\npoint in direction (90)\nif <[4] > (item (My_n) of [コスチュームリスト v])> then\n    show\n    switch costume to (item (My_n) of [コスチュームリスト v])\nend\nif <<([abs v] of ((My_x) - (Camera_x)) ) > [240]> or <([abs v] of ((My_y) - (Camera _y)) ) > [180]>> then\nend\nsay (item (My_n) of [ユーザー名リスト v])\n\n@☁️Cloud\n\nwhen flag clicked\nbroadcast (Connecting... v)\nset [end v] to [0]\nユーザー名暗号化\nset [j v] to [0]\nrepeat (10)\n    change [i v] by (1)\n    replace item (j) of [クラウド保存用 v] with [None]\n    replace item (j) of [カウント v] with [0]\n    replace item (j) of [ユーザー名リスト v] with []\nend\nrepeat (10)\n    set [t v] to (timer)\n    wait until <(timer) > ((t) + (0.11))>\n    if <<[9] > ((((timer) - (t)) * (10)) mod (10))> or <((((timer) - (t)) * (10)) mod (10)) > [1]>> then\n        更新判定\n    end\nend\nwait (0.1) seconds\n判定\nforever\n    set [t v] to (timer)\n    wait until <(timer) > ((t) + (0.1))>\n    ユーザー名更新\n    wait until <(timer) > ((t) + (0.1))>\n    if <<[9] > ((((timer) - (t)) * (10)) mod (10))> or <((((timer) - (t)) * (10)) mod (10)) > [1]>> then\n        更新判定\n    end\nend\n\ndefine ユーザー名暗号化\nset [暗号化ユーザー名 v] to []\nset [i v] to [0]\nrepeat (length of (username))\n    change [i v] by (1)\n    if < (ABC以外) contains (letter (i) of (username))?> then\n        set [暗号化ユーザー名 v] to (join (暗号化ユーザー名) ((item # of (letter (i) of (username)) in [abc以外 v]) + (52)))\n    else\n        switch costume to (大文字 v)\n        switch costume to (letter (i) of (username))\n        if <(costume [number v]) = [1]> then\n            set [暗号化ユーザー名 v] to (join [0] (join (暗号化ユーザー名) (item # of (letter (i) of (username)) in [abc... v])))\n        else\n            set [暗号化ユーザー名 v] to (join (暗号化ユーザー名) ((costume [number v]) + (25)))\n        end\n    end\nend\n\ndefine 暗号解読 (文字列)\nset [暗号解読したユーザー名 v] to []\nset [i v] to [-1]\nrepeat ((length of (文字列)) / (2))\n    change [i v] by (2)\n    set [暗号解読したユーザー名 v] to (join (暗号解読したユーザー名) (letter (join (letter (i) of (文字列)) (letter ((i) + (1)) of (文字列))) of (moji)))\nend\nadd (暗号解読したユーザー名) to [ユーザー名リスト v]\n\ndefine 文字列抜出し (元の文字列)\nset [返り値 v] to []\nset [i v] to [11]\nrepeat ((length of (元の文字列)) - (12))\n    change [i v] by (1)\n    set [返り値 v] to (join (返り値) (letter (i) of (元の文字列)))\nend\n\nwhen I receive [プログラム v]\ndelete all of [座標リスト v]\ndelete all of [コスチュームリスト v]\nadd (letter (1) of (☁ 1P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 2P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 3P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 4P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 5P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 6P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 7P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 8P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 9P)) to [コスチュームリスト v]\nadd (letter (1) of (☁ 10P)) to [コスチュームリスト v]\ndelete all of [座標リスト v]\nadd (join (letter (2) of (☁ 1P)) (join (letter (3) of (☁ 1P)) (join (letter (4) of (☁ 1P)) (join (letter (5) of (☁ 1P)) (letter (6) of (☁ 1P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 2P)) (join (letter (3) of (☁ 2P)) (join (letter (4) of (☁ 2P)) (join (letter (5) of (☁ 2P)) (letter (6) of (☁ 2P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 3P)) (join (letter (3) of (☁ 3P)) (join (letter (4) of (☁ 3P)) (join (letter (5) of (☁ 3P)) (letter (6) of (☁ 3P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 4P)) (join (letter (3) of (☁ 4P)) (join (letter (4) of (☁ 4P)) (join (letter (5) of (☁ 4P)) (letter (6) of (☁ 4P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 5P)) (join (letter (3) of (☁ 5P)) (join (letter (4) of (☁ 5P)) (join (letter (5) of (☁ 5P)) (letter (6) of (☁ 5P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 6P)) (join (letter (3) of (☁ 6P)) (join (letter (4) of (☁ 6P)) (join (letter (5) of (☁ 6P)) (letter (6) of (☁ 6P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 7P)) (join (letter (3) of (☁ 7P)) (join (letter (4) of (☁ 7P)) (join (letter (5) of (☁ 7P)) (letter (6) of (☁ 7P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 8P)) (join (letter (3) of (☁ 8P)) (join (letter (4) of (☁ 8P)) (join (letter (5) of (☁ 8P)) (letter (6) of (☁ 8P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 9P)) (join (letter (3) of (☁ 9P)) (join (letter (4) of (☁ 9P)) (join (letter (5) of (☁ 9P)) (letter (6) of (☁ 9P)))))) to [座標リスト v]\nadd (join (letter (2) of (☁ 10P)) (join (letter (3) of (☁ 10P)) (join (letter (4) of (☁ 10P)) (join (letter (5) of (☁ 10P)) (letter (6) of (☁ 10P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 1P)) (join (letter (8) of (☁ 1P)) (join (letter (9) of (☁ 1P)) (join (letter (10) of (☁ 1P)) (letter (11) of (☁ 1P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 2P)) (join (letter (8) of (☁ 2P)) (join (letter (9) of (☁ 2P)) (join (letter (10) of (☁ 2P)) (letter (11) of (☁ 2P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 3P)) (join (letter (8) of (☁ 3P)) (join (letter (9) of (☁ 3P)) (join (letter (10) of (☁ 3P)) (letter (11) of (☁ 3P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 4P)) (join (letter (8) of (☁ 4P)) (join (letter (9) of (☁ 4P)) (join (letter (10) of (☁ 4P)) (letter (11) of (☁ 4P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 5P)) (join (letter (8) of (☁ 5P)) (join (letter (9) of (☁ 5P)) (join (letter (10) of (☁ 5P)) (letter (11) of (☁ 5P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 6P)) (join (letter (8) of (☁ 6P)) (join (letter (9) of (☁ 6P)) (join (letter (10) of (☁ 6P)) (letter (11) of (☁ 6P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 7P)) (join (letter (8) of (☁ 7P)) (join (letter (9) of (☁ 7P)) (join (letter (10) of (☁ 7P)) (letter (11) of (☁ 7P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 8P)) (join (letter (8) of (☁ 8P)) (join (letter (9) of (☁ 8P)) (join (letter (10) of (☁ 8P)) (letter (11) of (☁ 8P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 9P)) (join (letter (8) of (☁ 9P)) (join (letter (9) of (☁ 9P)) (join (letter (10) of (☁ 9P)) (letter (11) of (☁ 9P)))))) to [座標リスト v]\nadd (join (letter (7) of (☁ 10P)) (join (letter (8) of (☁ 10P)) (join (letter (9) of (☁ 10P)) (join (letter (10) of (☁ 10P)) (letter (11) of (☁ 10P)))))) to [座標リスト v]\nbroadcast (プログラム v)\n\ndefine 判定\nset [game is full! v] to [0]\nset [何p？ v] to [0]\nif <(☁ 1P) = [0]> then\n    set [何p？ v] to [1]\nelse\n    if <(☁ 2P) = [0]> then\n        set [何p？ v] to [2]\n    else\n        if <(☁ 3P) = [0]> then\n            set [何p？ v] to [3]\n        else\n            if <(☁ 4P) = [0]> then\n                set [何p？ v] to [4]\n            else\n                if <(☁ 5P) = [0]> then\n                    set [何p？ v] to [5]\n                else\n                    if <(☁ 6P) = [0]> then\n                        set [何p？ v] to [6]\n                    else\n                        if <(☁ 7P) = [0]> then\n                            set [何p？ v] to [7]\n                        else\n                            if <(☁ 8P) = [0]> then\n                                set [何p？ v] to [8]\n                            else\n                                if <(☁ 9P) = [0]> then\n                                    set [何p？ v] to [9]\n                                else\n                                    if <(☁ 10P) = [0]> then\n                                        set [何p？ v] to [10]\n                                    else\n                                        broadcast (Game is full! v)\n                                        set [game is full! v] to [1]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nif <(Game is full!) = [0]> then\n    broadcast (Connected! v)\nend\n\ndefine 更新判定\nif <<(letter (length of (☁ 1P)) of (☁ 1P)) = (item (1) of [クラウド保存用 v])> and <not <(☁ 1P) = [0]>>> then\n    if <(item (1) of [カウント v]) > [5]> then\n        set [☁ 1p v] to [0]\n    else\n        replace item (1) of [カウント v] with ((item (1) of [カウント v]) + (1))\n    end\nelse\n    replace item (1) of [カウント v] with [0]\n    replace item (1) of [クラウド保存用 v] with (letter (length of (☁ 1P)) of (☁ 1P))\nend\nif <<(letter (length of (☁ 2P)) of (☁ 2P)) = (item (2) of [クラウド保存用 v])> and <not <(☁ 2P) = [0]>>> then\n    if <(item (2) of [カウント v]) > [5]> then\n        set [☁ 2p v] to [0]\n    else\n        replace item (2) of [カウント v] with ((item (2) of [カウント v]) + (1))\n    end\nelse\n    replace item (2) of [カウント v] with [0]\n    replace item (2) of [クラウド保存用 v] with (letter (length of (☁ 2P)) of (☁ 2P))\nend\nif <<(letter (length of (☁ 3P)) of (☁ 3P)) = (item (3) of [クラウド保存用 v])> and <not <(☁ 3P) = [0]>>> then\n    if <(item (3) of [カウント v]) > [5]> then\n        set [☁ 3p v] to [0]\n    else\n        replace item (3) of [カウント v] with ((item (3) of [カウント v]) + (1))\n    end\nelse\n    replace item (3) of [カウント v] with [0]\n    replace item (3) of [クラウド保存用 v] with (letter (length of (☁ 3P)) of (☁ 3P))\nend\nif <<(letter (length of (☁ 4P)) of (☁ 4P)) = (item (4) of [クラウド保存用 v])> and <not <(☁ 4P) = [0]>>> then\n    if <(item (4) of [カウント v]) > [5]> then\n        set [☁ 4p v] to [0]\n    else\n        replace item (4) of [カウント v] with ((item (4) of [カウント v]) + (1))\n    end\nelse\n    replace item (4) of [カウント v] with [0]\n    replace item (4) of [クラウド保存用 v] with (letter (length of (☁ 4P)) of (☁ 4P))\nend\nif <<(letter (length of (☁ 5P)) of (☁ 5P)) = (item (5) of [クラウド保存用 v])> and <not <(☁ 5P) = [0]>>> then\n    if <(item (5) of [カウント v]) > [5]> then\n        set [☁ 5p v] to [0]\n    else\n        replace item (5) of [カウント v] with ((item (5) of [カウント v]) + (1))\n    end\nelse\n    replace item (5) of [カウント v] with [0]\n    replace item (5) of [クラウド保存用 v] with (letter (length of (☁ 5P)) of (☁ 5P))\nend\nif <<(☁ 6P) = (item (6) of [クラウド保存用 v])> and <not <(☁ 6P) = [0]>>> then\n    if <(item (6) of [カウント v]) > [5]> then\n        set [☁ 6p v] to [0]\n    else\n        replace item (6) of [カウント v] with ((item (6) of [カウント v]) + (1))\n    end\nelse\n    replace item (6) of [カウント v] with [0]\n    replace item (6) of [クラウド保存用 v] with (☁ 6P)\nend\nif <<(☁ 7P) = (item (7) of [クラウド保存用 v])> and <not <(☁ 7P) = [0]>>> then\n    if <(item (7) of [カウント v]) > [5]> then\n        set [☁ 7p v] to [0]\n    else\n        replace item (7) of [カウント v] with ((item (7) of [カウント v]) + (1))\n    end\nelse\n    replace item (7) of [カウント v] with [0]\n    replace item (7) of [クラウド保存用 v] with (☁ 7P)\nend\nif <<(☁ 8P) = (item (8) of [クラウド保存用 v])> and <not <(☁ 8P) = [0]>>> then\n    if <(item (8) of [カウント v]) > [5]> then\n        set [☁ 8p v] to [0]\n    else\n        replace item (8) of [カウント v] with ((item (8) of [カウント v]) + (1))\n    end\nelse\n    replace item (8) of [カウント v] with [0]\n    replace item (8) of [クラウド保存用 v] with (☁ 8P)\nend\nif <<(☁ 9P) = (item (9) of [クラウド保存用 v])> and <not <(☁ 9P) = [0]>>> then\n    if <(item (9) of [カウント v]) > [5]> then\n        set [☁ 9p v] to [0]\n    else\n        replace item (9) of [カウント v] with ((item (9) of [カウント v]) + (1))\n    end\nelse\n    replace item (9) of [カウント v] with [0]\n    replace item (9) of [クラウド保存用 v] with (☁ 9P)\nend\nif <<(☁ 10P) = (item (10) of [クラウド保存用 v])> and <not <(☁ 10P) = [0]>>> then\n    if <(item (10) of [カウント v]) > [5]> then\n        set [☁ 10p v] to [0]\n    else\n        replace item (10) of [カウント v] with ((item (10) of [カウント v]) + (1))\n    end\nelse\n    replace item (10) of [カウント v] with [0]\n    replace item (10) of [クラウド保存用 v] with (☁ 10P)\nend\n\ndefine ユーザー名更新\ndelete all of [ユーザー名リスト v]\n文字列抜出し (☁ 1P)\n暗号解読 (返り値)\n文字列抜出し (☁ 2P)\n暗号解読 (返り値)\n文字列抜出し (☁ 3P)\n暗号解読 (返り値)\n文字列抜出し (☁ 4P)\n暗号解読 (返り値)\n文字列抜出し (☁ 5P)\n暗号解読 (返り値)\n文字列抜出し (☁ 6P)\n暗号解読 (返り値)\n文字列抜出し (☁ 7P)\n暗号解読 (返り値)\n文字列抜出し (☁ 8P)\n暗号解読 (返り値)\n文字列抜出し (☁ 9P)\n暗号解読 (返り値)\n文字列抜出し (☁ 10P)\n暗号解読 (返り値)\n\n@メッセージ\n\nwhen I receive [connecting... v]\nshow\nswitch costume to (connecting... v)\nclear graphic effects\ngo to x: (0) y: (230)\nrepeat (30)\n    change y by (((165) - (y position)) / (10))\nend\n\nwhen I receive [connected! v]\ngo to [front v] layer\nclear graphic effects\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nset [ghost v] effect to (100)\nswitch costume to (connected! v)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nwait (2) seconds\nrepeat (33)\n    change [ghost v] effect by (3)\nend\n\nwhen I receive [game is full! v]\ngo to [front v] layer\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nset [ghost v] effect to (100)\nswitch costume to (game is full! v)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nwait (2) seconds\nrepeat (33)\n    change [ghost v] effect by (3)\nend\n\nwhen I receive [disconnected v]\nstop [other scripts in sprite v]\ngo to [front v] layer\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nset [ghost v] effect to (100)\nswitch costume to (disconnected v)\nset y to (165)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nwait (2) seconds\nrepeat (33)\n    change [ghost v] effect by (3)\nend\nhide\n\n@サムネ\n\nwhen flag clicked\nhide\n\nwhen I receive [disconnected v]\nset [end v] to [1]\nswitch costume to (コスチューム3 v)\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\nwait (3) seconds\ngo to [front v] layer\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nclear graphic effects\nstop [all v]\n\n@ステージ(背面)\n\nwhen I receive [プログラム2 v]\n移動 ((Camera_x) + (My_x)) ((Camera _y) + (My_y))\ngo to [back v] layer\n\ndefine 移動 (x) (y)\ngo to x: (x) y: (y)\nif <<([abs v] of (x) ) > ([abs v] of (x position) )> or <([abs v] of (y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    set [ghost v] effect to (50)\n    show\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n配置 [0] [-360] [1]\n\ndefine 配置 (x) (y) (ステージ)\nset [my_x v] to (x)\nset [my_y v] to (y)\n移動 (x) (y)\nswitch costume to (ステージ)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\n\nwhen I receive [disconnected v]\nforever\n    stop [other scripts in sprite v]\nend\n\n@ステージ(前面)\n\nwhen I receive [プログラム2 v]\n移動 ((Camera_x) + (My_x)) ((Camera _y) + (My_y))\nif <touching (player v)?> then\n    change [ghost v] effect by (20)\nelse\n    change [ghost v] effect by (-20)\nend\ngo to [front v] layer\n\ndefine 移動 (x) (y)\ngo to x: (x) y: (y)\nif <<([abs v] of (x) ) > ([abs v] of (x position) )> or <([abs v] of (y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    show\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n配置 [0] [-360] [1]\n\ndefine 配置 (x) (y) (ステージ)\nset [my_x v] to (x)\nset [my_y v] to (y)\n移動 (x) (y)\nswitch costume to (ステージ)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\n\nwhen I receive [disconnected v]\nforever\n    stop [other scripts in sprite v]\nend\n\n@Coin\n\nwhen flag clicked\nhide\nset [coin v] to [0]\n配置 [-70] [-450] [1]\n配置 [-70] [-415] [1]\n配置 [-30] [-450] [1]\n配置 [-30] [-415] [1]\n配置 [10] [-450] [1]\n配置 [10] [-415] [1]\n配置 [50] [-450] [1]\n配置 [50] [-415] [1]\n配置 [90] [-450] [1]\n配置 [90] [-415] [1]\n配置 [130] [-450] [1]\n配置 [130] [-415] [1]\n配置 [-677] [200] [1]\n配置 [-12] [420] [2]\n配置 [443] [390] [1]\n配置 [683] [580] [1]\n配置 [-500] [417] [1]\n配置 [-465] [417] [1]\n配置 [-430] [417] [1]\n配置 [550] [780] [1]\n配置 [550] [850] [1]\n配置 [550] [920] [1]\n配置 [550] [990] [1]\n配置 [550] [1060] [1]\n配置 [550] [1130] [1]\n配置 [550] [1220] [2]\nset [my_x v] to [-2000]\nset [my_y v] to [-2000]\ngo to x: (-240) y: (-180)\n\ndefine 配置 (x) (y) (種類)\ngo to x: (x) y: (y)\nset [my_x v] to (x)\nset [my_y v] to (y)\nswitch costume to (種類)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nclear graphic effects\ngo to [back v] layer\n\nwhen I receive [connected! v]\nforever\n    if <touching (player v)?> then\n        repeat (10)\n            change [my_y v] by (1.5)\n            change [ghost v] effect by (10)\n        end\n        repeat ([10 ^ v] of ((costume [number v]) - (1)) )\n            start sound [money-sound v]\n            change [coin v] by (1)\n        end\n        delete this clone\n    end\nend\n\ndefine 移動 (x) (y)\ngo to x: (x) y: (y)\nif <<([abs v] of (x) ) > [300]> or <([abs v] of (y) ) > [230]>> then\n    hide\nelse\n    show\nend\n\nwhen I receive [プログラム2 v]\n移動 ((Camera_x) + (My_x)) ((Camera _y) + (My_y))\n\n@コイン表示\n\nwhen flag clicked\nshow\nset size to (80) %\nswitch costume to (コスチューム1 v)\ngo to x: (-210) y: (150)\nset [桁 v] to [0]\nrepeat (2)\n    change [桁 v] by (1)\n    create clone of (_myself_ v)\nend\ngo to [front v] layer\n\nwhen I start as a clone\ngo to x: ((-205) + ((桁) * (25))) y: (147)\nset [ghost v] effect to (10)\nforever\n    go to [front v] layer\n    if <(桁) > (length of (Coin))> then\n        hide\n    else\n        set size to (70) %\n        switch costume to (join [a] (letter (桁) of (Coin)))\n        show\n    end\nend\n\n