pixel world  - 100%stamp platformer -     #games

Instructions: 　難易度　★★★★★★★\n所要時間　約20〜50分\n\n>>>My studio\n◇hiron0413の掲示板スタジオ◇\nhttps://scratch.mit.edu/studios/27054189/\n\n--------------- 操作方法 | How to play ---------------\n\n　　〔パソコン | PC〕\nA,Dキー or ←,→キー で移動\nWキー or ↑キーでジャンプ\nPress A,D keys or ←,→ keys to move\nPress W key or ↑key to jump\n\n〔スマホ・タブレット | Mobile・Tablet〕\n左側・右側をタップして移動、\n上側をタップしてジャンプ\nTap left / right side to move\nTap the top of the screen to jump\n\n\nちなみに、この作品は僕が作った中では最高難度です。

@Stage\n\n@スタンプ7\n\ndefine ステージ描画\nswitch costume to (none2 v)\nset size to (600) %\nerase all\ngo to x: (-230) y: (170)\nset [j v] to (((level) - (1)) * (18))\nrepeat (18)\n    set [i v] to [0]\n    change [j v] by (1)\n    repeat (24)\n        change [i v] by (1)\n        if <(letter (i) of (item (j) of [stage_data v])) > [3]> then\n            switch costume to ((letter (i) of (item (j) of [stage_data v])) + (5))\n        else\n            switch costume to ((((letter (i) of (item (j) of [stage_data v])) + (1)) * (2)) - ([abs v] of (((i) mod (2)) - ((j) mod (2))) ))\n        end\n        stamp\n        switch costume to (none2 v)\n        change x by (20)\n    end\n    change y by (-20)\n    set x to (-230)\nend\nif <<(level) = [1]> or <(level) = [2]>> then\n    set size to (120) %\n    go to x: (0) y: (50)\n    switch costume to ((16) + (level))\n    stamp\nelse\n    if <(level) = [11]> then\n        set size to (200) %\n        go to x: (0) y: (125)\n        switch costume to (last message v)\n        stamp\n    end\nend\n\nwhen flag clicked\nReset\nset [timer v] to ((((days since 2000) * (24)) * (60)) * (60))\nstart sound [bgm_maoudamashii_acoustic51 v]\nforever\n    プログラム\n    if <(((((days since 2000) * (24)) * (60)) * (60)) - (timer)) > [170]> then\n        set [timer v] to ((((days since 2000) * (24)) * (60)) * (60))\n        start sound [bgm_maoudamashii_acoustic51 v]\n    end\nend\n\ndefine Reset\nhide\nset [level v] to [1]\ndelete all of [cloud_x v]\ndelete all of [cloud_y v]\ndelete all of [cloud_num v]\ndelete all of [cloud_size v]\n初期位置\n\ndefine 処理\nchange [yの力 v] by (-1)\nif <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<<<(mouse x) > (Player_x)> and <not <[-200] > (mouse x)>>> or <(mouse x) > [200]>> and <mouse down?>>> then\n    change [xの力 v] by (1)\nend\nif <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<<<(Player_x) > (mouse x)> and <not <(mouse x) > [200]>>> or <[-200] > (mouse x)>> and <mouse down?>>> then\n    change [xの力 v] by (-1)\nend\nset [xの力 v] to ((xの力) * (0.85))\nchange [player_x v] by (xの力)\n位置変換\nx接触判定\nchange [player_y v] by (yの力)\n位置変換\ny接触判定\nif <<<(Player_y) = (round (Player_y))> and <<(letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + ((((190) - (Player_y)) / (20)) + (1))) of [stage_data v])) = [1]> or <(letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + ((((190) - (Player_y)) / (20)) + (1))) of [stage_data v])) = [1]>>> and <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<<<(mouse y) > (Player_y)> or <(mouse y) > [150]>> and <(mouse y) > [-140]>> and <mouse down?>>>> then\n    set [yの力 v] to [11]\nend\nif <(Player_x) > [230]> then\n    if <(level) = [11]> then\n        set [player_x v] to [230]\n    else\n        next>>>\n    end\nend\n位置変換\ndelete all of [list v]\nadd (letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + (item (1) of [y v])) of [stage_data v])) to [list v]\nadd (letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + (item (1) of [y v])) of [stage_data v])) to [list v]\nadd (letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + (item (2) of [y v])) of [stage_data v])) to [list v]\nadd (letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + (item (2) of [y v])) of [stage_data v])) to [list v]\nif <<[-180] > (Player_y)> or <<<(item (1) of [list v]) = [3]> or <(item (2) of [list v]) = [3]>> or <<(item (3) of [list v]) = [3]> or <(item (4) of [list v]) = [3]>>>> then\n    set [player_y v] to ((0) - (((item (2) of [y v]) * (20)) - (210)))\n    set [yの力 v] to [17]\nend\nif <[-230] > (Player_x)> then\n    set [player_x v] to [-230]\nend\nif <<[-180] > (Player_y)> or <<<<(item (1) of [list v]) = [2]> or <(item (2) of [list v]) = [2]>> or <<(item (3) of [list v]) = [2]> or <(item (4) of [list v]) = [2]>>> or <<<(item (1) of [list v]) > [3]> or <(item (2) of [list v]) > [3]>> or <<(item (3) of [list v]) > [3]> or <(item (4) of [list v]) > [3]>>>>> then\n    初期位置\nend\n\ndefine Player描画\nswitch costume to (none v)\ngo to x: (Player_x) y: (Player_y)\nshow\nswitch costume to (player v)\nset size to (600) %\nstamp\n\ndefine y接触判定\nset [touch v] to [0]\nif <<(letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + (item (1) of [y v])) of [stage_data v])) = [1]> or <(letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + (item (1) of [y v])) of [stage_data v])) = [1]>> then\n    set [player_y v] to ((0) - (((item (2) of [y v]) * (20)) - (190)))\n    set [touch v] to [-1]\nend\nif <<(letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + (item (2) of [y v])) of [stage_data v])) = [1]> or <(letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + (item (2) of [y v])) of [stage_data v])) = [1]>> then\n    set [player_y v] to ((0) - (((item (1) of [y v]) * (20)) - (190)))\n    set [touch v] to [1]\nend\n位置変換\nrepeat until <not <<(letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + (item (((touch) + (3)) / (2)) of [y v])) of [stage_data v])) = [1]> or <(letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + (item (((touch) + (3)) / (2)) of [y v])) of [stage_data v])) = [1]>>>\n    change [player_y v] by ((20) * (touch))\n    位置変換\nend\nif <not <(touch) = [0]>> then\n    set [yの力 v] to [0]\nend\n\ndefine x接触判定\nset [touch v] to [0]\nif <<(letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + (item (1) of [y v])) of [stage_data v])) = [1]> or <(letter (item (1) of [x v]) of (item ((((level) - (1)) * (18)) + (item (2) of [y v])) of [stage_data v])) = [1]>> then\n    set [player_x v] to (((item (2) of [x v]) * (20)) - (250))\n    set [touch v] to [1]\nend\n位置変換\nif <<(letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + (item (1) of [y v])) of [stage_data v])) = [1]> or <(letter (item (2) of [x v]) of (item ((((level) - (1)) * (18)) + (item (2) of [y v])) of [stage_data v])) = [1]>> then\n    set [player_x v] to (((item (1) of [x v]) * (20)) - (250))\n    set [touch v] to [1]\nend\nif <(touch) = [1]> then\n    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<<<(mouse y) > (Player_y)> or <(mouse y) > [150]>> and <(mouse y) > [-140]>> and <mouse down?>>> then\n        set [xの力 v] to ((6) * ((1) - (<(xの力) > [0]> * (2))))\n        set [yの力 v] to [8]\n    else\n        set [xの力 v] to [0]\n    end\nend\n\ndefine 位置変換\ndelete all of [x v]\nadd ([floor v] of (((Player_x) + (250)) / (20)) ) to [x v]\nadd ([ceiling v] of (((Player_x) + (250)) / (20)) ) to [x v]\ndelete all of [y v]\nadd ([floor v] of (((190) - (Player_y)) / (20)) ) to [y v]\nadd ([ceiling v] of (((190) - (Player_y)) / (20)) ) to [y v]\n\ndefine プログラム\n処理\nステージ描画\nPlayer描画\n雲描画\n\ndefine next>>>\nif <not <(level) = [11]>> then\n    change [level v] by (1)\n    初期位置\nend\n\ndefine 雲描画\nif <(pick random (1) to ([sqrt v] of (timer) )) > (pick random (1.2) to (5))> then\n    reset timer\n    add [400] to [cloud_x v]\n    add (pick random (0) to (180)) to [cloud_y v]\n    add ((13) + (pick random (1) to (2))) to [cloud_num v]\n    add (pick random (300) to (400)) to [cloud_size v]\nend\n雲処理\nhide\nclear graphic effects\n\ndefine 雲処理\nset [i v] to [0]\nrepeat until <not <(i) < (length of [cloud_x v])>>\n    change [i v] by (1)\n    replace item (i) of [cloud_x v] with ((item (i) of [cloud_x v]) - (3))\n    if <(item (i) of [cloud_x v]) < [-400]> then\n        delete (i) of [cloud_x v]\n        delete (i) of [cloud_y v]\n        delete (i) of [cloud_num v]\n        delete (i) of [cloud_size v]\n        change [i v] by (-1)\n    else\n        set size to (item (i) of [cloud_size v]) %\n        switch costume to (none v)\n        go to x: (item (i) of [cloud_x v]) y: (item (i) of [cloud_y v])\n        set [ghost v] effect to (30)\n        switch costume to (item (i) of [cloud_num v])\n        stamp\n    end\n    if <not <(i) < (length of [cloud_x v])>> then\n        stop [this script v]\n    end\nend\n\ndefine 初期位置\nset [xの力 v] to [0]\nset [yの力 v] to [0]\nset [player_x v] to ((-210) * <not <(level) = [11]>>)\nset [player_y v] to ((10) - (<(((level) + (1)) mod (6)) = [0]> * (20)))\n\n@サムネ\n\nwhen flag clicked\nhide\n\n