Mountain || A Scroll Platformer

Instructions: ※下まで読んでください。\n\n旗は必ず2回押してください。\nBe sure to press the flag twice.\n\n矢印キー、またはWASDキー、またはタップで動かします。\nUse the arrow keys, WASD keys, or tap to move it.\n\n記念すべきScroll Platformerシリーズの1つめです！シリーズ化していきます！\nThis is the first in a memorable Scroll Platformer series! It's going to be a series!\n\nコインを集めたり、隠しゴールを探すなど、やりこみ要素がたくさんあります！感想を教えてくれると嬉しいです！\nThere's so much to do, from collecting coins to finding hidden goals! I'd love it if you'd let me know what you think!

@Stage\n\nwhen flag clicked\nrepeat (10)\nforever\n    play sound [Treenan v] until done\nend\n\n@Hero\n\nwhen I receive [プログラム v]\nforever\n    if <not <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> or >>>>> then\n        point in direction (90)\n        switch costume to (1 v)\n    end\nend\n\ndefine 移動 (x) (y)\nswitch costume to (none v)\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\nswitch costume to (My_n)\n\ndefine 位置補正y (向き) (回数)\nif <(y) = [0]> then\n    stop [this script v]\nend\nset [i v] to [0]\nrepeat until <<not <touching (stage v)?>> or <(i) = ((回数) + (1))>>\n    change [i v] by (1)\n    change y by (向き)\nend\nchange y by (() - ((向き) * (((回数) + (1)) * <<(i) = ((回数) + (1))> and <touching (stage v)?>>)))\nset [y v] to [0]\n\ndefine 初期位置\ngo to x: (0) y: (-20)\nset [x v] to [0]\nset [y v] to [0]\nset [camera_x v] to (Respawn_x)\nset [camera _y v] to (Respawn_y)\nset [x v] to (Respawn_x)\nset [y v] to (Respawn_y)\n\ndefine 処理\nchange [x v] by ((x position) - ((X) - (Camera_x)))\nchange [y v] by ((y position) - (((Y) - (Camera _y)) - (20)))\nchange [camera_x v] by ([floor v] of (((X) - (Camera_x)) * (0.1)) )\nchange [camera _y v] by ([floor v] of (((Y) - (Camera _y)) * (0.2)) )\nset x to ((X) - (Camera_x))\nset y to (((Y) - (Camera _y)) - (20))\n\nwhen flag clicked\npoint in direction (90)\nswitch costume to (1 v)\nset size to (55) %\ngo to x: (0) y: (-20)\nset [x v] to [0]\nset [y v] to [0]\nset [camera_x v] to [-200]\nset [camera _y v] to [-20]\nset [x v] to [-200]\nset [y v] to [-20]\nset [respawn_x v] to [-200]\nset [respawn_y v] to [-20]\n\ndefine 動作\nchange [y v] by (-1)\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<(mouse x) > [0]> and <mouse down?>>>> then\n    point in direction (90)\n    change [x v] by (1)\n    switch costume to (2 v)\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>>> then\n        switch costume to (3 v)\n    end\nend\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<[0] > (mouse x)> and <mouse down?>>>> then\n    point in direction (-90)\n    change [x v] by (-1)\n    switch costume to (2 v)\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>>> then\n        switch costume to (3 v)\n    end\nend\nset [x v] to ((x) * (0.88))\nchange x by (x)\nrepeat (6)\n    if <touching (stage v)?> then\n        change y by (1)\n    end\nend\nif <touching (stage v)?> then\n    change y by (-6)\n    位置補正x ((0) - ((x) / ([abs v] of (x) ))) ([ceiling v] of ([abs v] of (x) ) )\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>>> then\n        set [y v] to [16]\n        set [x v] to ((11) - (<(x) > [0]> * (22)))\n    else\n        set [x v] to [0]\n    end\nend\nchange y by (y)\nif <touching (stage v)?> then\n    位置補正y ((0) - ((y) / ([abs v] of (y) ))) ([ceiling v] of ([abs v] of (y) ) )\nend\nchange y by (-1)\nif <<touching (stage v)?> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>>>> then\n    set [y v] to [16]\nend\nchange y by (1)\nif <<(Y) < [-600]> or <touching (needle v)?>> then\n    broadcast (死亡 v)\n    初期位置\n    start sound [crashed oof v]\nend\n処理\nbroadcast (プログラム2 v)\n\nwhen I receive [プログラム v]\nshow\n動作\n\nwhen [timer v] > (Timer)\nrepeat (15)\n    change [ghost v] effect by (8)\nend\n\ndefine 位置補正x (向き) (回数)\nif <(x) = [0]> then\n    stop [this script v]\nend\nset [i v] to [0]\nrepeat until <<not <touching (stage v)?>> or <(i) = ((回数) + (1))>>\n    change [i v] by (1)\n    change x by (向き)\nend\nchange x by (() - ((向き) * (((回数) + (1)) * <<(i) = ((回数) + (1))> and <touching (stage v)?>>)))\n\n@Stage\n\nwhen flag clicked\nhide\nステージ配置 [0] [0] [1]\nステージ配置 [480] [0] [2]\nステージ配置 [960] [0] [3]\nステージ配置 [1560] [0] [4]\nステージ配置 [2150] [450] [5]\nステージ配置 [2550] [725] [6]\nステージ配置 [2950] [800] [7]\nステージ配置 [3100] [1100] [8]\nステージ配置 [-150] [170] [9]\nステージ配置 [1075] [190] [10]\nステージ配置 [-600] [0] [11]\nステージ配置 [600] [550] [12]\nステージ配置 [-200] [500] [13]\nステージ配置 [2700] [150] [14]\nステージ配置 [3100] [-100] [15]\nステージ配置 [3600] [1000] [16]\nステージ配置 [3400] [150] [17]\nステージ配置 [4000] [800] [18]\nステージ配置 [4000] [-200] [19]\nステージ配置 [4500] [-300] [20]\nステージ配置 [3450] [600] [21]\nステージ配置 [4200] [-600] [22]\nステージ配置 [3800] [400] [23]\nステージ配置 [3995] [1200] [24]\nステージ配置 [4250] [1350] [25]\nステージ配置 [4650] [1500] [26]\nswitch costume to (none v)\nbroadcast (プログラム v)\nrepeat (10)\n    stop all sounds\nend\n\ndefine ステージ配置 (x座標) (y座標) (ステージ番号)\nswitch costume to (none v)\nset [my_x v] to (x座標)\nset [my_y v] to (y座標)\nswitch costume to ((ステージ番号) + (1))\nset [my_n v] to ((ステージ番号) + (1))\ncreate clone of (_myself_ v)\n\ndefine 移動 (x) (y)\nswitch costume to (none v)\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\nswitch costume to (My_n)\n\nwhen I receive [プログラム2 v]\nif <(costume [number v]) = [1]> then\n    broadcast (プログラム v)\nelse\n    移動 ((My_x) - (Camera_x)) ((My_y) - (Camera _y))\nend\n\nwhen I start as a clone\nshow\n\n@Thumbnail\n\nwhen flag clicked\nset size to (100) %\ngo to x: (0) y: (0)\nhide\nreset timer\nforever\n    set [timer v] to (timer)\n    go to [front v] layer\n    set size to (100) %\n    switch costume to (1 v)\nend\n\nwhen [timer v] > (Timer)\nswitch costume to (1 v)\nset size to (100) %\nset [ghost v] effect to (100)\nshow\nrepeat (15)\n    change [ghost v] effect by (-8)\nend\n\n@Shadow\n\nwhen flag clicked\nshow\nset size to (70) %\ngo to [back v] layer\nset [ghost v] effect to (75)\nforever\n    go to (hero v)\nend\n\nwhen [timer v] > (Timer)\nrepeat (15)\n    change [ghost v] effect by (8)\nend\n\n@Coin\n\nwhen I receive [プログラム2 v]\nforever\n    next costume\n    Position ((Collectables: x) - (Camera_x)) ((Collectables: y) - (Camera _y))\n    if <touching (hero v)?> then\n        change [coins v] by (1)\n        start sound [se_pikon1 v]\n        delete this clone\n    end\nend\n\nwhen I receive [プログラム2 v]\n\ncreate clone of (_myself_ v)\n\nnext costume\nnext costume\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\ndefine Coins x: (x) y: (y)\nset [collectables: x v] to (x)\nset [collectables: y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [coins v] to [0]\nhide\nset [collectables: x v] to [0]\nset [collectables: y v] to [0]\nCoins x: [8] y: [70]\nCoins x: [438] y: [150]\nCoins x: [503] y: [150]\nCoins x: [568] y: [150]\nCoins x: [-600] y: [100]\nCoins x: [-400] y: [500]\nCoins x: [900] y: [100]\nCoins x: [1025] y: [25]\nCoins x: [1150] y: [-50]\nCoins x: [1425] y: [0]\nCoins x: [1675] y: [200]\nCoins x: [600] y: [600]\nCoins x: [410] y: [722]\nCoins x: [610] y: [875]\nCoins x: [695] y: [875]\nCoins x: [780] y: [875]\nCoins x: [-200] y: [600]\nCoins x: [-135] y: [600]\nCoins x: [-70] y: [600]\nCoins x: [3170] y: [170]\nCoins x: [3250] y: [170]\nCoins x: [3330] y: [170]\nCoins x: [2000] y: [700]\nCoins x: [2200] y: [700]\nCoins x: [2482] y: [850]\nCoins x: [2720] y: [1100]\nCoins x: [2900] y: [1220]\nCoins x: [2980] y: [1220]\nCoins x: [3060] y: [1220]\nCoins x: [3550] y: [280]\nCoins x: [3600] y: [280]\nCoins x: [3650] y: [280]\nCoins x: [3900] y: [900]\nCoins x: [3950] y: [900]\nCoins x: [4000] y: [900]\nCoins x: [3950] y: [700]\nCoins x: [3778] y: [-300]\nCoins x: [3672] y: [-300]\nCoins x: [3995] y: [1300]\nCoins x: [4250] y: [1480]\nCoins x: [10000000000000000000000] y: [100000000000000000000000]\nswitch costume to (coin1 v)\n\nwhen flag clicked\n\nwhen I receive [死亡 v]\n\nwhen I receive [死亡 v]\n\ndelete this clone\n\nwhen [timer v] > (Timer)\n\nwhen flag clicked\nforever\n    hide\nend\n\nCoins x: [3735] y: [700]\nCoins x: [2320] y: [1410]\nCoins x: [2120] y: [1410]\nCoins x: [1920] y: [1410]\nCoins x: [1920] y: [1585]\nCoins x: [2120] y: [1735]\nCoins x: [2320] y: [1885]\nCoins x: [3055] y: [2000]\nCoins x: [3205] y: [2100]\nCoins x: [3055] y: [2200]\nCoins x: [2905] y: [2300]\nCoins x: [3055] y: [2400]\nCoins x: [3205] y: [2500]\nCoins x: [3205] y: [2650]\nCoins x: [3205] y: [2800]\n\ndelete this clone\n\nCoins x: [] y: []\n\n@Checkpoint\n\nwhen flag clicked\nset [checkpoints v] to [0]\nswitch costume to (1 v)\nhide\n\nwhen I receive [プログラム2 v]\n移動 ((1425) - (Camera_x)) ((-44) - (Camera _y))\n\ndefine 移動 (x) (y)\nswitch costume to (none v)\ngo to x: (x) y: (y)\nswitch costume to ((checkpoints) + (2))\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\n    if <<touching (hero v)?> and <(checkpoints) = [0]>> then\n        set [checkpoints v] to [1]\n        set [respawn_x v] to [1425]\n        set [respawn_y v] to [-44]\n        set [checkpoints2 v] to [0]\n        set [checkpoints3 v] to [0]\n        start sound [se_pikon4 v]\n    end\nend\nswitch costume to ((checkpoints) + (2))\n\n@Needle\n\nwhen flag clicked\nhide\nステージ配置 [-65] [-55] [1]\nステージ配置 [205] [112] [2]\nステージ配置 [700] [400] [3]\nステージ配置 [2200] [333] [4]\nステージ配置 [324] [-55] [5]\nステージ配置 [1675] [117] [6]\nステージ配置 [2895] [365] [7]\nステージ配置 [3200] [-22] [8]\nステージ配置 [2100] [655] [9]\nステージ配置 [3125] [1205] [10]\nステージ配置 [3465] [430] [11]\nステージ配置 [3762] [1000] [12]\nステージ配置 [3600] [45] [13]\nステージ配置 [4050] [-150] [14]\nswitch costume to (none v)\nrepeat (3)\n    stop all sounds\nend\n\ndefine ステージ配置 (x座標) (y座標) (ステージ番号)\nswitch costume to (none v)\nset [needle: my_x v] to (x座標)\nset [needle: my_y v] to (y座標)\nswitch costume to ((ステージ番号) + (1))\nset [needle: my_n v] to ((ステージ番号) + (1))\ncreate clone of (_myself_ v)\n\ndefine 移動 (x) (y)\nswitch costume to (none v)\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\nswitch costume to (Needle: My_n)\n\nwhen I receive [プログラム2 v]\nif <not <(costume [number v]) = [1]>> then\n    移動 ((Needle: My_x) - (Camera_x)) ((Needle: My_y) - (Camera _y))\nend\n\nwhen I start as a clone\nshow\n\n@Checkpoint2\n\nwhen flag clicked\nset [checkpoints2 v] to [0]\nswitch costume to (1 v)\nhide\n\nwhen I receive [プログラム2 v]\n移動 ((3250) - (Camera_x)) ((130) - (Camera _y))\n\ndefine 移動 (x) (y)\nswitch costume to (none v)\ngo to x: (x) y: (y)\nswitch costume to ((checkpoints2) + (2))\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\n    if <<touching (hero v)?> and <(checkpoints2) = [0]>> then\n        set [checkpoints2 v] to [1]\n        set [respawn_x v] to [3250]\n        set [respawn_y v] to [130]\n        set [checkpoints v] to [0]\n        set [checkpoints3 v] to [0]\n        start sound [se_pikon4 v]\n    end\nend\nswitch costume to ((checkpoints2) + (2))\n\n@Checkpoint3\n\nwhen flag clicked\nset [checkpoints3 v] to [0]\nswitch costume to (1 v)\nhide\n\nwhen I receive [プログラム2 v]\n移動 ((3200) - (Camera_x)) ((1223) - (Camera _y))\n\ndefine 移動 (x) (y)\nswitch costume to (none v)\ngo to x: (x) y: (y)\nswitch costume to ((checkpoints3) + (2))\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\n    if <<touching (hero v)?> and <(checkpoints3) = [0]>> then\n        set [checkpoints3 v] to [1]\n        set [respawn_x v] to [3200]\n        set [respawn_y v] to [1223]\n        set [checkpoints v] to [0]\n        set [checkpoints2 v] to [0]\n        start sound [se_pikon4 v]\n    end\nend\nswitch costume to ((checkpoints3) + (2))\n\n@Coins\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\n\n@Count\n\nwhen flag clicked\nhide\nset size to (27) %\nswitch costume to (0 v)\nset [yes v] to [1]\ncreate clone of (_myself_ v)\nwait (0.0000000001) seconds\nset [yes v] to [2]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(yes) = [1]> then\n    go to [front v] layer\n    show\n    go to x: (-170) y: (150)\n    forever\n        if <(Coins) < [10]> then\n            switch costume to (0 v)\n        else\n            switch costume to (letter (1) of (Coins))\n        end\n    end\nend\nif <(yes) = [2]> then\n    go to [front v] layer\n    show\n    go to x: (-155) y: (150)\n    forever\n        if <(Coins) < [10]> then\n            switch costume to (letter (1) of (Coins))\n        else\n            switch costume to (letter (2) of (Coins))\n        end\n    end\nend\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    wait (pick random (30) to (40)) seconds\n    switch costume to (costume1 v)\n    go to x: (0) y: (50)\n    show\n    go to [front v] layer\n    start sound [pop v]\n    repeat (9)\n        change y by (-6)\n    end\n    repeat (5)\n        change y by (3)\n    end\n    repeat (5)\n        change y by (-1)\n    end\n    wait (2) seconds\n    repeat (15)\n        change y by (7)\n    end\n    hide\nend\n\n