ゴールを探せ！　100%pen　platformer迷路！

Instructions: English explanation is below\n\nWASDキーか矢印キー\n\nゴールはどこにあるかわかりません！一度見つけたら、世界一を狙ってみてください！\n\nhttps://scratch.mit.edu/studios/26677951/projects/\n☝よければ見てください\nWASD key or arrow key\n\nI don't know where the goal is! Once you find it, please aim for the best in the world!\n\nhttps://scratch.mit.edu/studios/26677951/projects/\n☝ Please see if you like

@Stage\n\nwhen flag clicked\nbroadcast (戻る v)\nforever\n    set [変数 v] to [0]\n    broadcast (0.5秒 v)\n    repeat until <([y position v] of [スプライト3 v]) = [0]>\n        change [変数 v] by (1)\n        change y by (変数)\n        go to x: (0) y: (0)\n    end\n    broadcast (戻る v)\n    if <[6] > (変数)> then\n        switch backdrop to (背景3 v)\n    end\n    if <[6] < (変数)> then\n        switch backdrop to (背景2 v)\n        stop [all v]\n    end\nend\n\nset [☁ 世界記録 v] to [20]\n\nreset timer\n\n@スプライト1\n\ndefine xy (x) (y)\ngo to x: (((-1) * (ステージｘ)) + (x)) y: (((-1) * (ステージｙ)) + (y))\n\nwhen flag clicked\nset [自機ｘ v] to [0]\nset [自機ｙ v] to [0]\nset [ステージｘ v] to [0]\nset [ステージｙ v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    動く\nend\n\ndefine 接触判定\ndelete all of [接触 v]\nset [i v] to [0]\nrepeat ((length of [コース v]) / (5))\n    if <<<(((item ((i) + (1)) of [コース v]) + ((-1) * (item ((i) + (3)) of [コース v]))) + (-5)) < (((ステージｘ) + (自機ｘ)) + (20))> and <(((ステージｘ) + (自機ｘ)) + (-20)) < (((item ((i) + (1)) of [コース v]) + (item ((i) + (3)) of [コース v])) + (5))>> and <<(((item ((i) + (2)) of [コース v]) + ((-1) * (item ((i) + (4)) of [コース v]))) + (-5)) < (((ステージｙ) + (自機ｙ)) + (20))> and <(((ステージｙ) + (自機ｙ)) + (-20)) < (((item ((i) + (2)) of [コース v]) + (item ((i) + (4)) of [コース v])) + (5))>>> then\n        add (item ((i) + (5)) of [コース v]) to [接触 v]\n    end\n    change [i v] by (5)\nend\n\ndefine ステージ入れる用xy (x) (y) 横長さ (横) 縦の長さ (縦) 種類 (種類)\nadd (x) to [コース v]\nadd (y) to [コース v]\nadd (横) to [コース v]\nadd (縦) to [コース v]\nadd (種類) to [コース v]\n\ndefine 四角xy (x) (y) 横の長さ (横の長さ) 縦の長さ (縦の長さ) 種類 (種類)\nset pen size to (10)\nset pen color to (#ff0000)\nif <(種類) = [1]> then\n    set pen (brightness v) to (0)\nend\nif <(種類) = [3]> then\n    change pen (color v) by (70)\nend\nif <(種類) = [4]> then\n    set pen color to (#ff6e00)\n    xy ((x) + (-20)) ((y) + (-30))\n    pen down\n    xy ((x) + (-20)) ((y) + (30))\n    xy ((x) + (20)) ((y) + (15))\n    xy ((x) + (-20)) (y)\n    pen up\nelse\n    xy ((x) + ((-1) * (横の長さ))) ((y) + (縦の長さ))\n    pen down\n    xy ((x) + (横の長さ)) ((y) + (縦の長さ))\n    xy ((x) + (横の長さ)) ((y) + ((-1) * (縦の長さ)))\n    xy ((x) + ((-1) * (横の長さ))) ((y) + ((-1) * (縦の長さ)))\n    xy ((x) + ((-1) * (横の長さ))) ((y) + (縦の長さ))\n    pen up\nend\n\ndefine 全体描画\nerase all\nset [ii v] to [0]\nrepeat ((length of [コース v]) / (5))\n    四角xy (item ((ii) + (1)) of [コース v]) (item ((ii) + (2)) of [コース v]) 横の長さ (item ((ii) + (3)) of [コース v]) 縦の長さ (item ((ii) + (4)) of [コース v]) 種類 (item ((ii) + (5)) of [コース v])\n    change [ii v] by (5)\nend\n四角xy ((自機ｘ) + (ステージｘ)) ((自機ｙ) + (ステージｙ)) 横の長さ [15] 縦の長さ [15] 種類 [1]\n\nwhen flag clicked\nforever\n    全体描画\nend\n\nwhen flag clicked\nhide variable [time v]\nhide variable [☁ 世界記録 v]\nreset timer\nforever\n    接触判定\nend\n\ndefine 動く\nif <<<<(mouse x) < (x position)> and <mouse down?>> or <key (a v) pressed?>> or <key (left arrow v) pressed?>> then\n    change [xv v] by (-1)\nend\nif <<<<(x position) < (mouse x)> and <mouse down?>> or <key (d v) pressed?>> or <key (right arrow v) pressed?>> then\n    change [xv v] by (1)\nend\nset [xv v] to ((Xv) * (0.88))\nchange [自機ｘ v] by (Xv)\nif <[接触 v] contains [1]?> then\n    change [自機ｙ v] by (1)\n    if <[接触 v] contains [1]?> then\n        change [自機ｙ v] by (1)\n        if <[接触 v] contains [1]?> then\n            change [自機ｙ v] by (1)\n            if <[接触 v] contains [1]?> then\n                change [自機ｙ v] by (1)\n                if <[接触 v] contains [1]?> then\n                    change [自機ｙ v] by (1)\n                    接触判定\n                    if <[接触 v] contains [1]?> then\n                        change [自機ｘ v] by ((-1) * (Xv))\n                        change [自機ｙ v] by (-5)\n                        if <[0] < (Xv)> then\n                            set [xv v] to [-10]\n                        else\n                            set [xv v] to [10]\n                            set [yv v] to [15]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange [自機ｙ v] by (4)\nif <<<<[0] < (mouse y)> and <mouse down?>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> and <(jump) < [1]>> then\n    set [yv v] to [15]\n    change [jump v] by (1)\nend\nif <[接触 v] contains [3]?> then\n    set [yv v] to [22]\nend\nchange [自機ｙ v] by (-5)\nif <<[接触 v] contains [2]?> or <(ステージｙ) < [-2000]>> then\n    set [自機ｘ v] to [0]\n    set [自機ｙ v] to [0]\n    set [ステージｘ v] to [0]\n    set [ステージｙ v] to [0]\n    set [xv v] to [0]\n    set [yv v] to [0]\nend\nchange [自機ｙ v] by (Yv)\nchange [yv v] by (-1)\n接触判定\nif <[接触 v] contains [1]?> then\n    change [自機ｙ v] by ((-1) * (Yv))\n    set [yv v] to [0]\n    set [jump v] to [0]\nelse\n    set [jump v] to [1]\nend\n\nwhen flag clicked\nforever\n    change [ステージｘ v] by (round (((自機ｘ) + (Xv)) / (9)))\n    change [自機ｘ v] by (round ((-1) * (((自機ｘ) + (Xv)) / (9))))\n    change [ステージｙ v] by (round (((自機ｙ) + (Yv)) / (9)))\n    change [自機ｙ v] by (round ((-1) * (((自機ｙ) + (Yv)) / (9))))\nend\n\ndelete all of [コース v]\nステージ入れる用xy [0] [-115] 横長さ [50] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [320] [-115] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [445] [-90] 横長さ [15] 縦の長さ [40] 種類 [2]\nステージ入れる用xy [570] [-115] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [710] [-115] 横長さ [30] 縦の長さ [15] 種類 [3]\nステージ入れる用xy [765] [-30] 横長さ [15] 縦の長さ [100] 種類 [1]\nステージ入れる用xy [765] [-30] 横長さ [15] 縦の長さ [100] 種類 [1]\nステージ入れる用xy [765] [-30] 横長さ [15] 縦の長さ [100] 種類 [1]\nステージ入れる用xy [1000] [180] 横長さ [100] 縦の長さ [50] 種類 [1]\nステージ入れる用xy [170] [-320] 横長さ [220] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [540] [-500] 横長さ [40] 縦の長さ [15] 種類 [3]\nステージ入れる用xy [900] [-320] 横長さ [220] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [140] [-200] 横長さ [10] 縦の長さ [10] 種類 [1]\nステージ入れる用xy [1145] [-205] 横長さ [15] 縦の長さ [130] 種類 [1]\nステージ入れる用xy [1230] [-90] 横長さ [60] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [-75] [-450] 横長さ [15] 縦の長さ [145] 種類 [1]\nステージ入れる用xy [-30] [-1000] 横長さ [60] 縦の長さ [300] 種類 [1]\nステージ入れる用xy [-195] [-715] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-195] [-815] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-195] [-915] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-195] [-1015] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-195] [-1115] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-195] [-240] 横長さ [15] 縦の長さ [450] 種類 [1]\nステージ入れる用xy [-120] [195] 横長さ [50] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [-45] [160] 横長さ [15] 縦の長さ [50] 種類 [1]\nステージ入れる用xy [10] [125] 横長さ [30] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [65] [125] 横長さ [15] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [1210] [180] 横長さ [100] 縦の長さ [50] 種類 [3]\nステージ入れる用xy [1400] [400] 横長さ [200] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [1400] [500] 横長さ [200] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [700] [500] 横長さ [300] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [100] [-1285] 横長さ [60] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-125] [-200] 横長さ [50] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [150] [-1400] 横長さ [150] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-150] [-1285] 横長さ [50] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [-185] [-1330] 横長さ [15] 縦の長さ [20] 種類 [2]\nステージ入れる用xy [170] [-1480] 横長さ [170] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [190] [-1560] 横長さ [190] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [15] [-1440] 横長さ [15] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [15] [-1520] 横長さ [15] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [-40] [-1610] 横長さ [30] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-105] [-1570] 横長さ [30] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-170] [-1530] 横長さ [30] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-235] [-1490] 横長さ [30] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-450] [-1200] 横長さ [15] 縦の長さ [500] 種類 [1]\nステージ入れる用xy [-515] [-800] 横長さ [40] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-515] [-1000] 横長さ [40] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-515] [-950] 横長さ [10] 縦の長さ [15] 種類 [4]\nステージ入れる用xy [-450] [-550] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [-450] [-350] 横長さ [15] 縦の長さ [180] 種類 [1]\nステージ入れる用xy [-650] [-350] 横長さ [15] 縦の長さ [180] 種類 [1]\nステージ入れる用xy [450] [-500] 横長さ [40] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [630] [-500] 横長さ [40] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [1340] [-90] 横長さ [40] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [1585] [-5] 横長さ [15] 縦の長さ [380] 種類 [1]\nステージ入れる用xy [1520] [-370] 横長さ [40] 縦の長さ [15] 種類 [3]\nステージ入れる用xy [1390] [-370] 横長さ [80] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [1390] [-325] 横長さ [15] 縦の長さ [20] 種類 [2]\nステージ入れる用xy [1250] [-500] 横長さ [80] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [1350] [-700] 横長さ [20] 縦の長さ [15] 種類 [2]\nステージ入れる用xy [1450] [-700] 横長さ [70] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [1200] [-700] 横長さ [120] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [1050] [-700] 横長さ [20] 縦の長さ [15] 種類 [3]\nステージ入れる用xy [800] [-500] 横長さ [120] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [900] [-800] 横長さ [70] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [800] [-1000] 横長さ [70] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [550] [-1535] 横長さ [70] 縦の長さ [40] 種類 [1]\nステージ入れる用xy [800] [-1535] 横長さ [70] 縦の長さ [40] 種類 [3]\nステージ入れる用xy [1000] [-1400] 横長さ [70] 縦の長さ [40] 種類 [3]\nステージ入れる用xy [1100] [-1200] 横長さ [70] 縦の長さ [40] 種類 [3]\nステージ入れる用xy [1350] [-1200] 横長さ [70] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [1450] [-1265] 横長さ [50] 縦の長さ [40] 種類 [1]\nステージ入れる用xy [1400] [-1370] 横長さ [150] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [300] [400] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [200] [300] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [200] [-600] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [350] [-450] 横長さ [15] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [400] [-700] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [550] [-800] 横長さ [100] 縦の長さ [15] 種類 [1]\nステージ入れる用xy [750] [-880] 横長さ [15] 縦の長さ [15] 種類 [1]\n\ndelete all of [コース v]\n\nwhen flag clicked\nwait until <<<(ステージｘ) < [-500]> and <[-560] < (ステージｘ)>> and <<(ステージｙ) < [-880]> and <[-960] < (ステージｙ)>>>\nstop [other scripts in sprite v]\nhide\nerase all\nswitch backdrop to (背景1 v)\nset [time v] to (timer)\nshow variable [time v]\nshow variable [☁ 世界記録 v]\nif <(time) < (☁ 世界記録)> then\n    set [☁ 世界記録 v] to (time)\nend\nstop [all v]\n\n@スプライト2\n\nwhen flag clicked\nhide\n\n@スプライト3\n\nwhen I receive [0.5秒 v]\nglide (0.1) secs to x: (0) y: (0)\n\nwhen I receive [戻る v]\ngo to x: (36) y: (28)\n\n