Winter   100%PEN Platformer

Instructions: WASDkey ,arrow key\nWASDキーか矢印キー\n\n100%PEN

@Stage\n\n@PEN\n\ndefine You won\nset pen color to (#1d00ff)\nset pen size to (10)\nyのみ補正　xy [-220] [380]\npen down\nyのみ補正　xy [-200] [350]\nyのみ補正　xy [-180] [380]\npen up\nyのみ補正　xy [-200] [350]\npen down\nyのみ補正　xy [-200] [320]\npen up\nwait (0) seconds\nset [θ v] to [0]\nrepeat (360)\n    yのみ補正　xy ((-130) + ((30) * ([cos v] of (θ) ))) ((350) + ((30) * ([sin v] of (θ) )))\n    pen down\n    change [θ v] by (1)\nend\npen up\nwait (0) seconds\nset [θ v] to [0]\nrepeat (180)\n    yのみ補正　xy ((-50) + ((30) * ([cos v] of (θ) ))) ((350) + ((30) * ([sin v] of (θ) )))\n    pen down\n    change [θ v] by (-1)\nend\npen up\nyのみ補正　xy [-80] [350]\npen down\nyのみ補正　xy [-80] [380]\npen up\nyのみ補正　xy [-20] [350]\npen down\nyのみ補正　xy [-20] [380]\npen up\nyのみ補正　xy [10] [380]\npen down\nyのみ補正　xy [25] [320]\nyのみ補正　xy [40] [380]\nyのみ補正　xy [55] [320]\nyのみ補正　xy [70] [380]\npen up\nset [θ v] to [0]\nrepeat (360)\n    yのみ補正　xy ((120) + ((30) * ([cos v] of (θ) ))) ((350) + ((30) * ([sin v] of (θ) )))\n    pen down\n    change [θ v] by (1)\nend\npen up\nyのみ補正　xy [170] [320]\npen down\nyのみ補正　xy [170] [380]\nyのみ補正　xy [210] [320]\nyのみ補正　xy [210] [380]\npen up\n\nwhen flag clicked\nset [向き v] to [2]\nforever\n    動く\nend\n\ndefine ステージ追加xy (x) (y) 縦の長さ (縦) 横の長さ (横) 種類 (種類) 地面 (地面)\nadd (x) to [ステージ v]\nadd (y) to [ステージ v]\nadd (縦) to [ステージ v]\nadd (横) to [ステージ v]\nadd (種類) to [ステージ v]\nadd (地面) to [ステージ v]\n\ndefine 軽量化\ndelete all of [描画するステージ v]\nset [i v] to [0]\nrepeat ((length of [ステージ v]) / (6))\n    set [iiiii v] to [0]\n    if <<([abs v] of ((item ((i) + (1)) of [ステージ v]) - (ステージx)) ) < (x描画距離)> and <([abs v] of ((item ((i) + (2)) of [ステージ v]) - (ステージy)) ) < (y描画距離)>> then\n        change [iiiii v] by (10000)\n    else\n        if <<([abs v] of (((item ((i) + (1)) of [ステージ v]) + ((-1) * (item ((i) + (4)) of [ステージ v]))) - (ステージx)) ) < (x描画距離)> and <([abs v] of (((item ((i) + (2)) of [ステージ v]) + ((1) * (item ((i) + (3)) of [ステージ v]))) - (ステージy)) ) < (y描画距離)>> then\n            change [iiiii v] by (1000)\n        else\n            if <<([abs v] of (((item ((i) + (1)) of [ステージ v]) + ((1) * (item ((i) + (4)) of [ステージ v]))) - (ステージx)) ) < (x描画距離)> and <([abs v] of (((item ((i) + (2)) of [ステージ v]) + ((1) * (item ((i) + (3)) of [ステージ v]))) - (ステージy)) ) < (y描画距離)>> then\n                change [iiiii v] by (100)\n            else\n                if <<([abs v] of (((item ((i) + (1)) of [ステージ v]) + ((-1) * (item ((i) + (4)) of [ステージ v]))) - (ステージx)) ) < (x描画距離)> and <([abs v] of (((item ((i) + (2)) of [ステージ v]) + ((-1) * (item ((i) + (3)) of [ステージ v]))) - (ステージy)) ) < (y描画距離)>> then\n                    change [iiiii v] by (10)\n                else\n                    if <<([abs v] of (((item ((i) + (1)) of [ステージ v]) + ((1) * (item ((i) + (4)) of [ステージ v]))) - (ステージx)) ) < (x描画距離)> and <([abs v] of (((item ((i) + (2)) of [ステージ v]) + ((-1) * (item ((i) + (3)) of [ステージ v]))) - (ステージy)) ) < (y描画距離)>> then\n                        change [iiiii v] by (1)\n                    end\n                end\n            end\n        end\n    end\n    if <[0] < (iiiii)> then\n        add (item ((i) + (1)) of [ステージ v]) to [描画するステージ v]\n        add (item ((i) + (2)) of [ステージ v]) to [描画するステージ v]\n        add (item ((i) + (3)) of [ステージ v]) to [描画するステージ v]\n        add (item ((i) + (4)) of [ステージ v]) to [描画するステージ v]\n        add (item ((i) + (5)) of [ステージ v]) to [描画するステージ v]\n        add (item ((i) + (6)) of [ステージ v]) to [描画するステージ v]\n    end\n    change [i v] by (6)\nend\n\ndefine 接触判定\ndelete all of [接触判定用 v]\nset [ii v] to [0]\nrepeat ((length of [描画するステージ v]) / (6))\n    if <<<((item ((ii) + (1)) of [描画するステージ v]) + ((-1) * (item ((ii) + (4)) of [描画するステージ v]))) < (((自機x) + (ステージx)) + (23))> and <(((自機x) + (ステージx)) + (-23)) < ((item ((ii) + (1)) of [描画するステージ v]) + ((1) * (item ((ii) + (4)) of [描画するステージ v])))>> and <<((item ((ii) + (2)) of [描画するステージ v]) + ((-1) * (item ((ii) + (3)) of [描画するステージ v]))) < (((自機y) + (ステージy)) + (23))> and <(((自機y) + (ステージy)) + (-23)) < ((item ((ii) + (2)) of [描画するステージ v]) + ((1) * (item ((ii) + (3)) of [描画するステージ v])))>>> then\n        add (item ((ii) + (5)) of [描画するステージ v]) to [接触判定用 v]\n    end\n    change [ii v] by (6)\nend\n\ndefine xy (x) (y)\ngo to x: (((-1) * (ステージx)) + (x)) y: (((-1) * (ステージy)) + (y))\n\ndefine 描画\nerase all\nset pen color to (#5ec1ff)\nset pen size to ((1) / (0))\ngo to x: (0) y: (0)\npen down\npen up\n雲描画&処理\nif <(済み) = [1]> then\n    You won\nend\n自機描画\nマグマ描画\n水描画\n普通の地面描画\n上の地面描画\n飾り描画&消去\n\nwhen flag clicked\nforever\n    軽量化\nend\n\nwhen flag clicked\nforever\n    接触判定\nend\n\nwhen flag clicked\nforever\n    描画\nend\n\ndelete all of [ステージ v]\nステージ追加xy [-100] [-200] 縦の長さ [100] 横の長さ [150] 種類 [1] 地面 [1]\nステージ追加xy [100] [-220] 縦の長さ [100] 横の長さ [50] 種類 [2] 地面 []\nステージ追加xy [230] [-220] 縦の長さ [200] 横の長さ [80] 種類 [1] 地面 [1]\nステージ追加xy [380] [-220] 縦の長さ [300] 横の長さ [70] 種類 [1] 地面 [1]\nステージ追加xy [670] [140] 縦の長さ [300] 横の長さ [100] 種類 [1] 地面 []\nステージ追加xy [550] [-460] 縦の長さ [200] 横の長さ [110] 種類 [1] 地面 []\nステージ追加xy [780] [-460] 縦の長さ [200] 横の長さ [120] 種類 [1] 地面 []\nステージ追加xy [980] [-220] 縦の長さ [300] 横の長さ [80] 種類 [1] 地面 [1]\nステージ追加xy [660] [-120] 縦の長さ [180] 横の長さ [270] 種類 [3] 地面 []\nステージ追加xy [1300] [-20] 縦の長さ [180] 横の長さ [80] 種類 [1] 地面 [1]\nステージ追加xy [1140] [-195] 縦の長さ [220] 横の長さ [80] 種類 [2] 地面 []\nステージ追加xy [1580] [-195] 縦の長さ [200] 横の長さ [200] 種類 [1] 地面 []\nステージ追加xy [1820] [-50] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [1580] [50] 縦の長さ [80] 横の長さ [200] 種類 [3] 地面 []\nステージ追加xy [1920] [40] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2030] [120] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2140] [200] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2250] [280] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2360] [200] 縦の長さ [200] 横の長さ [70] 種類 [2] 地面 []\nステージ追加xy [2480] [280] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2590] [200] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2700] [120] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2810] [40] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [2920] [-50] 縦の長さ [200] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [3030] [-150] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3150] [-150] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 []\nステージ追加xy [3270] [-150] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3390] [-150] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 []\nステージ追加xy [3510] [-150] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3630] [-150] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 []\nステージ追加xy [3750] [-150] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3150] [220] 縦の長さ [40] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3390] [220] 縦の長さ [40] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3630] [220] 縦の長さ [40] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3870] [60] 縦の長さ [200] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [3990] [-90] 縦の長さ [300] 横の長さ [60] 種類 [2] 地面 []\nステージ追加xy [4250] [30] 縦の長さ [250] 横の長さ [80] 種類 [3] 地面 []\nステージ追加xy [4110] [-100] 縦の長さ [400] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [4390] [150] 縦の長さ [150] 横の長さ [60] 種類 [1] 地面 [1]\nステージ追加xy [4250] [-280] 縦の長さ [150] 横の長さ [80] 種類 [1] 地面 []\nステージ追加xy [4620] [-420] 縦の長さ [150] 横の長さ [300] 種類 [1] 地面 []\nステージ追加xy [4580] [-140] 縦の長さ [150] 横の長さ [250] 種類 [3] 地面 []\nステージ追加xy [4650] [-20] 縦の長さ [100] 横の長さ [200] 種類 [1] 地面 []\nステージ追加xy [4650] [160] 縦の長さ [80] 横の長さ [200] 種類 [2] 地面 []\nステージ追加xy [4900] [180] 縦の長さ [300] 横の長さ [50] 種類 [1] 地面 [1]\nステージ追加xy [5110] [-420] 縦の長さ [150] 横の長さ [200] 種類 [1] 地面 []\nステージ追加xy [5030] [-140] 縦の長さ [150] 横の長さ [200] 種類 [3] 地面 []\nステージ追加xy [5420] [-220] 縦の長さ [250] 横の長さ [200] 種類 [1] 地面 [1]\nステージ追加xy [5700] [-350] 縦の長さ [250] 横の長さ [80] 種類 [2] 地面 []\nステージ追加xy [5980] [-280] 縦の長さ [250] 横の長さ [200] 種類 [1] 地面 [1]\nステージ追加xy [10000] [0] 縦の長さ [250] 横の長さ [250] 種類 [1] 地面 [1]\n\nwhen flag clicked\nset [済み v] to [0]\nリスポ\nforever\n    set [前x v] to (ステージx)\n    set [前y v] to (ステージy)\n    if <<not <<(ステージx) < [0]> and <(自機x) < [0]>>> and <not <<[5880] < (ステージx)> and <[0] < (自機x)>>>> then\n        change [ステージx v] by (round ((1) * (((自機x) + (Xv)) / (12))))\n        change [自機x v] by (round ((-1) * (((自機x) + (Xv)) / (12))))\n    end\n    change [ステージy v] by (round ((1) * (((自機y) + (Yv)) / (12))))\n    change [自機y v] by (round ((-1) * (((自機y) + (Yv)) / (12))))\n    雲移動xy (((ステージx) - (前x)) / (-2)) (((ステージy) - (前y)) / (-1.5))\n    if <(済み) = [1]> then\n        broadcast (You won v)\n        stop [this script v]\n    end\nend\n\ndefine リスポ\nset [xv v] to [0]\nset [yv v] to [0]\nset [ステージx v] to [0]\nset [ステージy v] to [0]\nset [自機x v] to [0]\nset [自機y v] to [0]\n\ndefine 自機描画\nset pen color to (#856cff)\nset pen size to (20)\ngo to x: ((自機x) + (-8)) y: ((自機y) + (8))\npen down\ngo to x: ((自機x) + (8)) y: ((自機y) + (8))\ngo to x: ((自機x) + (8)) y: ((自機y) + (-8))\ngo to x: ((自機x) + (-8)) y: ((自機y) + (-8))\ngo to x: ((自機x) + (-8)) y: ((自機y) + (8))\npen up\nset pen color to (#000000)\nset pen size to (5)\nif <(向き) = [1]> then\n    go to x: ((自機x) + (-10)) y: ((自機y) + (7))\n    pen down\n    go to x: ((自機x) + (-10)) y: ((自機y) + (-2))\n    pen up\n    go to x: ((自機x) + (-1)) y: ((自機y) + (7))\n    pen down\n    go to x: ((自機x) + (-1)) y: ((自機y) + (-2))\n    pen up\n    set pen color to (#ffffff)\n    go to x: ((自機x) + (-1)) y: ((自機y) + (5))\n    pen down\n    pen up\n    go to x: ((自機x) + (-10)) y: ((自機y) + (5))\n    pen down\n    pen up\nelse\n    go to x: ((自機x) + (10)) y: ((自機y) + (7))\n    pen down\n    go to x: ((自機x) + (10)) y: ((自機y) + (-2))\n    pen up\n    go to x: ((自機x) + (1)) y: ((自機y) + (7))\n    pen down\n    go to x: ((自機x) + (1)) y: ((自機y) + (-2))\n    pen up\n    set pen color to (#ffffff)\n    go to x: ((自機x) + (1)) y: ((自機y) + (5))\n    pen down\n    pen up\n    go to x: ((自機x) + (10)) y: ((自機y) + (5))\n    pen down\n    pen up\nend\n\ndefine 普通の地面描画\nset [iii v] to [0]\nrepeat ((length of [描画するステージ v]) / (6))\n    if <(item ((iii) + (5)) of [描画するステージ v]) = [1]> then\n        set pen color to (#1a009c)\n        set pen size to (6)\n        set [iiii v] to ((item ((iii) + (1)) of [描画するステージ v]) + (item ((iii) + (4)) of [描画するステージ v]))\n        repeat (((2) * (item ((iii) + (4)) of [描画するステージ v])) / (5))\n            xy (iiii) ((item ((iii) + (2)) of [描画するステージ v]) + ((1) * (item ((iii) + (3)) of [描画するステージ v])))\n            pen down\n            xy (iiii) ((item ((iii) + (2)) of [描画するステージ v]) + ((-1) * (item ((iii) + (3)) of [描画するステージ v])))\n            pen up\n            change [iiii v] by (-5)\n        end\n        set pen size to (10)\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((-1) * (item ((iii) + (4)) of [描画するステージ v]))) ((item ((iii) + (2)) of [描画するステージ v]) + ((1) * (item ((iii) + (3)) of [描画するステージ v])))\n        pen down\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((1) * (item ((iii) + (4)) of [描画するステージ v]))) ((item ((iii) + (2)) of [描画するステージ v]) + ((1) * (item ((iii) + (3)) of [描画するステージ v])))\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((1) * (item ((iii) + (4)) of [描画するステージ v]))) ((item ((iii) + (2)) of [描画するステージ v]) + ((-1) * (item ((iii) + (3)) of [描画するステージ v])))\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((-1) * (item ((iii) + (4)) of [描画するステージ v]))) ((item ((iii) + (2)) of [描画するステージ v]) + ((-1) * (item ((iii) + (3)) of [描画するステージ v])))\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((-1) * (item ((iii) + (4)) of [描画するステージ v]))) ((item ((iii) + (2)) of [描画するステージ v]) + ((1) * (item ((iii) + (3)) of [描画するステージ v])))\n        pen up\n    end\n    change [iii v] by (6)\nend\n\nwhen flag clicked\nforever\n    play sound [Ahxello - Frisbee.mp3 v] until done\nend\n\ndefine 上の地面描画\nset [iii v] to [0]\nrepeat ((length of [描画するステージ v]) / (6))\n    if <<(item ((iii) + (5)) of [描画するステージ v]) = [1]> and <(item ((iii) + (6)) of [描画するステージ v]) = [1]>> then\n        set pen color to (#0083ff)\n        set pen size to (18)\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((-1) * (item ((iii) + (4)) of [描画するステージ v]))) (((item ((iii) + (2)) of [描画するステージ v]) + (item ((iii) + (3)) of [描画するステージ v])) + (-36))\n        pen down\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((1) * (item ((iii) + (4)) of [描画するステージ v]))) (((item ((iii) + (2)) of [描画するステージ v]) + (item ((iii) + (3)) of [描画するステージ v])) + (-36))\n        pen up\n        set pen color to (#7db9ff)\n        set pen size to (18)\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((-1) * (item ((iii) + (4)) of [描画するステージ v]))) (((item ((iii) + (2)) of [描画するステージ v]) + (item ((iii) + (3)) of [描画するステージ v])) + (-20))\n        pen down\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((1) * (item ((iii) + (4)) of [描画するステージ v]))) (((item ((iii) + (2)) of [描画するステージ v]) + (item ((iii) + (3)) of [描画するステージ v])) + (-20))\n        pen up\n        set pen color to (#ffffff)\n        set pen size to (18)\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((-1) * (item ((iii) + (4)) of [描画するステージ v]))) (((item ((iii) + (2)) of [描画するステージ v]) + (item ((iii) + (3)) of [描画するステージ v])) + (-4))\n        pen down\n        xy ((item ((iii) + (1)) of [描画するステージ v]) + ((1) * (item ((iii) + (4)) of [描画するステージ v]))) (((item ((iii) + (2)) of [描画するステージ v]) + (item ((iii) + (3)) of [描画するステージ v])) + (-4))\n        pen up\n    end\n    change [iii v] by (6)\nend\n\ndefine マグマ描画\nset [iii v] to [0]\nrepeat ((length of [描画するステージ v]) / (6))\n    if <(item ((iii) + (5)) of [描画するステージ v]) = [2]> then\n        set pen color to (#ff0000)\n        set pen size to (6)\n        set [iiii v] to ((item ((iii) + (1)) of [描画するステージ v]) + (item ((iii) + (4)) of [描画するステージ v]))\n        repeat (((2) * (item ((iii) + (4)) of [描画するステージ v])) / (5))\n            xy (iiii) ((item ((iii) + (2)) of [描画するステージ v]) + ((-1) * (item ((iii) + (3)) of [描画するステージ v])))\n            pen down\n            xy (iiii) ((item ((iii) + (2)) of [描画するステージ v]) + ((item ((iii) + (3)) of [描画するステージ v]) + (((5) * ([cos v] of (((2) * (iiii)) + ((100) * (timer))) )) + (-5))))\n            pen up\n            change [iiii v] by (-5)\n        end\n    end\n    change [iii v] by (6)\nend\n\ndefine 水描画\nset [iii v] to [0]\nrepeat ((length of [描画するステージ v]) / (6))\n    if <(item ((iii) + (5)) of [描画するステージ v]) = [3]> then\n        set pen color to (#0015ff)\n        set pen (transparency v) to (75)\n        set pen size to (5)\n        set [iiii v] to ((item ((iii) + (1)) of [描画するステージ v]) + (item ((iii) + (4)) of [描画するステージ v]))\n        repeat (((2) * (item ((iii) + (4)) of [描画するステージ v])) / (5))\n            xy (iiii) ((item ((iii) + (2)) of [描画するステージ v]) + ((-1) * (item ((iii) + (3)) of [描画するステージ v])))\n            pen down\n            xy (iiii) ((item ((iii) + (2)) of [描画するステージ v]) + ((item ((iii) + (3)) of [描画するステージ v]) + (((5) * ([sin v] of (((2) * (iiii)) + ((100) * (timer))) )) + (-5))))\n            pen up\n            change [iiii v] by (-5)\n        end\n    end\n    change [iii v] by (6)\nend\n\nwhen flag clicked\nリスポ\nforever\n    if <(自機x) < [-220]> then\n        set [自機x v] to [-220]\n    end\n    if <[220] < (自機x)> then\n        set [自機x v] to [220]\n        set [済み v] to [1]\n    end\nend\n\ndefine 動く\nif <<<<(mouse x) < (自機x)> and <mouse down?>> or <key (a v) pressed?>> or <key (left arrow v) pressed?>> then\n    change [xv v] by (-1)\n    set [向き v] to [1]\nend\nif <<<<(自機x) < (mouse x)> and <mouse down?>> or <key (d v) pressed?>> or <key (right arrow v) pressed?>> then\n    change [xv v] by (1)\n    set [向き v] to [2]\nend\nset [xv v] to ((Xv) * (0.9))\nchange [自機x v] by (Xv)\nif <[接触判定用 v] contains [1]?> then\n    change [自機y v] by (1)\n    if <[接触判定用 v] contains [1]?> then\n        change [自機y v] by (1)\n        if <[接触判定用 v] contains [1]?> then\n            change [自機y v] by (1)\n            if <[接触判定用 v] contains [1]?> then\n                change [自機y v] by (1)\n                if <[接触判定用 v] contains [1]?> then\n                    change [自機y v] by (1)\n                    接触判定\n                    if <[接触判定用 v] contains [1]?> then\n                        change [自機x v] by ((-1) * (Xv))\n                        change [自機y v] by (-5)\n                        if <<<<[0] < (mouse y)> and <mouse down?>> or <key (w v) pressed?>> or <key (up arrow v) pressed?>> then\n                            if <[0] < (Xv)> then\n                                set [xv v] to [-10]\n                            else\n                                set [xv v] to [10]\n                            end\n                        else\n                            if <[0] < (Xv)> then\n                                set [xv v] to [-5]\n                            else\n                                set [xv v] to [5]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange [自機y v] by (-4)\n接触判定\nif <<[接触判定用 v] contains [1]?> and <<<<[0] < (mouse y)> and <mouse down?>> or <key (w v) pressed?>> or <key (up arrow v) pressed?>>> then\n    set [yv v] to [15]\nend\nif <<[接触判定用 v] contains [3]?> and <<<<[0] < (mouse y)> and <mouse down?>> or <key (w v) pressed?>> or <key (up arrow v) pressed?>>> then\n    set [yv v] to [8]\nend\nchange [自機y v] by (4)\nchange [yv v] by (-1)\nif <[接触判定用 v] contains [3]?> then\n    change [自機y v] by ((Yv) * (0.8))\n    if <(Yv) < [-6]> then\n        set [yv v] to [-6]\n    end\nelse\n    change [自機y v] by (Yv)\nend\n接触判定\nif <[接触判定用 v] contains [1]?> then\n    if <[接触判定用 v] contains [3]?> then\n        change [自機y v] by ((-0.8) * (Yv))\n    else\n        change [自機y v] by ((-1) * (Yv))\n    end\n    set [yv v] to [0]\nend\nif <<((自機y) + (ステージy)) < [-2000]> or <[接触判定用 v] contains [2]?>> then\n    リスポ\nend\n\ndefine 飾り追加xy (x) (y) 色 (色) 角度変換速度 (角度変換速度) 落下速度 (落下速度) 大きさ (大きさ) 太さ (太さ) 寿命 (寿命) モード (モード)\nadd (x) to [飾り v]\nadd (y) to [飾り v]\nadd (色) to [飾り v]\nadd (角度変換速度) to [飾り v]\nadd (落下速度) to [飾り v]\nadd (大きさ) to [飾り v]\nadd (太さ) to [飾り v]\nadd (寿命) to [飾り v]\nadd [0] to [飾り v]\nadd (モード) to [飾り v]\n\ndefine 飾り描画&消去\nset [iiiiii v] to [0]\nrepeat ((length of [飾り v]) / (10))\n    replace item ((iiiiii) + (2)) of [飾り v] with ((item ((iiiiii) + (2)) of [飾り v]) - (item ((iiiiii) + (5)) of [飾り v]))\n    replace item ((iiiiii) + (9)) of [飾り v] with ((item ((iiiiii) + (9)) of [飾り v]) + (item ((iiiiii) + (4)) of [飾り v]))\n    replace item ((iiiiii) + (8)) of [飾り v] with ((item ((iiiiii) + (8)) of [飾り v]) + (-1))\n    set pen color to (#ffffff)\n    change pen (color v) by (item ((iiiiii) + (3)) of [飾り v])\n    set pen size to (item ((iiiiii) + (7)) of [飾り v])\n    if <(item ((iiiiii) + (10)) of [飾り v]) = [1]> then\n        xy ((item ((iiiiii) + (1)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([cos v] of ((item ((iiiiii) + (9)) of [飾り v]) + (0)) ))) ((item ((iiiiii) + (2)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([sin v] of ((item ((iiiiii) + (9)) of [飾り v]) + (0)) )))\n        pen down\n        xy ((item ((iiiiii) + (1)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([cos v] of ((item ((iiiiii) + (9)) of [飾り v]) + (180)) ))) ((item ((iiiiii) + (2)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([sin v] of ((item ((iiiiii) + (9)) of [飾り v]) + (180)) )))\n        pen up\n        xy ((item ((iiiiii) + (1)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([cos v] of ((item ((iiiiii) + (9)) of [飾り v]) + (60)) ))) ((item ((iiiiii) + (2)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([sin v] of ((item ((iiiiii) + (9)) of [飾り v]) + (60)) )))\n        pen down\n        xy ((item ((iiiiii) + (1)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([cos v] of ((item ((iiiiii) + (9)) of [飾り v]) + (240)) ))) ((item ((iiiiii) + (2)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([sin v] of ((item ((iiiiii) + (9)) of [飾り v]) + (240)) )))\n        pen up\n        xy ((item ((iiiiii) + (1)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([cos v] of ((item ((iiiiii) + (9)) of [飾り v]) + (120)) ))) ((item ((iiiiii) + (2)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([sin v] of ((item ((iiiiii) + (9)) of [飾り v]) + (120)) )))\n        pen down\n        xy ((item ((iiiiii) + (1)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([cos v] of ((item ((iiiiii) + (9)) of [飾り v]) + (300)) ))) ((item ((iiiiii) + (2)) of [飾り v]) + ((item ((iiiiii) + (6)) of [飾り v]) * ([sin v] of ((item ((iiiiii) + (9)) of [飾り v]) + (300)) )))\n        pen up\n    else\n        set pen size to ((5) * (item ((iiiiii) + (7)) of [飾り v]))\n        xy (item ((iiiiii) + (1)) of [飾り v]) (item ((iiiiii) + (2)) of [飾り v])\n        pen down\n        pen up\n    end\n    if <(item ((iiiiii) + (8)) of [飾り v]) < [1]> then\n        repeat (10)\n            delete ((iiiiii) + (1)) of [飾り v]\n        end\n    else\n        change [iiiiii v] by (10)\n    end\nend\n\nwhen flag clicked\ndelete all of [飾り v]\nforever\n    if <(pick random (1) to (2)) = [1]> then\n        飾り追加xy ((ステージx) + (pick random (-300) to (300))) ((ステージy) + (200)) 色 (pick random (51.9) to (69.9)) 角度変換速度 (pick random (4) to (10)) 落下速度 [5] 大きさ (pick random (10.1) to (19.9)) 太さ [4] 寿命 [200] モード [2]\n    else\n        飾り追加xy ((ステージx) + (pick random (-300) to (300))) ((ステージy) + (200)) 色 (pick random (51.9) to (69.9)) 角度変換速度 (pick random (-10) to (-4)) 落下速度 [5] 大きさ (pick random (10.1) to (19.9)) 太さ [4] 寿命 [200] モード [2]\n    end\n    wait (pick random (0.1) to (0.2)) seconds\nend\n\ndefine 雲xy (x) (y) 長さ (長さ) 速さ (速さ) 何回移動 (寿命) 2段目のx差 (差) 太さ (太さ)\nadd (x) to [雲 v]\nadd (y) to [雲 v]\nadd (長さ) to [雲 v]\nadd (速さ) to [雲 v]\nadd (寿命) to [雲 v]\nadd (太さ) to [雲 v]\nadd ((x) + (差)) to [雲 v]\nadd (((y) + (太さ)) - (3)) to [雲 v]\nadd (長さ) to [雲 v]\nadd (速さ) to [雲 v]\nadd (寿命) to [雲 v]\nadd (太さ) to [雲 v]\n\ndefine 雲描画&処理\nset [iiiiii v] to [0]\nrepeat ((length of [雲 v]) / (6))\n    replace item ((iiiiii) + (1)) of [雲 v] with ((item ((iiiiii) + (1)) of [雲 v]) - (item ((iiiiii) + (4)) of [雲 v]))\n    replace item ((iiiiii) + (5)) of [雲 v] with ((item ((iiiiii) + (5)) of [雲 v]) - (1))\n    set pen color to (#ffffff)\n    set pen size to (item ((iiiiii) + (6)) of [雲 v])\n    go to x: ((item ((iiiiii) + (1)) of [雲 v]) + ((-1) * (item ((iiiiii) + (3)) of [雲 v]))) y: (item ((iiiiii) + (2)) of [雲 v])\n    pen down\n    go to x: ((item ((iiiiii) + (1)) of [雲 v]) + ((1) * (item ((iiiiii) + (3)) of [雲 v]))) y: (item ((iiiiii) + (2)) of [雲 v])\n    pen up\n    if <(item ((iiiiii) + (5)) of [雲 v]) < [1]> then\n        repeat (6)\n            delete ((iiiiii) + (1)) of [雲 v]\n        end\n    else\n        change [iiiiii v] by (6)\n    end\nend\n\nwhen flag clicked\ndelete all of [雲 v]\nforever\n    if <(pick random (1) to (2)) = [1]> then\n        雲xy [360] (pick random (90) to (130)) 長さ [50] 速さ [2] 何回移動 [800] 2段目のx差 (pick random (40) to (80)) 太さ [30]\n    else\n        雲xy [360] (pick random (90) to (130)) 長さ [50] 速さ [2] 何回移動 [800] 2段目のx差 (pick random (-40) to (-80)) 太さ [30]\n    end\n    wait (pick random (5) to (7)) seconds\nend\n\ndefine 雲移動xy (x) (y)\nset [iiiiii v] to [0]\nrepeat ((length of [雲 v]) / (6))\n    replace item ((iiiiii) + (1)) of [雲 v] with ((item ((iiiiii) + (1)) of [雲 v]) + (x))\n    replace item ((iiiiii) + (2)) of [雲 v] with ((item ((iiiiii) + (2)) of [雲 v]) + (y))\n    change [iiiiii v] by (6)\nend\n\nwhen I receive [you won v]\nset [xv v] to [0]\nset [yv v] to [0]\nset [自機x v] to [0]\nset [自機y v] to [0]\nset [ステージx v] to [10000]\nset [ステージy v] to [500]\nforever\n    set [前x v] to (ステージx)\n    set [前y v] to (ステージy)\n    change [ステージy v] by (round ((1) * (((自機y) + (Yv)) / (12))))\n    change [自機y v] by (round ((-1) * (((自機y) + (Yv)) / (12))))\n    雲移動xy (((ステージx) - (前x)) / (-2)) (((ステージy) - (前y)) / (-1.5))\nend\n\ndefine yのみ補正　xy (x) (y)\ngo to x: (x) y: (((-1) * (ステージy)) + (y))\n\nset [ステージx v] to [4900]\nset [ステージy v] to [800]\n\n@スプライト1\n\nwhen flag clicked\nhide\n\n