Pen Platformer
@Stage\n\n@aiueomaruta’s Pen Platfomer\n\ndefine ステージを読み込む (データ)\nset [セーブx v] to [-220]\nset [セーブy v] to [0]\ndelete all of [ステージ読み込み v]\nset [ステージ読み込み　番号 v] to [1]\nrepeat until <(ステージ読み込み　番号) = (length of (データ))>\n    set [ステージ読み込み　一時保存 v] to []\n    repeat until <[;] = (letter ((1) + (ステージ読み込み　番号)) of (データ))>\n        if <not <[;] = (letter (ステージ読み込み　番号) of (データ))>> then\n            set [ステージ読み込み　一時保存 v] to (join (ステージ読み込み　一時保存) (letter (ステージ読み込み　番号) of (データ)))\n        end\n        change [ステージ読み込み　番号 v] by (1)\n    end\n    set [ステージ読み込み　一時保存 v] to (join (ステージ読み込み　一時保存) (letter (ステージ読み込み　番号) of (データ)))\n    add (ステージ読み込み　一時保存) to [ステージ読み込み v]\n    change [ステージ読み込み　番号 v] by (1)\nend\n\ndefine 当たり判定\nset [ステージ読み込み　番号 v] to [1]\ndelete all of [触れた v]\nrepeat ((length of [ステージ読み込み v]) / (6))\n    set [x1 v] to (item ((ステージ読み込み　番号) + (1)) of [ステージ読み込み v])\n    set [y1 v] to (item ((ステージ読み込み　番号) + (2)) of [ステージ読み込み v])\n    set [x2 v] to (item ((ステージ読み込み　番号) + (3)) of [ステージ読み込み v])\n    set [y2 v] to (item ((ステージ読み込み　番号) + (4)) of [ステージ読み込み v])\n    set [x3 v] to ((x) + (キャラ横幅))\n    set [y3 v] to ((y) + (キャラ縦幅))\n    set [x4 v] to ((x) - (キャラ横幅))\n    set [y4 v] to ((y) - (キャラ縦幅))\n    insert (item (ステージ読み込み　番号) of [ステージ読み込み v]) at <<([abs v] of ((((x1) + (x2)) / (2)) - (((x3) + (x4)) / (2))) ) < (([abs v] of ((x1) - (((x1) + (x2)) / (2))) ) + (([abs v] of ((x3) - (((x3) + (x4)) / (2))) ) + (太さ)))> and <([abs v] of ((((y1) + (y2)) / (2)) - (((y3) + (y4)) / (2))) ) < (([abs v] of ((y1) - (((y1) + (y2)) / (2))) ) + (([abs v] of ((y3) - (((y3) + (y4)) / (2))) ) + (太さ)))>> of [触れた v] \n    change [ステージ読み込み　番号 v] by (6)\nend\n\ndefine 描写 (太さプラス)\nerase all\nset pen color to (#000000)\nset pen size to ((1) / ())\npen down\npen up\nset pen size to ((太さ) + (太さプラス))\nset [ステージ読み込み　番号 v] to [1]\nrepeat ((length of [ステージ読み込み v]) / (6))\n    set pen color to (#ff0000)\n    set pen (color v) to (item (item (ステージ読み込み　番号) of [ステージ読み込み v]) of [色 v])\n    四角 (item ((ステージ読み込み　番号) + (1)) of [ステージ読み込み v]) (item ((ステージ読み込み　番号) + (2)) of [ステージ読み込み v]) (item ((ステージ読み込み　番号) + (3)) of [ステージ読み込み v]) (item ((ステージ読み込み　番号) + (4)) of [ステージ読み込み v])\n    change [ステージ読み込み　番号 v] by (6)\nend\nset pen color to (#ffffff)\n四角 ((x) + (キャラ横幅)) ((y) + (キャラ縦幅)) ((x) - (キャラ横幅)) ((y) - (キャラ縦幅))\nset pen color to (#000000)\ngo to x: (240) y: (180)\npen down\nset x to (-240)\nset y to (-180)\nset x to (240)\nset y to (180)\npen up\n\ndefine 動く <上> <右> <左>\nchange [重力 v] by (-0.7)\nchange [加速 v] by (<右> - <左>)\nset [加速 v] to ((0.85) * (加速))\nchange [x v] by (加速)\n当たり判定\nif <[触れた v] contains [2]?> then\n    死亡\nend\nif <[触れた v] contains [4]?> then\n    change [ステージ v] by (1)\n    if <((ステージ) - (1)) < (length of [ステージ　データ v])> then\n        ステージを読み込む (item (ステージ) of [ステージ　データ v])\n        死亡\n    end\nend\nif <[0] < (length of [触れた v])> then\n    横なめらか\nend\nchange [y v] by (重力)\n当たり判定\nif <[0] < (length of [触れた v])> then\n    change [y v] by ((-7) - (重力))\n    set [重力 v] to [0]\n    if <[触れた v] contains [2]?> then\n        死亡\n    end\n    if <[触れた v] contains [3]?> then\n        set [重力 v] to [15]\n    end\n    if <[触れた v] contains [4]?> then\n        change [ステージ v] by (1)\n        if <((ステージ) - (1)) < (length of [ステージ　データ v])> then\n            ステージを読み込む (item (ステージ) of [ステージ　データ v])\n            死亡\n        end\n    end\n    当たり判定\n    if <[0] < (length of [触れた v])> then\n        if <<上> and <not <[触れた v] contains [3]?>>> then\n            set [重力 v] to [10]\n        end\n    end\n    change [y v] by (7)\nend\nchange [カメラx v] by (((x) - (カメラx)) / (10))\nchange [カメラy v] by (((y) - (カメラy)) / (10))\nif <(y) < [-500]> then\n    死亡\nend\n描写 []\n\nwhen flag clicked\nswitch costume to (コスチューム1 v)\nswitch costume to (確認)\nset [カメラx v] to [0]\nset [カメラy v] to [0]\nset [ステージ v] to [1]\nif <[2] = (costume [number v])> then\n    データ追加\n    ステージを読み込む (item (1) of [ステージ　データ v])\n    死亡\n    forever\n        動く <<<mouse down?> and <[50] < (mouse y)>> or <key (up arrow v) pressed?>> <<<mouse down?> and <(mouse x) > [0]>> or <key (right arrow v) pressed?>> <<<mouse down?> and <[0] > (mouse x)>> or <key (left arrow v) pressed?>>\n    end\nend\n\ndefine 死亡\nset [x v] to (セーブX)\nset [y v] to (セーブY)\nset [重力 v] to [0]\nset [加速 v] to [0]\n\ndefine 四角 (x1) (y1) (x2) (y2)\ngo to x: ((x1) - (カメラx)) y: ((y1) - (カメラy))\npen down\nset x to ((x2) - (カメラx))\nset y to ((y2) - (カメラy))\nset x to ((x1) - (カメラx))\nset y to ((y1) - (カメラy))\npen up\n\nwhen flag clicked\nforever\n    play sound [ParagonX9 - Chaoz Fantasy v] until done\nend\n\ndefine サムネ\nステージを読み込む [1;-220;160;-220;90;0;1;-180;110;-150;110;0;1;-180;130;-150;130;0;1;-150;130;-150;110;0;1;-180;130;-180;90;0;1;-180;90;-150;90;0;1;-140;130;-140;90;0;1;-140;130;-110;130;0;1;-110;130;-110;90;0;1;-220;130;-190;160;0;1;-80;160;-80;90;0;1;-80;130;-50;160;0;1;-40;160;-40;90;0;1;-30;140;0;140;0;1;-30;120;0;90;0;1;0;140;0;90;0;1;10;140;30;140;0;1;20;160;20;90;0;1;40;140;60;140;0;1;50;160;50;90;0;1;60;160;50;160;0;1;70;130;100;90;0;1;130;130;130;90;0;1;170;130;130;130;0;1;150;90;150;130;0;1;170;90;170;130;0;1;180;130;210;130;0;1;210;110;210;130;0;1;180;110;210;110;0;1;210;90;180;90;0;1;220;130;220;90;0;1;230;130;220;130;0;1;-220;-110;10;-150;0;2;-40;-80;-10;-110;0;1;-200;-10;-140;20;0;1;60;-60;200;-100;0;4;170;10;170;-60;0;3;-90;-100;-60;-110;0;1;180;130;180;90;0;1;110;130;110;90;0;1;120;130;110;130;0;]\nset [カメラx v] to [0]\nset [カメラy v] to [0]\nset [x v] to [0]\nset [y v] to [0]\n描写 ((7) - (太さ))\n\ndefine 横なめらか\nrepeat (20)\n    当たり判定\n    change [x v] by (((-0.05) * (加速)) * <[0] < (length of [触れた v])>)\nend\n\ndefine データ追加\nset [キャラ横幅 v] to [15]\nset [キャラ縦幅 v] to [15]\ndelete all of [色 v]\nadd [60] to [色 v]\nadd [0] to [色 v]\nadd [85] to [色 v]\nadd [35] to [色 v]\nadd [15] to [色 v]\ndelete all of [ステージ　データ v]\nadd [1;-240;-140;240;-180;0;1;-40;-20;10;-180;0;1;-40;-20;30;-50;0;1;-60;-80;-40;-140;0;1;-150;-30;-100;-50;0;1;50;20;100;0;0;1;200;70;210;-140;0;1;130;50;180;30;0;4;220;-30;250;-40;0;] to [ステージ　データ v]\nadd [1;-230;-160;-90;-180;0;1;-90;-30;-90;-180;0;1;-100;-130;-80;-130;0;1;-90;-100;-80;-100;0;1;-100;-80;-90;-80;0;1;-80;-50;-60;-50;0;1;20;-20;60;-110;0;1;120;-20;230;-10;0;2;170;30;180;-80;0;1;110;-100;120;-150;0;1;150;-130;270;-140;0;3;240;-120;270;-140;0;1;240;80;230;-20;0;3;210;0;230;-10;0;4;280;-10;310;-30;0;] to [ステージ　データ v]\nadd [1;-230;-140;-140;-170;0;2;-130;-170;-120;-110;0;1;-110;-140;-40;-170;0;1;0;-100;80;-150;0;3;-30;-170;-10;-170;0;1;100;-130;160;-170;0;3;170;-170;200;-170;0;2;220;-110;230;-170;0;1;220;-120;240;-170;0;2;250;-150;260;-90;0;3;230;-140;480;-150;0;2;330;-80;320;-150;0;2;390;-80;400;-150;0;2;450;-60;480;-70;0;4;520;-110;550;-140;0;] to [ステージ　データ v]\nadd [1;-230;-150;-140;-160;0;1;-90;60;-80;-170;0;3;-130;-170;-100;-170;0;1;-100;-70;-70;-100;0;1;-100;-20;-70;-20;0;1;-100;30;-60;30;0;1;-50;-170;-30;110;0;1;-30;90;150;80;0;1;190;120;200;30;0;1;160;40;190;30;0;2;120;-40;160;-40;0;1;70;-60;110;-60;0;1;30;-110;50;-150;0;1;-30;-170;50;-170;0;3;100;-130;170;-170;0;1;200;-160;250;-170;0;1;300;-60;320;-150;0;3;280;-160;300;-160;0;4;320;-160;350;-160;0;] to [ステージ　データ v]\nadd [2;-230;-130;390;-170;0;1;-220;-100;-170;-120;0;3;-120;-100;-80;-120;0;1;-120;40;40;20;0;2;-50;-110;-20;-130;0;3;20;-80;50;-120;0;1;70;-80;170;-100;0;2;50;40;70;20;0;1;160;-90;200;-120;0;1;250;-120;290;-90;0;1;280;-80;350;-100;0;2;200;-100;250;-120;0;4;370;-60;400;-90;0;3;350;-80;280;-80;0;1;320;0;330;-10;0;2;280;20;360;0;0;1;250;-30;280;-20;0;] to [ステージ　データ v]\nadd [1;-190;120;-180;40;0;1;-180;120;-160;110;0;1;-150;50;-160;110;0;1;-160;40;-180;50;0;1;-130;120;-90;40;0;1;-120;110;-100;50;0;1;-70;110;-60;100;0;1;-60;120;-40;110;0;1;-30;90;-40;110;0;1;-60;70;-50;80;0;1;-70;70;-60;50;0;1;-40;50;-60;40;0;1;-40;60;-30;50;0;1;-50;90;-40;80;0;1;-230;-150;10;-170;0;3;-20;-120;10;-150;0;1;60;-30;90;-60;0;1;80;20;110;-10;0;3;100;50;120;30;0;2;40;190;60;160;0;1;-290;200;-250;190;0;3;-390;90;-240;70;0;2;-320;190;-290;200;0;1;-350;200;-340;190;0;1;-390;200;-370;140;0;3;-510;100;-460;80;0;4;-500;250;-470;220;0;1;-270;170;-240;130;0;] to [ステージ　データ v]\nadd [1;-230;-140;220;-170;0;2;-150;-110;-130;-170;0;2;-70;-100;-60;-170;0;3;-50;-130;-20;-130;0;2;-50;-20;-20;-30;0;1;20;-50;100;-60;0;4;160;-60;180;-80;0;1;40;-140;80;-110;0;1;140;-70;140;-140;0;3;110;-140;140;-130;0;1;150;-50;170;-90;0;] to [ステージ　データ v]\nadd [1;-230;-40;-70;-170;0;3;-60;-10;-10;-20;0;1;-70;160;0;150;0;1;0;100;50;90;0;3;50;110;80;100;0;2;50;220;90;210;0;1;110;160;180;140;0;3;130;180;160;160;0;1;180;260;210;220;0;1;140;310;100;250;0;1;30;270;60;230;0;1;-150;270;-100;180;0;1;-70;300;-20;280;0;1;80;330;110;310;0;3;-90;190;-70;170;0;4;0;350;20;330;0;1;-10;360;10;320;0;] to [ステージ　データ v]\nadd [1;-190;-120;-10;-150;0;2;-50;-30;-30;-120;0;3;-90;-110;-50;-120;0;1;10;-120;70;-130;0;1;-80;40;-10;30;0;1;10;-20;30;-70;0;1;90;40;130;-60;0;1;150;-40;150;-100;0;1;140;-70;150;-130;0;1;40;-150;100;-160;0;1;-240;-120;-210;-150;0;2;30;-70;10;-70;0;1;170;-130;150;-160;0;3;110;-290;160;-300;0;2;170;-170;150;-170;0;1;80;-330;300;-300;0;2;190;-300;210;-280;0;1;240;-230;250;-300;0;1;540;-300;470;-320;0;1;840;-280;760;-310;0;4;800;-230;800;-280;0;3;520;-300;540;-300;0;] to [ステージ　データ v]\nadd [1;-240;50;-240;-90;0;1;-120;50;-120;50;0;1;-120;50;-120;-90;0;3;-230;-60;-130;-80;0;1;-90;90;-30;90;0;1;-60;90;-60;20;0;1;-20;90;-20;20;0;1;-20;60;10;60;0;1;10;20;10;60;0;1;-240;-90;-120;-90;0;1;20;60;50;20;0;1;20;80;50;80;0;1;50;60;50;80;0;1;60;60;60;20;0;1;90;60;60;60;0;1;90;20;90;60;0;1;100;90;100;20;0;1;100;60;130;60;0;1;100;50;110;50;0;1;110;40;110;50;0;1;120;40;110;40;0;1;120;30;120;40;0;1;130;30;120;30;0;1;130;20;130;30;0;1;140;60;170;60;0;1;140;40;140;60;0;1;170;40;140;40;0;1;170;20;170;40;0;1;140;20;170;20;0;1;180;90;190;40;0;1;180;30;190;20;0;1;200;90;210;40;0;1;200;30;210;20;0;3;-50;200;-40;180;0;3;-40;210;-20;200;0;3;0;210;20;200;0;3;-30;160;-40;180;0;3;10;150;-30;160;0;3;20;180;10;160;0;3;30;180;20;200;0;3;-20;190;0;200;0;5;90;220;110;160;0;5;60;200;140;190;0;5;80;180;120;150;0;5;90;160;70;140;0;5;110;160;130;140;0;5;70;190;80;180;0;4;-60;230;150;130;0;1;-220;50;-240;50;0;1;-140;50;-120;50;0;5;120;190;130;180;0;] to [ステージ　データ v]\n\n
[矢印キーで動く]\n↓ステージが作れます！\nhttps://scratch.mit.edu/projects/417913459/\n音楽 : ParagonX9 - Chaoz Fantasy\nPen100%です！