3D Platformer! ~ First ~
@Stage\n\n@pen\n\ndefine リスト要素描画\ninsert [1] at (1) of [chores v] \nrepeat ((length of [要素 v]) / (11))\n    set pen color to (item ((item (1) of [chores v]) + (9)) of [要素 v])\n    計算後の要素 (item (item (1) of [chores v]) of [要素 v]) (item ((item (1) of [chores v]) + (1)) of [要素 v]) (item ((item (1) of [chores v]) + (2)) of [要素 v]) (item ((item (1) of [chores v]) + (3)) of [要素 v]) (item ((item (1) of [chores v]) + (4)) of [要素 v]) (item ((item (1) of [chores v]) + (5)) of [要素 v]) (item ((item (1) of [chores v]) + (6)) of [要素 v]) (item ((item (1) of [chores v]) + (7)) of [要素 v]) (item ((item (1) of [chores v]) + (8)) of [要素 v]) を描画\n    replace item (1) of [chores v] with ((item (1) of [chores v]) + (11))\nend\ndelete (1) of [chores v]\n\ndefine 計算後の要素 (x1) (y1) (z1) (x2) (y2) (z2) (x3) (y3) (z3) を描画\nif <(z1) > [1]> then\n    if <(z2) > [1]> then\n        if <(z3) > [1]> then\n            三角形 ( ((x1) / ((z1) / (150))) , ((y1) / ((z1) / (150))) ) ( ((x2) / ((z2) / (150))) , ((y2) / ((z2) / (150))) ) ( ((x3) / ((z3) / (150))) , ((y3) / ((z3) / (150))) ) を塗りつぶす\n        else\n            三角形 ( ((x1) / ((z1) / (150))) , ((y1) / ((z1) / (150))) ) ( ((x2) / ((z2) / (150))) , ((y2) / ((z2) / (150))) ) ( (((((x3) - (x1)) * (((z1) - (1)) / ((z1) - (z3)))) + (x1)) * (150)) , (((((y3) - (y1)) * (((z1) - (1)) / ((z1) - (z3)))) + (y1)) * (150)) ) を塗りつぶす\n            三角形 ( ((x2) / ((z2) / (150))) , ((y2) / ((z2) / (150))) ) ( (((((x3) - (x1)) * (((z1) - (1)) / ((z1) - (z3)))) + (x1)) * (150)) , (((((y3) - (y1)) * (((z1) - (1)) / ((z1) - (z3)))) + (y1)) * (150)) ) ( (((((x3) - (x2)) * (((z2) - (1)) / ((z2) - (z3)))) + (x2)) * (150)) , (((((y3) - (y2)) * (((z2) - (1)) / ((z2) - (z3)))) + (y2)) * (150)) ) を塗りつぶす\n        end\n    else\n        if <(z3) > [1]> then\n            三角形 ( ((x1) / ((z1) / (150))) , ((y1) / ((z1) / (150))) ) ( ((x3) / ((z3) / (150))) , ((y3) / ((z3) / (150))) ) ( (((((x2) - (x1)) * (((z1) - (1)) / ((z1) - (z2)))) + (x1)) * (150)) , (((((y2) - (y1)) * (((z1) - (1)) / ((z1) - (z2)))) + (y1)) * (150)) ) を塗りつぶす\n            三角形 ( ((x3) / ((z3) / (150))) , ((y3) / ((z3) / (150))) ) ( (((((x2) - (x1)) * (((z1) - (1)) / ((z1) - (z2)))) + (x1)) * (150)) , (((((y2) - (y1)) * (((z1) - (1)) / ((z1) - (z2)))) + (y1)) * (150)) ) ( (((((x2) - (x3)) * (((z3) - (1)) / ((z3) - (z2)))) + (x3)) * (150)) , (((((y2) - (y3)) * (((z3) - (1)) / ((z3) - (z2)))) + (y3)) * (150)) ) を塗りつぶす\n        else\n            三角形 ( ((x1) / ((z1) / (150))) , ((y1) / ((z1) / (150))) ) ( (((((x2) - (x1)) * (((z1) - (1)) / ((z1) - (z2)))) + (x1)) * (150)) , (((((y2) - (y1)) * (((z1) - (1)) / ((z1) - (z2)))) + (y1)) * (150)) ) ( (((((x3) - (x1)) * (((z1) - (1)) / ((z1) - (z3)))) + (x1)) * (150)) , (((((y3) - (y1)) * (((z1) - (1)) / ((z1) - (z3)))) + (y1)) * (150)) ) を塗りつぶす\n        end\n    end\nelse\n    if <(z2) > [1]> then\n        if <(z3) > [1]> then\n            三角形 ( ((x2) / ((z2) / (150))) , ((y2) / ((z2) / (150))) ) ( ((x3) / ((z3) / (150))) , ((y3) / ((z3) / (150))) ) ( (((((x1) - (x2)) * (((z2) - (1)) / ((z2) - (z1)))) + (x2)) * (150)) , (((((y1) - (y2)) * (((z2) - (1)) / ((z2) - (z1)))) + (y2)) * (150)) ) を塗りつぶす\n            三角形 ( ((x3) / ((z3) / (150))) , ((y3) / ((z3) / (150))) ) ( (((((x1) - (x2)) * (((z2) - (1)) / ((z2) - (z1)))) + (x2)) * (150)) , (((((y1) - (y2)) * (((z2) - (1)) / ((z2) - (z1)))) + (y2)) * (150)) ) ( (((((x1) - (x3)) * (((z3) - (1)) / ((z3) - (z1)))) + (x3)) * (150)) , (((((y1) - (y3)) * (((z3) - (1)) / ((z3) - (z1)))) + (y3)) * (150)) ) を塗りつぶす\n        else\n            三角形 ( ((x2) / ((z2) / (150))) , ((y2) / ((z2) / (150))) ) ( (((((x1) - (x2)) * (((z2) - (1)) / ((z2) - (z1)))) + (x2)) * (150)) , (((((y1) - (y2)) * (((z2) - (1)) / ((z2) - (z1)))) + (y2)) * (150)) ) ( (((((x3) - (x2)) * (((z2) - (1)) / ((z2) - (z3)))) + (x2)) * (150)) , (((((y3) - (y2)) * (((z2) - (1)) / ((z2) - (z3)))) + (y2)) * (150)) ) を塗りつぶす\n        end\n    else\n        if <(z3) > [1]> then\n            三角形 ( ((x3) / ((z3) / (150))) , ((y3) / ((z3) / (150))) ) ( (((((x1) - (x3)) * (((z3) - (1)) / ((z3) - (z1)))) + (x3)) * (150)) , (((((y1) - (y3)) * (((z3) - (1)) / ((z3) - (z1)))) + (y3)) * (150)) ) ( (((((x2) - (x3)) * (((z3) - (1)) / ((z3) - (z2)))) + (x3)) * (150)) , (((((y2) - (y3)) * (((z3) - (1)) / ((z3) - (z2)))) + (y3)) * (150)) ) を塗りつぶす\n        end\n    end\nend\n\ndefine x: (x) y: (y) z: (z) camerax: (cx) cameray: (cy) cameraz: (cz) rotx: (rx) roty: (ry) の計算後の座標\nif <<<(cx) = [0]> and <(cy) = [0]>> and <(cz) = [0]>> then\n    if <(rx) = [0]> then\n        if <(ry) = [0]> then\n            insert (z) at (1) of [answer v] \n            insert (y) at (1) of [answer v] \n            insert (x) at (1) of [answer v] \n        else\n            x: (x) y: (((y) * ([cos v] of (ry) )) - ((z) * ([sin v] of (ry) ))) z: (((y) * ([sin v] of (ry) )) + ((z) * ([cos v] of (ry) ))) camerax: [0] cameray: [0] cameraz: [0] rotx: [0] roty: [0] の計算後の座標\n        end\n    else\n        x: (((x) * ([cos v] of (rx) )) - ((z) * ([sin v] of (rx) ))) y: (y) z: (((x) * ([sin v] of (rx) )) + ((z) * ([cos v] of (rx) ))) camerax: [0] cameray: [0] cameraz: [0] rotx: [0] roty: (ry) の計算後の座標\n    end\nelse\n    x: ((x) - (cx)) y: ((y) - (cy)) z: ((z) - (cz)) camerax: [0] cameray: [0] cameraz: [0] rotx: (rx) roty: (ry) の計算後の座標\nend\n\ndefine 三角形 ( (x1) , (y1) ) ( (x2) , (y2) ) ( (x3) , (y3) ) を塗りつぶす\ninsert ([sqrt v] of ((((x3) - (x1)) * ((x3) - (x1))) + (((y3) - (y1)) * ((y3) - (y1)))) ) at (1) of [chores v] \ninsert ([sqrt v] of ((((x2) - (x3)) * ((x2) - (x3))) + (((y2) - (y3)) * ((y2) - (y3)))) ) at (1) of [chores v] \ninsert ([sqrt v] of ((((x1) - (x2)) * ((x1) - (x2))) + (((y1) - (y2)) * ((y1) - (y2)))) ) at (1) of [chores v] \ninsert ((((y1) * (item (2) of [chores v])) + (((y2) * (item (3) of [chores v])) + ((y3) * (item (1) of [chores v])))) / ((item (1) of [chores v]) + ((item (2) of [chores v]) + (item (3) of [chores v])))) at (4) of [chores v] \ninsert ((((x1) * (item (2) of [chores v])) + (((x2) * (item (3) of [chores v])) + ((x3) * (item (1) of [chores v])))) / ((item (1) of [chores v]) + ((item (2) of [chores v]) + (item (3) of [chores v])))) at (4) of [chores v] \ninsert (([abs v] of (((((x3) - (x2)) * (y1)) + ((((x1) - (x3)) * (y2)) + (((x2) - (x1)) * (y3)))) / ((((item (1) of [chores v]) + (item (2) of [chores v])) + (item (3) of [chores v])) / (2))) ) + (1)) at (4) of [chores v] \ndelete (1) of [chores v]\ndelete (1) of [chores v]\nreplace item (1) of [chores v] with [1]\nswitch costume to (  v)\nset size to ((1) / ()) %\nswitch costume to ( v)\nrepeat until <not <((item (1) of [chores v]) * (item (2) of [chores v])) > ([e ^ v] of (() - <is compiled?>) )>>\n    replace item (1) of [chores v] with ((item (1) of [chores v]) / (2))\n    set pen size to ((item (1) of [chores v]) * (item (2) of [chores v]))\n    go to x: ((((item (3) of [chores v]) - (x1)) * (item (1) of [chores v])) + (x1)) y: ((((item (4) of [chores v]) - (y1)) * (item (1) of [chores v])) + (y1))\n    pen down\n    go to x: ((((item (3) of [chores v]) - (x2)) * (item (1) of [chores v])) + (x2)) y: ((((item (4) of [chores v]) - (y2)) * (item (1) of [chores v])) + (y2))\n    go to x: ((((item (3) of [chores v]) - (x3)) * (item (1) of [chores v])) + (x3)) y: ((((item (4) of [chores v]) - (y3)) * (item (1) of [chores v])) + (y3))\n    go to x: ((((item (3) of [chores v]) - (x1)) * (item (1) of [chores v])) + (x1)) y: ((((item (4) of [chores v]) - (y1)) * (item (1) of [chores v])) + (y1))\n    pen up\nend\nset size to (100) %\npen up\ndelete (1) of [chores v]\ndelete (1) of [chores v]\ndelete (1) of [chores v]\ndelete (1) of [chores v]\n\ndefine 3D上での三角形 ( (x1) (y1) (z1) ) ( (x2) (y2) (z2) ) ( (x3) (y3) (z3) ) (c)\nx: (x3) y: (y3) z: (z3) camerax: (camera x) cameray: (camera y) cameraz: (camera z) rotx: (rot x) roty: (rot y) の計算後の座標\nx: (x2) y: (y2) z: (z2) camerax: (camera x) cameray: (camera y) cameraz: (camera z) rotx: (rot x) roty: (rot y) の計算後の座標\nx: (x1) y: (y1) z: (z1) camerax: (camera x) cameray: (camera y) cameraz: (camera z) rotx: (rot x) roty: (rot y) の計算後の座標\ninsert [0] at (1) of [chores v] \ninsert ((((([abs v] of (item (1) of [answer v]) ) + ([abs v] of (item (2) of [answer v]) )) + (([abs v] of (item (4) of [answer v]) ) + ([abs v] of (item (5) of [answer v]) ))) + (([abs v] of (item (7) of [answer v]) ) + ([abs v] of (item (8) of [answer v]) ))) / (10)) at (1) of [chores v] \nif <(item (3) of [answer v]) > (item (6) of [answer v])> then\n    if <(item (3) of [answer v]) > (item (9) of [answer v])> then\n        replace item (1) of [chores v] with ((item (1) of [chores v]) + (item (3) of [answer v]))\n    else\n        replace item (1) of [chores v] with ((item (1) of [chores v]) + (item (9) of [answer v]))\n    end\nelse\n    if <(item (6) of [answer v]) > (item (9) of [answer v])> then\n        replace item (1) of [chores v] with ((item (1) of [chores v]) + (item (6) of [answer v]))\n    else\n        replace item (1) of [chores v] with ((item (1) of [chores v]) + (item (9) of [answer v]))\n    end\nend\nrepeat until <<(item (((item (2) of [chores v]) * (11)) + (11)) of [要素 v]) < (item (1) of [chores v])> or <(item (2) of [chores v]) = ((length of [要素 v]) / (11))>>\n    replace item (2) of [chores v] with ((item (2) of [chores v]) + (1))\nend\nif <(item (((item (2) of [chores v]) * (11)) + (11)) of [要素 v]) < (item (1) of [chores v])> then\n    insert (item (1) of [chores v]) at (((item (2) of [chores v]) * (11)) + (1)) of [要素 v] \n    insert (c) at (((item (2) of [chores v]) * (11)) + (1)) of [要素 v] \n    replace item (1) of [chores v] with [9]\n    repeat (9)\n        insert (item (item (1) of [chores v]) of [answer v]) at (((item (2) of [chores v]) * (11)) + (1)) of [要素 v] \n        delete (item (1) of [chores v]) of [answer v]\n        replace item (1) of [chores v] with ((item (1) of [chores v]) - (1))\n    end\nelse\n    repeat (9)\n        add (item (1) of [answer v]) to [要素 v]\n        delete (1) of [answer v]\n    end\n    add (c) to [要素 v]\n    add (item (1) of [chores v]) to [要素 v]\nend\ndelete (1) of [chores v]\ndelete (1) of [chores v]\n\ndefine リスト内立方体 (x) (y) (z) (s) (c) (?)\ninsert [] at (1) of [chores v] \ninsert [] at (1) of [chores v] \ninsert [] at (1) of [chores v] \nif <(c) = [0]> then\n    replace item (1) of [chores v] with [#0d0]\n    replace item (2) of [chores v] with [#0f0]\n    replace item (3) of [chores v] with [#0b0]\nend\nif <(c) = [1]> then\n    replace item (1) of [chores v] with [#00d000]\n    replace item (2) of [chores v] with [#00f000]\n    replace item (3) of [chores v] with [#00b000]\nend\nif <(c) = [2]> then\n    replace item (1) of [chores v] with [#dd0]\n    replace item (2) of [chores v] with [#ff0]\n    replace item (3) of [chores v] with [#bb0]\nend\nif <(c) = [3]> then\n    replace item (1) of [chores v] with [#00d]\n    replace item (2) of [chores v] with [#00f]\n    replace item (3) of [chores v] with [#00b]\nend\nif <(c) = [4]> then\n    replace item (1) of [chores v] with [#d00]\n    replace item (2) of [chores v] with [#f00]\n    replace item (3) of [chores v] with [#b00]\nend\nif <(((((x) - (camera x)) * ((x) - (camera x))) + (((y) - (camera y)) * ((y) - (camera y)))) + (((z) - (camera z)) * ((z) - (camera z)))) < (描画距離)> then\n    if <<(camera x) > ((x) + (s))> and <(letter (1) of (?)) = [1]>> then\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) + (s)) ((y) - (s)) ((z) + (s)) ) ( ((x) + (s)) ((y) - (s)) ((z) - (s)) ) (item (1) of [chores v])\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) + (s)) ((y) + (s)) ((z) - (s)) ) ( ((x) + (s)) ((y) - (s)) ((z) - (s)) ) (item (1) of [chores v])\n    end\n    if <<(camera x) < ((x) - (s))> and <(letter (2) of (?)) = [1]>> then\n        3D上での三角形 ( ((x) - (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) - (s)) ) (item (1) of [chores v])\n        3D上での三角形 ( ((x) - (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) + (s)) ((z) - (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) - (s)) ) (item (1) of [chores v])\n    end\n    if <<(camera y) > ((y) + (s))> and <(letter (3) of (?)) = [1]>> then\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) + (s)) ((y) + (s)) ((z) - (s)) ) ( ((x) - (s)) ((y) + (s)) ((z) - (s)) ) (item (2) of [chores v])\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) + (s)) ((z) - (s)) ) (item (2) of [chores v])\n    end\n    if <<(camera y) < ((y) - (s))> and <(letter (4) of (?)) = [1]>> then\n        3D上での三角形 ( ((x) + (s)) ((y) - (s)) ((z) + (s)) ) ( ((x) + (s)) ((y) - (s)) ((z) - (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) - (s)) ) (item (2) of [chores v])\n        3D上での三角形 ( ((x) + (s)) ((y) - (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) - (s)) ) (item (2) of [chores v])\n    end\n    if <<(camera z) > ((z) + (s))> and <(letter (5) of (?)) = [1]>> then\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) + (s)) ((y) - (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) + (s)) ) (item (3) of [chores v])\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) + (s)) ((z) + (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) + (s)) ) (item (3) of [chores v])\n    end\n    if <<(camera z) < ((z) - (s))> and <(letter (6) of (?)) = [1]>> then\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) - (s)) ) ( ((x) + (s)) ((y) - (s)) ((z) - (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) - (s)) ) (item (3) of [chores v])\n        3D上での三角形 ( ((x) + (s)) ((y) + (s)) ((z) - (s)) ) ( ((x) - (s)) ((y) + (s)) ((z) - (s)) ) ( ((x) - (s)) ((y) - (s)) ((z) - (s)) ) (item (3) of [chores v])\n    end\nend\ndelete (1) of [chores v]\ndelete (1) of [chores v]\ndelete (1) of [chores v]\n\ndefine リスト移行\nrepeat ((length of [予備入り v]) / (6))\n    リスト内立方体 (item (1) of [予備入り v]) (item (2) of [予備入り v]) (item (3) of [予備入り v]) (item (4) of [予備入り v]) (item (5) of [予備入り v]) (item (6) of [予備入り v])\n    repeat (6)\n        delete (1) of [予備入り v]\n    end\nend\n\ndefine 立方体 (x) (y) (z) (s) (c) (?)\nif <<(c) = [0]> or <(c) = [1]>> then\n    if <not <<([abs v] of ((x) - (camera x)) ) > (s)> or <([abs v] of ((z) - (camera z)) ) > (s)>>> then\n        if <not <<(camera y) > (((y) + (s)) + (100))> or <(camera y) < ((y) - (s))>>> then\n            if <not <(camera y) < ((((y) + (s)) + (100)) + ((camera y) - (前y)))>> then\n                set [y speed v] to [0]\n                if <<key (space v) pressed?> or <(Jump) = [true]>> then\n                    set [y speed v] to [30]\n                end\n                set [camera y v] to (((y) + (s)) + (100))\n            else\n                if <not <(camera y) > (((y) - (s)) + ((camera y) - (前y)))>> then\n                    set [y speed v] to (() - (y speed))\n                else\n                    if <not <(camera z) < (((z) + (s)) + ((camera z) - (前z)))>> then\n                        set [camera z v] to (((z) + (s)) + (10))\n                    end\n                    if <not <(camera z) > (((z) - (s)) + ((camera z) - (前z)))>> then\n                        set [camera z v] to (((z) - (s)) - (10))\n                    end\n                    if <not <(camera x) < (((x) + (s)) + ((camera x) - (前x)))>> then\n                        set [camera x v] to (((x) + (s)) + (10))\n                    end\n                    if <not <(camera x) > (((x) - (s)) + ((camera x) - (前x)))>> then\n                        set [camera x v] to (((x) - (s)) - (10))\n                    end\n                end\n            end\n        end\n    end\nend\nif <(c) = [2]> then\n    if <not <<([abs v] of ((x) - (camera x)) ) > (s)> or <([abs v] of ((z) - (camera z)) ) > (s)>>> then\n        if <not <<(camera y) > (((y) + (s)) + (100))> or <(camera y) < ((y) - (s))>>> then\n            set [nextstage? v] to [1]\n        end\n    end\nend\nif <(c) = [3]> then\n    if <not <<([abs v] of ((x) - (camera x)) ) > (s)> or <([abs v] of ((z) - (camera z)) ) > (s)>>> then\n        if <not <<(camera y) > (((y) + (s)) + (100))> or <(camera y) < ((y) - (s))>>> then\n            set [y speed v] to [60]\n            set [camera y v] to (((y) + (s)) + (100))\n        end\n    end\nend\nif <(c) = [4]> then\n    if <not <<([abs v] of ((x) - (camera x)) ) > (s)> or <([abs v] of ((z) - (camera z)) ) > (s)>>> then\n        if <not <<(camera y) > (((y) + (s)) + (100))> or <(camera y) < ((y) - (s))>>> then\n            set [わああ v] to [1]\n        end\n    end\nend\nadd (x) to [予備入り v]\nadd (y) to [予備入り v]\nadd (z) to [予備入り v]\nadd (s) to [予備入り v]\nadd (c) to [予備入り v]\nadd (?) to [予備入り v]\n\nwhen I receive [完了 v]\nset [描画距離 v] to [2000000]\nreset timer\nforever\n    erase all\n    set [rot x v] to ((timer) * (72))\n    set [rot y v] to (([cos v] of ((timer) * (60)) ) * (-45))\n    set [camera y v] to (([sin v] of (rot y) ) * (-300))\n    set [camera x v] to ((() - ([sin v] of (rot x) )) * ([sqrt v] of ((90000) - ((rot y) * (rot y))) ))\n    set [camera z v] to ((() - ([cos v] of (rot x) )) * ([sqrt v] of ((90000) - ((rot y) * (rot y))) ))\n    delete all of [要素 v]\n    立方体 [0] [0] [0] [100] [0] [111111]\n    リスト移行\n    リスト要素描画\nend\n\nwhen I receive [スタート v]\nset [世界記録保存用 v] to (days since 2000)\nstop [other scripts in sprite v]\nset [わああ v] to [0]\nset [stage v] to [1]\nset [nextstage? v] to [0]\nset [camera x v] to [0]\nset [camera y v] to [0]\nset [camera z v] to [0]\nset [y speed v] to [0]\nset [rot x v] to [0]\nset [rot y v] to [0]\nset [描画距離 v] to [2000000]\nforever\n    set [前x v] to (camera x)\n    set [前y v] to (camera y)\n    set [前z v] to (camera z)\n    if <key (up arrow v) pressed?> then\n        change [rot y v] by (5)\n    end\n    if <key (down arrow v) pressed?> then\n        change [rot y v] by (-5)\n    end\n    if <key (right arrow v) pressed?> then\n        change [rot x v] by (5)\n    end\n    if <key (left arrow v) pressed?> then\n        change [rot x v] by (-5)\n    end\n    if <<<key (w v) pressed?> or <(歩く) = [315]>> or <<(歩く) = [0]> or <(歩く) = [45]>>> then\n        change [camera x v] by (([sin v] of (rot x) ) * (10))\n        change [camera z v] by (([cos v] of (rot x) ) * (10))\n    end\n    if <<<key (s v) pressed?> or <(歩く) = [135]>> or <<(歩く) = [180]> or <(歩く) = [225]>>> then\n        change [camera x v] by (([sin v] of ((rot x) + (180)) ) * (10))\n        change [camera z v] by (([cos v] of ((rot x) + (180)) ) * (10))\n    end\n    if <<<key (d v) pressed?> or <(歩く) = [45]>> or <<(歩く) = [90]> or <(歩く) = [135]>>> then\n        change [camera x v] by (([sin v] of ((rot x) + (90)) ) * (10))\n        change [camera z v] by (([cos v] of ((rot x) + (90)) ) * (10))\n    end\n    if <<<key (a v) pressed?> or <(歩く) = [225]>> or <<(歩く) = [270]> or <(歩く) = [315]>>> then\n        change [camera x v] by (([sin v] of ((rot x) + (270)) ) * (10))\n        change [camera z v] by (([cos v] of ((rot x) + (270)) ) * (10))\n    end\n    if <(rot y) > [90]> then\n        set [rot y v] to [90]\n    end\n    if <(rot y) < [-90]> then\n        set [rot y v] to [-90]\n    end\n    change [camera y v] by (y speed)\n    change [y speed v] by (-2)\n    描画\n    if <<(camera y) < [-800]> or <(わああ) = [1]>> then\n        start sound [cancel5 v]\n        set [camera x v] to [0]\n        set [camera y v] to [0]\n        set [camera z v] to [0]\n        set [y speed v] to [0]\n        set [rot x v] to [0]\n        set [rot y v] to [0]\n        set [わああ v] to [0]\n    end\n    if <(nextStage?) = [1]> then\n        if <<(Stage) = [8]> and <not <((round (((days since 2000) - (世界記録保存用)) * (86400000))) / (1000)) > (☁ World Record)>>> then\n            set [☁ world record v] to ((round (((days since 2000) - (世界記録保存用)) * (86400000))) / (1000))\n        end\n        broadcast (Next v) and wait\n    end\nend\n\ndefine 描画\nerase all\ndelete all of [要素 v]\nif <(Stage) = [1]> then\n    立方体 [0] [-200] [0] [100] [0] [111101]\n    立方体 [0] [-200] [200] [100] [1] [111100]\n    立方体 [0] [-200] [400] [100] [0] [111100]\n    立方体 [0] [-200] [600] [100] [1] [111100]\n    立方体 [0] [-200] [800] [100] [0] [101110]\n    立方体 [-200] [-200] [800] [100] [1] [001111]\n    立方体 [-400] [-200] [800] [100] [2] [011111]\nend\nif <(Stage) = [2]> then\n    立方体 [0] [-200] [0] [100] [0] [111101]\n    立方体 [0] [-200] [200] [100] [1] [111100]\n    立方体 [0] [-200] [400] [100] [0] [111110]\n    立方体 [0] [-200] [800] [100] [0] [111101]\n    立方体 [0] [-200] [1000] [100] [1] [011110]\n    立方体 [200] [-200] [1000] [100] [0] [101111]\n    立方体 [600] [-200] [1000] [100] [2] [111111]\nend\nif <(Stage) = [3]> then\n    立方体 [0] [-200] [0] [100] [0] [111101]\n    立方体 [0] [-200] [200] [100] [1] [111100]\n    立方体 [0] [-200] [400] [100] [0] [110110]\n    立方体 [0] [0] [400] [100] [1] [111011]\n    立方体 [0] [0] [800] [100] [0] [111101]\n    立方体 [0] [0] [1000] [100] [1] [110110]\n    立方体 [0] [200] [1000] [100] [0] [111011]\n    立方体 [0] [-200] [1600] [100] [0] [111101]\n    立方体 [0] [-200] [1800] [100] [2] [111110]\nend\nif <(Stage) = [4]> then\n    立方体 [0] [-200] [0] [100] [0] [111101]\n    立方体 [0] [-200] [200] [100] [3] [111110]\n    立方体 [0] [600] [400] [100] [0] [111101]\n    立方体 [0] [600] [600] [100] [3] [111110]\n    立方体 [600] [1200] [600] [100] [0] [011111]\n    立方体 [800] [1200] [600] [100] [2] [101111]\nend\nif <(Stage) = [5]> then\n    立方体 [0] [-200] [0] [100] [0] [111101]\n    立方体 [40] [-60] [200] [40] [4] [101011]\n    立方体 [-40] [-60] [200] [40] [4] [011011]\n    立方体 [0] [-200] [200] [100] [1] [111100]\n    立方体 [0] [-200] [400] [100] [0] [111100]\n    立方体 [0] [-200] [600] [100] [1] [111100]\n    立方体 [40] [-60] [600] [40] [4] [101011]\n    立方体 [-40] [-60] [600] [40] [4] [011011]\n    立方体 [0] [-200] [800] [100] [2] [111110]\nend\nif <(Stage) = [6]> then\n    立方体 [0] [-200] [0] [100] [0] [111111]\n    立方体 [0] [-200] [400] [100] [1] [111111]\n    立方体 [-400] [-200] [400] [100] [0] [111111]\n    立方体 [-800] [-200] [400] [100] [1] [111110]\n    立方体 [-800] [-200] [200] [100] [0] [110101]\n    立方体 [-800] [0] [200] [100] [1] [111010]\n    立方体 [-800] [0] [0] [100] [3] [111101]\n    立方体 [-300] [800] [0] [100] [1] [111111]\n    立方体 [-300] [1060] [0] [10] [3] [111011]\n    立方体 [-300] [1040] [0] [30] [3] []\n    立方体 [-300] [1000] [0] [50] [4] [111011]\n    立方体 [-300] [1800] [200] [100] [0] [111101]\n    立方体 [-300] [1800] [400] [100] [2] [111110]\nend\nif <(Stage) = [7]> then\n    立方体 [0] [-130] [0] [30] [0] [111111]\n    立方体 [0] [-70] [150] [30] [4] [111111]\n    立方体 [0] [-130] [300] [30] [3] [111111]\n    立方体 [0] [800] [450] [30] [1] [111111]\n    立方体 [300] [800] [450] [30] [0] [111111]\n    立方体 [600] [800] [450] [30] [1] [111111]\n    立方体 [900] [800] [450] [30] [0] [111111]\n    立方体 [1300] [-130] [450] [30] [2] [111111]\nend\nif <(Stage) = [8]> then\n    立方体 [0] [1000] [200] [200] [4] [110101]\n    立方体 [0] [1000] [600] [200] [4] [110100]\n    立方体 [0] [1000] [1000] [200] [4] [110110]\n    立方体 [0] [-200] [0] [100] [0] [111101]\n    立方体 [0] [-200] [200] [100] [3] [111100]\n    立方体 [0] [-200] [400] [100] [0] [111100]\n    立方体 [-70] [-70] [530] [30] [3] [111011]\n    立方体 [70] [-70] [600] [30] [3] [111011]\n    立方体 [0] [-70] [670] [30] [3] [111011]\n    立方体 [0] [-200] [600] [100] [1] [111100]\n    立方体 [0] [-200] [800] [100] [3] [111100]\n    立方体 [0] [-200] [1000] [100] [1] [111100]\n    立方体 [0] [-200] [1200] [100] [2] [111110]\nend\nif <(Stage) = [9]> then\n    立方体 [0] [-200] [0] [100] [0] [111111]\n    3D上での三角形 ( [-850] [500] [1000] ) ( [-850] [0] [1000] ) ( [-750] [0] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-850] [500] [1000] ) ( [-750] [500] [1000] ) ( [-750] [0] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-750] [500] [1000] ) ( [-350] [500] [1000] ) ( [-350] [400] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-750] [500] [1000] ) ( [-750] [400] [1000] ) ( [-350] [400] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-750] [300] [1000] ) ( [-350] [300] [1000] ) ( [-350] [200] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-750] [300] [1000] ) ( [-750] [200] [1000] ) ( [-350] [200] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-750] [100] [1000] ) ( [-350] [100] [1000] ) ( [-350] [0] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-750] [100] [1000] ) ( [-750] [0] [1000] ) ( [-350] [0] [1000] ) [0x44ff4444]\n    3D上での三角形 ( [-250] [500] [1000] ) ( [-250] [0] [1000] ) ( [-150] [0] [1000] ) [0x4444ff44]\n    3D上での三角形 ( [-250] [500] [1000] ) ( [-150] [500] [1000] ) ( [-150] [0] [1000] ) [0x4444ff44]\n    3D上での三角形 ( [250] [500] [1000] ) ( [250] [0] [1000] ) ( [150] [0] [1000] ) [0x4444ff44]\n    3D上での三角形 ( [250] [500] [1000] ) ( [150] [500] [1000] ) ( [150] [0] [1000] ) [0x4444ff44]\n    3D上での三角形 ( [-250] [450] [1000] ) ( [-150] [500] [1000] ) ( [250] [0] [1000] ) [0x4444ff44]\n    3D上での三角形 ( [-250] [500] [1000] ) ( [150] [0] [1000] ) ( [250] [50] [1000] ) [0x4444ff44]\n    3D上での三角形 ( [350] [500] [1000] ) ( [350] [0] [1000] ) ( [450] [0] [1000] ) [0x448888ff]\n    3D上での三角形 ( [350] [500] [1000] ) ( [450] [500] [1000] ) ( [450] [0] [1000] ) [0x448888ff]\n    3D上での三角形 ( [450] [500] [1000] ) ( [450] [400] [1000] ) ( [750] [400] [1000] ) [0x448888ff]\n    3D上での三角形 ( [450] [500] [1000] ) ( [750] [500] [1000] ) ( [750] [400] [1000] ) [0x448888ff]\n    3D上での三角形 ( [450] [100] [1000] ) ( [450] [0] [1000] ) ( [750] [0] [1000] ) [0x448888ff]\n    3D上での三角形 ( [450] [100] [1000] ) ( [750] [100] [1000] ) ( [750] [0] [1000] ) [0x448888ff]\n    3D上での三角形 ( [750] [400] [1000] ) ( [850] [400] [1000] ) ( [850] [100] [1000] ) [0x448888ff]\n    3D上での三角形 ( [750] [400] [1000] ) ( [750] [100] [1000] ) ( [850] [100] [1000] ) [0x448888ff]\n    3D上での三角形 ( [-1200] [700] [1200] ) ( [1200] [700] [1200] ) ( [1200] [-200] [1200] ) [0x88ffffff]\n    3D上での三角形 ( [-1200] [700] [1200] ) ( [-1200] [-200] [1200] ) ( [1200] [-200] [1200] ) [0x88ffffff]\nend\nリスト移行\nリスト要素描画\n\nwhen I receive [a v]\n描画\n\n@サムネ\n\nwhen flag clicked\nhide\n\nwhen I receive [完了 v]\nshow\nforever\n    switch costume to (([costume # v] of [モード v]) + (1))\nend\n\nwhen I receive [スタート v]\nhide\n\n@op\n\nwhen I receive [op_kieru v]\nset [op_moji v] to (y position)\nrepeat until <(timer) > [0.5]>\n    set [ghost v] effect to ((timer) * (200))\n    set y to ((op_moji) + ((timer) * (100)))\nend\nhide\nclear graphic effects\nif <[] = []> then\n    delete this clone\nend\nwait (1) seconds\nset [op v] to [1]\nbroadcast (完了 v)\n\nwhen flag clicked\nif <(OP) = [1]> then\n    broadcast (完了 v)\n    stop [this script v]\nend\npoint in direction (0)\nset rotation style [all around v]\ngo to x: () y: ()\nerase all\nset pen color to (#ffffff)\nset pen size to (999)\npen down\npen up\nshow\nset size to () %\nswitch costume to (k v)\nreset timer\nrepeat until <(timer) > [1]>\n    set size to (((timer) * (800)) - (((timer) * (timer)) * (600))) %\nend\nset size to (200) %\nset [op_moji v] to []\nrepeat (8)\n    change [op_moji v] by (1)\n    set [op_ok v] to [0]\n    create clone of (_myself_ v)\n    wait until <(op_ok) = [1]>\nend\nset [op_moji v] to [-]\nwait (0.5) seconds\nreset timer\nbroadcast (op_idou v)\n\nwhen I receive [op_idou v]\nrepeat until <(timer) > [0.5]>\n    go to x: (((((220) - ((600) * (timer))) * (timer)) + (100)) * (([sqrt v] of (letter (op_moji) of [12121212]) ) * ([sin v] of (((op_moji) - (1)) * (45)) ))) y: (((((220) - ((600) * (timer))) * (timer)) + (100)) * (([sqrt v] of (letter (op_moji) of [12121212]) ) * ([cos v] of (((op_moji) - (1)) * (45)) )))\nend\nswitch costume to (完成形 v)\nif <[] = []> then\n    delete this clone\nend\nwait (0.5) seconds\nreset timer\ncreate clone of (_myself_ v)\npoint in direction (90)\nset rotation style [all around v]\nrepeat until <(timer) > [1]>\n    set y to (((100) - ((50) * (timer))) * (timer))\n    point in direction (((180) - ((90) * (timer))) * (timer))\nend\npoint in direction (90)\nset y to (50)\nwait (1) seconds\nreset timer\nbroadcast (op_kieru v)\n\nwhen I start as a clone\nif <(op_moji) = [-]> then\n    point in direction (90)\n    set [ghost v] effect to (100)\n    switch costume to (yukku'sproject v)\n    set size to (600) %\n    repeat until <(timer) > [1]>\n        set [ghost v] effect to (((1) - (timer)) * (100))\n        set y to ((((100) - ((50) * (timer))) * (timer)) - (150))\n    end\n    set y to (-100)\n    clear graphic effects\nelse\n    go to [back v] layer\n    set size to (0) %\n    switch costume to (letter (op_moji) of [ UK  YU ])\n    reset timer\n    repeat until <(timer) > [0.25]>\n        set size to (((3200) - ((9600) * (timer))) * (timer)) %\n        go to x: ((((800) - ((1600) * (timer))) * (timer)) * (([sqrt v] of (letter (op_moji) of [12121212]) ) * ([sin v] of (((op_moji) - (1)) * (45)) ))) y: ((((800) - ((1600) * (timer))) * (timer)) * (([sqrt v] of (letter (op_moji) of [12121212]) ) * ([cos v] of (((op_moji) - (1)) * (45)) )))\n    end\n    set size to (200) %\n    go to x: (((100) * ([sqrt v] of (letter (op_moji) of [12121212]) )) * ([sin v] of (((op_moji) - (1)) * (45)) )) y: (((100) * ([sqrt v] of (letter (op_moji) of [12121212]) )) * ([cos v] of (((op_moji) - (1)) * (45)) ))\n    set [op_ok v] to [1]\nend\n\n@クロ\n\nwhen flag clicked\nswitch costume to ( v)\nhide\n\nwhen I receive [完了 v]\nset volume to (100) %\ngo to x: () y: ()\n\nwhen I receive [next v]\nstart sound [decision25 v]\nshow\nreset timer\ngo to [front v] layer\nrepeat until <(timer) > [0.5]>\n    set size to (150) %\n    go to x: (((((timer) - (0.5)) * ((timer) - (0.5))) * ((timer) - (0.5))) * (3840)) y: ()\n    set size to (100) %\nend\nchange [stage v] by (1)\nset [nextstage? v] to [0]\nset [camera x v] to [0]\nset [camera y v] to [0]\nset [camera z v] to [0]\nset [前x v] to [0]\nset [前y v] to [0]\nset [前z v] to [0]\nset [y speed v] to [0]\nset [rot x v] to [0]\nset [rot y v] to [0]\nbroadcast (A v)\nrepeat until <(timer) > [1]>\n    set size to (150) %\n    go to x: (((((timer) - (0.5)) * ((timer) - (0.5))) * ((timer) - (0.5))) * (3840)) y: ()\n    set size to (100) %\nend\nhide\n\nwhen I receive [完了 v]\nforever\n    play sound [chess v] until done\nend\n\nwhen I receive [消えろ v]\nset [ghost v] effect to (100)\nshow\nrepeat (25)\n    change [ghost v] effect by (-4)\n    change volume by (-4)\nend\nstop [other scripts in sprite v]\nstop all sounds\nset volume to (100) %\nbroadcast (スタート v)\nrepeat (25)\n    change [ghost v] effect by (4)\nend\nhide\nclear graphic effects\nswitch costume to (2 v)\nforever\n    play sound [mist v] until done\nend\n\n@矢印ボタン\n\nwhen flag clicked\nset [ボタンok v] to <[] < []>\nset [歩く v] to [-]\nhide\n\nwhen I receive [スタート v]\nif <(タブレット?) = [true]> then\n    show\n    set [ghost v] effect to (75)\n    set rotation style [don't rotate v]\nend\nforever\n    set [歩く v] to [-]\n    wait until <mouse down?>\n    if <<touching (mouse-pointer v)?> and <(タブレット?) = [true]>> then\n        set [ボタンok v] to <[] = []>\n        repeat until <not <mouse down?>>\n            if <(distance to [mouse-pointer v]) < [20]> then\n                set [歩く v] to [-]\n            else\n                point towards (mouse-pointer v)\n                set [歩く v] to (((round ((direction) / (45))) * (45)) mod (360))\n            end\n        end\n        set [ボタンok v] to <[] < []>\n    else\n        set [x向き変え v] to ((rot x) + ((mouse x) / (2)))\n        set [y向き変え v] to ((rot y) + ((mouse y) / (2)))\n        repeat until <not <mouse down?>>\n            set [rot x v] to ((x向き変え) - ((mouse x) / (2)))\n            set [rot y v] to ((y向き変え) - ((mouse y) / (2)))\n        end\n    end\nend\n\n@ジャンプボタン\n\nwhen I receive [スタート v]\nif <(タブレット?) = [true]> then\n    show\n    set [ghost v] effect to (50)\n    forever\n        set [jump v] to <<<mouse down?> and <touching (mouse-pointer v)?>> and <(ボタンOK) = [true]>>\n    end\nend\n\nwhen flag clicked\nset [jump v] to [false]\nhide\n\n@モード\n\nwhen flag clicked\ngo to x: (180) y: (-75)\nswitch costume to (パソコン v)\nhide\n\nwhen I receive [完了 v]\nshow\nforever\n    repeat until <mouse down?>\n        if <key (space v) pressed?> then\n            set [タブレット? v] to <(costume [number v]) = [2]>\n            broadcast (消えろ v)\n            stop [this script v]\n        end\n    end\n    if <touching (mouse-pointer v)?> then\n        next costume\n    else\n        if <(costume [number v]) = [2]> then\n            set [タブレット? v] to <(costume [number v]) = [2]>\n            broadcast (消えろ v)\n            stop [this script v]\n        end\n    end\n    wait until <not <mouse down?>>\nend\n\nwhen I receive [スタート v]\nhide\n\n
日本語の説明は下\n＿＿＿＿＿＿＿＿＿　PC Mode　＿＿＿＿＿＿＿＿＿\nWASD				......　Walk\nArrowKey			......　Turn\nSpace				......　Jump\nSwipe				......　Turn\n＿＿＿＿＿＿＿＿　Tablet Mode　＿＿＿＿＿＿＿＿\nSwipe				......　Turn\nJumpButton			......　Jump\nArrowButton			......　Walk\nJumpButtonEdge		......　Jump while Walk\n\n＿＿＿＿＿＿＿＿＿　PCモード　＿＿＿＿＿＿＿＿＿\nWASD				......　歩く\n矢印キー				......　回る\nスペース				......　ジャンプ\nスワイプ				......　回る\n＿＿＿＿＿＿＿　タブレットモード　＿＿＿＿＿＿＿\nスワイプ				......　回る\nジャンプボタン		......　ジャンプ\n矢印ボタン			......　歩く\nジャンプボタンの端	......　歩きながらジャンプ