platformer[nether]

Instructions: 日本語は下↓\n[English]\nA sequel to "platformer[snow]".\nOperations:←↑→key or WADkey or screen touch(this is hard)\nGoal:If you go to the "Thanks" place, go right and you can reach the goal.\n\nThere will be some difficulties along the way, but don't give up!\n\n[日本語]\nsnowの続編です！\n上左右キーまたはWADキーで操作です！\n「Thanks」のところまで行ったら右に進んでいけば自動的にゴールします\n途中でめちゃくちゃむずいところがありますが、頑張ってください！\nクオリティーが低いなどの悪口はやめてください(これでも作るの結構頑張ったんですよ、、、)

@Stage\n\nwhen flag clicked\nforever\n    play sound [Nebula v] until done\nend\n\n@プレイヤー\n\nwhen flag clicked\ngo to [back v] layer\ngo [forward v] (1) layers\npoint in direction (1)\nset [y v] to [0]\nset [x v] to [0]\nset [視点y v] to [0]\nset [視点x v] to [0]\nset [復活x v] to [0]\nset [復活y v] to [0]\ngo to x: (0) y: (0)\nset rotation style [left-right v]\nforever\n    動き\nend\n\ndefine 動き\nif <(動き) = [0]> then\n    if <<<(mouse x) > [0]> and <mouse down?>> or <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n        point in direction (1)\n        change [x v] by (1)\n    end\n    if <<<[0] > (mouse x)> and <mouse down?>> or <<key (a v) pressed?> or <key (left arrow v) pressed?>>> then\n        point in direction (-1)\n        change [x v] by (-1)\n    end\n    set [加速速度 v] to [0.9]\n    set [x v] to ((x) * (加速速度))\n    change x by (x)\n    repeat (15)\n        if <touching (地面 v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (地面 v)?> then\n        壁\n    end\n    set [重力 v] to [-1]\n    change [y v] by (重力)\n    change y by (y)\n    if <touching (地面 v)?> then\n        床\n    end\n    change y by (重力)\n    if <touching (地面 v)?> then\n        if <<<mouse down?> and <[0] < (mouse y)>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n            start sound [Jump v]\n            set [y v] to [15]\n        end\n    end\n    change y by (() - (重力))\n    if <<touching (障害物 v)?> or <(視点y) < [-300]>> then\n        start sound [Pew v]\n        broadcast (もう一回 v)\n    end\n    if <touching (バネ v)?> then\n        start sound [Jump v]\n        set [y v] to [20]\n    end\nend\n\ndefine 床\nrepeat until <not <touching (地面 v)?>>\n    change y by ((((0) - (y)) / ([abs v] of (y) )) * ([abs v] of (重力) ))\nend\nset [y v] to [0]\n\ndefine 壁\nchange y by (-15)\nrepeat until <not <touching (地面 v)?>>\n    change x by (([floor v] of (((0) - (x)) / ([abs v] of (x) )) ) * ([abs v] of (加速速度) ))\nend\nif <<<mouse down?> and <[0] < (mouse y)>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n    start sound [Jump v]\n    set [y v] to [15]\n    set [x v] to ((((0) - (x)) / ([abs v] of (x) )) * (7))\nelse\n    set [x v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <[0] < (x)> then\n        change [視点x v] by ([ceiling v] of ((x position) / (10)) )\n    else\n        change [視点x v] by ([floor v] of ((x position) / (10)) )\n    end\n    change [視点y v] by ([floor v] of ((y position) / (5)) )\n    set [視点y v] to ((視点y) + (5))\n    if <[0] < (x)> then\n        change x by ([floor v] of (((0) - (x position)) / (10)) )\n    else\n        change x by ([ceiling v] of (((0) - (x position)) / (10)) )\n    end\n    change y by ([ceiling v] of (((0) - (y position)) / (5)) )\n    set y to ((y position) - (5))\nend\n\nwhen I receive [もう一回 v]\npoint in direction (1)\nset [y v] to [0]\nset [x v] to [0]\nset [視点y v] to (復活y)\nset [視点x v] to (復活x)\ngo to x: (0) y: (0)\nset rotation style [left-right v]\n\n@地面\n\ndefine 動き (x) (y) (コスチューム)\nswitch costume to (コスチューム1 v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nswitch costume to (コスチューム)\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\n\nwhen flag clicked\ndelete all of [地面x v]\ndelete all of [地面y v]\ndelete all of [コスチューム v]\nswitch costume to (コスチューム4 v)\n配置 [0] [0] [1]\n配置 [480] [0] [2]\n配置 [960] [0] [3]\n配置 [1050] [360] [4]\n配置 [1530] [360] [5]\n配置 [2010] [720] [6]\n配置 [2490] [1080] [7]\n配置 [2970] [1080] [8]\n配置 [3450] [1080] [9]\n配置 [3930] [1080] [10]\n配置 [4410] [1440] [11]\n\nwhen I start as a clone\n動き (item (a) of [地面x v]) (item (a) of [地面y v]) (item (a) of [コスチューム v])\nbroadcast (a v)\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to ((コスチューム) + (1))\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nadd (x) to [地面x v]\nadd (y) to [地面y v]\nadd ((コスチューム) + (1)) to [コスチューム v]\n\ndefine ブロック名\nset [a v] to [0]\nrepeat (length of [コスチューム v])\n    change [a v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\nhide\n\n配置 [2880] [360] [8]\n配置 [3280] [360] [9]\n配置 [3760] [720] [10]\n配置 [4240] [1080] [11]\n配置 [4720] [1080] [12]\n\n@障害物\n\ndefine 動き (x) (y) (コスチューム)\nswitch costume to ( v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (コスチューム)\n\nwhen flag clicked\ndelete all of [障害物x v]\ndelete all of [障害物y v]\ndelete all of [コスチューム v]\nswitch costume to (コスチューム1 v)\n配置 [480] [0] [1]\n配置 [960] [0] [3]\n配置 [960] [330] [2]\n配置 [1050] [360] [4]\n配置 [2010] [720] [5]\n配置 [2970] [1080] [6]\n\nwhen I start as a clone\n動き (item (a) of [障害物x v]) (item (a) of [障害物y v]) (item (a) of [コスチューム v])\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to (コスチューム)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nadd (x) to [障害物x v]\nadd (y) to [障害物y v]\nadd ((コスチューム) + (1)) to [コスチューム v]\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\ndefine ブロック名\nset [a v] to [0]\nrepeat (length of [コスチューム v])\n    change [a v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\n配置 [2400] [360] [4]\n配置 [3280] [360] [5]\nhide\n\n@チェックポイント\n\ndefine 動き (x) (y) (コスチューム)\nswitch costume to (  v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\nif <(item (a) of [到達 v]) = [1]> then\n    switch costume to (コスチューム)\nelse\n    switch costume to ((コスチューム) + (-1))\nend\n\nwhen flag clicked\ngo to [back v] layer\nset size to (30) %\ndelete all of [チェックポイントx v]\ndelete all of [チェックポイントy v]\ndelete all of [コスチューム v]\ndelete all of [到達 v]\nswitch costume to (cp v)\n配置 [20] [-93] [0]\n配置 [1315] [288] [1]\n配置 [2230] [784] [1]\n配置 [3600] [1093] [1]\n\n配置 [1240] [143] [2]\n配置 [2690] [125] [3]\n配置 [3680] [802] [4]\nhide\n\nwhen I start as a clone\nforever\n    動き (item (a) of [チェックポイントx v]) (item (a) of [チェックポイントy v]) (item (a) of [コスチューム v])\nend\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to (コスチューム)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nrepeat (2)\n    add (x) to [チェックポイントx v]\n    add (y) to [チェックポイントy v]\n    add [0] to [到達 v]\nend\nadd ((コスチューム) + (1)) to [コスチューム v]\nadd ((コスチューム) + (2)) to [コスチューム v]\n\nwhen I start as a clone\nforever\n    if <touching (プレイヤー v)?> then\n        if <(item (a) of [到達 v]) = [0]> then\n            start sound [Collect v]\n            set [復活x v] to (item (a) of [チェックポイントx v])\n            set [復活y v] to (item (a) of [チェックポイントy v])\n            replace item (a) of [到達 v] with [1]\n        end\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\ndefine ブロック名\nset [a v] to [0]\nrepeat ((length of [コスチューム v]) / (2))\n    change [a v] by (2)\n    create clone of (_myself_ v)\nend\n\n@バネ\n\ndefine 動き (x) (y) (コスチューム)\nswitch costume to (　 v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (コスチューム)\n\nwhen flag clicked\ndelete all of [バネx v]\ndelete all of [バネy v]\ndelete all of [コスチューム v]\nswitch costume to (spring v)\ngo to [back v] layer\n配置 [2420] [949] [1]\n配置 [3680] [1100] [1]\nhide\n\nwhen I start as a clone\n動き (item (a) of [バネx v]) (item (a) of [バネy v]) (item (a) of [コスチューム v])\nbroadcast (a v)\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to ((コスチューム) + (1))\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nadd (x) to [バネx v]\nadd (y) to [バネy v]\nadd ((コスチューム) + (1)) to [コスチューム v]\n\ndefine ブロック名\nset [a v] to [0]\nrepeat (length of [コスチューム v])\n    change [a v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\n@ゲーム終了\n\nwhen flag clicked\nwait (1) seconds\nwait until <[4700] < (視点x)>\nbroadcast (ゲーム終了 v)\n\n@白幕\n\nwhen flag clicked\nhide\n\nwhen I receive [ゲーム終了 v]\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nbroadcast (最終 v)\n\n@サムネ\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nset [最終変数 v] to [-15]\ngo to x: (0) y: (0)\n\nwhen I receive [ゲーム終了 v]\ngo to x: (0) y: (360)\nclear graphic effects\nstop all sounds\nrepeat (2)\n    change y by (-15)\nend\nrepeat (15)\n    change y by (最終変数)\n    change [最終変数 v] by (-1)\nend\nstop [all v]\n\n