BLOCKY ✦ scrolling platformer creator by TimMcCool

Instructions: Find many amazing level codes you can try to import:\nhttps://scratch.mit.edu/discuss/topic/403600/?page=100\n\nRun this project without LAG and better graphics: https://forkphorus.github.io/#394572893\nor here\nhttps://sites.google.com/view/timmccool/projects#h.5sqh2qfxod9f\nIf the screen freezes after you imported a level, wait a few seconds\n\nThis scrolling platformer creator contains 8 different types of blocks, 2 different themes, an import/export feature, an option to turn on/off walljump and an undo / redo button.\nPost your level codes here: https://scratch.mit.edu/discuss/topic/403600/?page=80\n\nREAD THIS:\n\nUse the arrow keys to scroll in the editor\nUse 1 - 8 keys to select a block\nTo set a block, click on the place where you want to have it\nThose blocks can be selected:\n1) ground\n2) lava\n3) spring\n4) water\n5) saw\n6) sign (beta): the text that is on the sig appears then the player touches the sign\n7) checkpoint\n8) end flag\nOnce you're finished set an end flag to mark the end of your level\nTo save your level, click on "Export"\n\nHaving trouble with something? Read the FAQ below!\n\nFAQ:\nF: How do I change the theme?\nA: Click on the button in the right upper corner and then click on "change theme"\n\nF: I accidentelly deleted something. What can I do know?\nA: Click on the "Redo" button in the upper left corner\n\nF: Are level codes from the previous version of this working in here?\nA: No, sorry\n\nF: Wanna do F4F?\nA: Nope ><\n\nCREDITS\ncode 100% by me\nart 100% by me\nsome sounds are from @Game-Cloud\nMusic:\nBorrowed from @jotony and @griffpatch\n\n3000+ blocks

@Stage\n\nwhen flag clicked\nhide variable [time v]\nhide variable [n v]\n\nwhen I receive [w v]\nwait (1.5) seconds\nshow variable [time v]\nset [time v] to [0]\nwait (1.5) seconds\nforever\n    play sound [minecraft song v] until done\nend\n\nwhen I receive [びょ v]\nhide variable [time v]\n\nwhen I receive [ネクスト v]\nhide variable [time v]\nwait (1) seconds\nshow variable [time v]\n\n@NEXTページ\n\nwhen flag clicked\nhide\n\nwhen I receive [ネクスト v]\ngo to [front v] layer\nstart sound [超高速ダッシュ v]\nshow\ngo to x: (465) y: (0)\nglide (0.2) secs to x: (0) y: (0)\nwait (0.6) seconds\nglide (0.2) secs to x: (-465) y: (0)\nhide\n\n@すてーじ\n\nwhen I receive [スタート v]\ngo to x: (-20) y: (-11)\nshow\nforever\n    switch costume to (ステージ)\nend\n\nwhen flag clicked\nhide\nset [ステージ v] to [1]\n\nwhen I receive [ネクスト v]\nchange [ステージ v] by (1)\n\nwhen I receive [びょ v]\nhide\n\n@プ・ラットフォーマーくん\n\ndefine 初期設定プログラム\nshow\nset [x v] to [0]\nset [y v] to [0]\nset rotation style [left-right v]\ngo to x: (-210) y: (-30)\nset size to (90) %\nswitch costume to (みぎ v)\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\nshow\n初期設定プログラム\nforever\n    if <<key (right arrow v) pressed?> or <<<mouse down?> and <(x position) < (mouse x)>> or <key (d v) pressed?>>> then\n        switch costume to (みぎ v)\n        change [x v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <<<mouse down?> and <(mouse x) < (x position)>> or <key (a v) pressed?>>> then\n        switch costume to (ひだり v)\n        change [x v] by (-1)\n    end\n    set [x v] to ((X) * (0.89))\n    change x by (X)\n    if <touching (すてーじ v)?> then\n        change y by (1)\n        if <touching (すてーじ v)?> then\n            change y by (1)\n            if <touching (すてーじ v)?> then\n                change y by (1)\n                if <touching (すてーじ v)?> then\n                    change y by (1)\n                    if <touching (すてーじ v)?> then\n                        change y by (1)\n                        if <touching (すてーじ v)?> then\n                            change y by (-5)\n                            change x by ((X) * (-1))\n                            if <<key (up arrow v) pressed?> or <<<mouse down?> and <(y position) < (mouse y)>> or <key (w v) pressed?>>> then\n                                if <(X) < [0]> then\n                                    start sound [壁キック v]\n                                    set [x v] to [10]\n                                else\n                                    start sound [壁キック v]\n                                    set [x v] to [-10]\n                                end\n                                set [y v] to [15]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-0.9)\n    change y by (Y)\n    if <touching (すてーじ v)?> then\n        change y by ((Y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> or <<<mouse down?> and <(y position) < (mouse y)>> or <key (w v) pressed?>>> then\n        if <touching (すてーじ v)?> then\n            start sound [可愛いジャンプ v]\n            set [y v] to [15]\n        end\n    end\n    change y by (1)\n    if <[242] < (x position)> then\n        初期設定プログラム\n        broadcast (ネクスト v)\n        wait (1.3) seconds\n    end\n    if <<(y position) < [-180]> and <not <(ステージ) = [17]>>> then\n        初期設定プログラム\n    end\n    if <touching (ゾンビ v)?> then\n        初期設定プログラム\n    end\n    if <<(y position) < [-180]> and <(ステージ) = [17]>> then\n        broadcast (隠し発見!! v)\n        初期設定プログラム\n    end\nend\n\nwhen I start as a clone\nswitch costume to (コスチューム3 v)\nrepeat (6)\n    change size by (-6)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\nset [time v] to [0]\nrepeat until <(ステージ) = [18]>\n    wait (1) seconds\n    change [time v] by (1)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [w v]\nwait (2) seconds\nbroadcast (スタート v)\nshow\n\nhide\n\nwhen flag clicked\nrepeat until <touching color (#ff0000)?>\n    change [time v] by (1)\n    wait (1) seconds\nend\nbroadcast (しゅうう v)\n\n@ゾンビ\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\npoint in direction (90)\nshow\ngo to [back v] layer\nforever\n    switch costume to (ステージ)\n    if <(ステージ) = [7]> then\n        turn left (2) degrees\n    end\n    if <(ステージ) = [8]> then\n        point in direction (90)\n    end\nend\n\n@しゅわしゅわ\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset [a v] to (pick random (30) to (100))\nset size to (a) %\nset [ghost v] effect to ((100) - ((a) / (5)))\nshow\ngo to x: (pick random (240) to (-240)) y: (-180)\nrepeat until <[170] < (y position)>\n    if <(変なエフェクト) = [1]> then\n        if <not <mouse down?>> then\n            change y by ((a) / (15))\n        end\n    else\n        change y by ((a) / (15))\n    end\nend\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <(変なエフェクト) = [1]> then\n        if <mouse down?> then\n            change x by (((mouse x) - (x position)) / (20))\n            change y by (((mouse y) - (y position)) / (20))\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\nshow\nforever\n    create clone of (_myself_ v)\n    wait (0.1) seconds\nend\n\nwhen I receive [びょ v]\nhide\n\n@サムネ\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nforever\n\n@太陽\n\nwhen flag clicked\ngo to [back v] layer\nset size to (100) %\nset [こｓ v] to [0]\nforever\n    change size by ([cos v] of (こｓ) )\n    change [こｓ v] by (7)\nend\n\nwhen flag clicked\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\nshow\nforever\n    if < ([backdrop name v] of [_stage_ v]) contains [洞窟]?> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [びょ v]\nhide\n\n@イントロ\n\nwhen I start as a clone\nif <(変数) = [1]> then\n    switch costume to (kksm1 v)\n    set [brightness v] effect to (-100)\n    change [ghost v] effect by (90)\n    go to x: (5) y: (-5)\n    repeat until <(Ok) = [1]>\n        set [fisheye v] effect to (A)\n    end\n    switch costume to (kksm2 v)\n    repeat until <(Ok) = [2]>\n        set [fisheye v] effect to (A)\n    end\n    switch costume to (kksm3 v)\n    forever\n        set [fisheye v] effect to (A)\n    end\nend\n\nset [a v] to [0]\n\nwait (1) seconds\n\nwhen I start as a clone\nif <(変数) = [2]> then\n    set [brightness v] effect to (100)\n    set size to (100) %\n    show\n    switch costume to (dotted1 v)\n    go to x: (0) y: (0)\n    point in direction (90)\n    hide\n    wait (1) seconds\n    show\n    set size to (0) %\n    repeat (17)\n        change size by (((100) - (size)) / (6))\n    end\n    wait until <(Ok) = [1]>\n    repeat until <(Ok) = [2]>\n        switch costume to (dotted3 v)\n        set [fisheye v] effect to (A)\n    end\n    forever\n        switch costume to (dotted5 v)\n        set [fisheye v] effect to (A)\n    end\nend\n\nset [fisheye v] effect to (A)\n\nwhen I start as a clone\nif <(変数) = [3]> then\n    set [fisheye v] effect to (0)\n    go to [back v] layer\n    switch costume to (smoke v)\n    go to x: (pick random (-50) to (50)) y: (0)\n    point in direction (pick random (0) to (360))\n    set size to (pick random (50) to (100)) %\n    set [煙x v] to (pick random (-2.0) to (2.0))\n    set [煙y v] to (pick random (1.0) to (5.0))\n    set [か v] to (pick random (-1.0) to (1.0))\n    set [ghost v] effect to (100)\n    set [whirl v] effect to (pick random (0) to (20))\n    show\n    set [定 v] to [1]\n    repeat until <(定) > [50]>\n        go to x: ((x position) + (煙x)) y: (y position)\n        turn right (か) degrees\n        change [ghost v] effect by ((<(定) > [25]> * (2)) - (1))\n        change [定 v] by (1)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(変数) = [0]> then\n    set size to (100) %\n    show\n    switch costume to (logo v)\n    go to x: (0) y: (0)\n    point in direction (90)\n    set [ghost v] effect to (90)\n    forever\n        go to [back v] layer\n    end\nend\n\nrepeat (8)\n    change [a v] by (-100)\nend\nset [変数 v] to [3]\n\nwhen I start as a clone\nif <(変数) = [4]> then\n    show\n    go to x: (0) y: (0)\n    set size to (100) %\n    switch costume to (end v)\n    go to [front v] layer\n    repeat (20)\n        switch costume to (sh v)\n        change size by (300)\n        go to [front v] layer\n        switch costume to (end v)\n    end\n    delete this clone\nend\nwait (0.2) seconds\n\nrepeat (8)\n\nrepeat (12)\n\nset [変数 v] to [3]\n\nforever\n    switch costume to (sh v)\n    set size to (350) %\n    switch costume to (p v)\nend\n\nset [k v] to [5]\nrepeat (5)\n    turn right (K) degrees\n    change [k v] by (-1)\nend\n\nrepeat (3)\n\nrepeat (3)\n    repeat (3)\nend\n\nrepeat (3)\n    switch costume to (dotted4 v)\n    repeat (3)\n        set [fisheye v] effect to (A)\n    end\nend\nswitch costume to (dotted6 v)\nrepeat (3)\n    set [fisheye v] effect to (A)\nend\n\nwhen I start as a clone\nif <(変数) = [5]> then\n    set size to (100) %\n    switch costume to (end2 v)\n    go to [front v] layer\n    set [ghost v] effect to (0)\n    point in direction (90)\n    go to x: (-800) y: (0)\n    set [しゃきん！ v] to [0]\n    repeat (12)\n        change [しゃきん！ v] by (2)\n        change x by (しゃきん！)\n    end\n    start sound [Slice v]\n    repeat (22)\n        change x by (((0) - (x position)) * (0.3))\n    end\n    go to x: (0) y: (0)\n    wait (1) seconds\n    set [end v] to [1]\n    wait (1) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    hide\nelse\n    wait until <(End) = [1]>\n    delete this clone\nend\n\nswitch costume to (sw 2 v)\n\nwhen I start as a clone\nif <(変数) = [-1]> then\n    go to x: (0) y: (0)\n    set [whirl v] effect to (-200)\n    forever\n        switch costume to (sh v)\n        turn right (5) degrees\n        go to [back v] layer\n        set size to (350) %\n        switch costume to (p v)\n    end\nend\n\nwhen I start as a clone\nif <(変数) = [-10]> then\n    show\n    switch costume to (back v)\n    go to x: (0) y: (0)\n    forever\n        go to [back v] layer\n    end\nend\n\nset [変数 v] to [-10]\ncreate clone of (_myself_ v)\nwait () seconds\n\nwhen I receive [すたーと v]\nset [a v] to [0]\nshow\nshow\ngo to x: (0) y: (0)\nset [end v] to [0]\nset size to (100) %\nset [a v] to [0]\nstart sound [Laszlo - Here We Are _NCS Release_ v]\nset [ok v] to [0]\nswitch costume to (kksm1 v)\nwait () seconds\nset [変数 v] to [-1]\ncreate clone of (_myself_ v)\nwait () seconds\nset [変数 v] to [4]\ncreate clone of (_myself_ v)\nwait () seconds\nset [変数 v] to [0]\ncreate clone of (_myself_ v)\nwait () seconds\nset [変数 v] to [1]\ncreate clone of (_myself_ v)\nwait () seconds\nset [変数 v] to [2]\ncreate clone of (_myself_ v)\nwait () seconds\nset [a v] to [0]\nwait (1) seconds\nrepeat (4)\n    change [a v] by (100)\nend\nset [変数 v] to [3]\nrepeat (4)\n    create clone of (_myself_ v)\n    change [a v] by (100)\nend\nrepeat (4)\n    create clone of (_myself_ v)\nend\nrepeat (8)\n    change [a v] by (-100)\nend\nswitch costume to (kksm2 v)\nset [ok v] to [1]\nset [a v] to [0]\nrepeat (8)\n    change [a v] by (100)\nend\nwait (0.2) seconds\nset [変数 v] to [3]\nrepeat (8)\n    create clone of (_myself_ v)\n    change [a v] by (-100)\nend\nset [ok v] to [2]\nswitch costume to (kksm3 v)\nrepeat (8)\n    change [a v] by (100)\nend\nwait (0.2) seconds\nset [変数 v] to [3]\nrepeat (8)\n    change [a v] by (-100)\n    create clone of (_myself_ v)\nend\nrepeat (12)\n    create clone of (_myself_ v)\nend\nwait (0.5) seconds\nset [変数 v] to [5]\ncreate clone of (_myself_ v)\nwait (1) seconds\nhide\nbroadcast (w v)\n\nwhen I receive [すたーと v]\nforever\n    set [fisheye v] effect to (A)\nend\n\nwhen flag clicked\nbroadcast (すたーと v)\n\n@スプライト9\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\n    wait (pick random (15) to (25)) seconds\n    show\n    go to x: (-72) y: (136)\n    switch costume to (コスチューム1 v)\n    repeat (3)\n        change y by (-20)\n    end\n    start sound [Connect v]\n    repeat (3)\n        wait (0.2) seconds\n        next costume\n    end\n    play sound [Coin v] until done\n    next costume\n    repeat (3)\n        wait (0.2) seconds\n        next costume\n    end\n    play sound [Coin v] until done\n    next costume\n    wait (0.2) seconds\n    next costume\n    repeat (10)\n        change y by (20)\n    end\n    hide\nend\n\nwhen I receive [しゅうう v]\nforever\n    hide\nend\n\n@Clouds\n\nwhen I receive [スタート v]\nhide\nset [cloud_num v] to [0]\nset [cloud x v] to [-100]\ncreate clone of (_myself_ v)\nchange [cloud_num v] by (1)\nset [cloud x v] to [100]\ncreate clone of (_myself_ v)\nchange [cloud_num v] by (1)\nforever\n    if <(Cloud_Num) < [10]> then\n        if <(pick random (1) to (5)) = [1]> then\n            set [cloud x v] to [300]\n            change [cloud_num v] by (1)\n            create clone of (_myself_ v)\n        end\n        wait (3) seconds\n    end\nend\n\nwhen I start as a clone\nwait until <[7] < (item (1) of [情報 v])>\ndelete this clone\n\nwhen I start as a clone\nif <[4] < (item (1) of [情報 v])> then\n    hide\n    delete this clone\nelse\n    go to [back v] layer\n    go [forward v] (1) layers\n    repeat until <[5] < (backdrop [number v])>\n        set [cloud y v] to (pick random (100) to (170))\n        if <(#Biome) = [2]> then\n            go [forward v] (5) layers\n            set [cloud y v] to (pick random (-80) to (0))\n            set [ghost v] effect to (50)\n        end\n        switch costume to ((1) + (pick random (1) to (10)))\n        set y to (cloud y)\n        repeat until <(cloud x) < [-400]>\n            show\n            set x to (cloud x)\n            change [cloud x v] by (-0.4)\n            set [ghost v] effect to (20)\n        end\n        change [cloud_num v] by (-1)\n        delete this clone\n    end\nend\n\nwhen flag clicked\nhide\n\n