The Editor - Platformer (100% pen)

Instructions: 1) Create your level 2) Remix and share :) (don't forgot to safeguard the project before remix :)\ninstrcutions in French and Japanese are below\nEn : Press space to change the mode \nPlayer Mode :\nUse the arrows to move around\nEditor Mode :\nClick to change the type of block (void, wall, lava, pic)\nPress R for a second to reset everything\nFr : Appuyez sur l'espace pour changer le mode \nMode joueur :\nUtilisez les flèches pour vous déplacer\nMode éditeur :\nCliquez pour changer le type de bloc (vide, mur, lave, pic).\nAppuyez sur R une seconde pour tout réinitialiser\n日本 ：スペースを押してモードを変更\nプレイヤーモード：\n矢印を使用して移動します\nエディターモード：\nクリックしてブロックタイプ（ボイド、壁、溶岩、スパイク）を変更します。\n矢印を使用して移動します\nRを1秒間押して、すべてをリセットします\n\n\n\n\n\n\n#game #platformer #plateformer #cool #jeu #editor #editeur #génial #pen #100%pen #stylé #2D #all #games

@Stage\n\nwhen flag clicked\nforever\n    play sound [Murad - Run \(Inspired By Alan Walker\) NCN Release.mp3 v] until done\nend\n\n@Sprite1\n\nwhen flag clicked\nset [start scroll x v] to [-480]\nset [start scroll y v] to [-500]\nset [scroll x v] to [-480]\nset [scroll y v] to [-500]\nset [tempo v] to [1]\nset [hauteur map v] to [30]\nset [largeur map v] to [30]\nset [color v] to [0]\nset [dx v] to [0]\nset [dy v] to [0]\nforever\n    Render\n    change [old fps v] by (1)\nend\n\ndefine Render\nerase all\nswitch costume to (costume2 v)\nBackground\nRead Map\nRead Key\nswitch costume to (costume1 v)\n\ndefine Background\nset pen size to (360)\nset pen color to (#252525)\npen down\ngo to x: (240) y: (0)\ngo to x: (-240) y: (0)\npen up\n\ndefine Read Map\nset [tile x v] to [0]\nset [tile y v] to [0]\nrepeat (Hauteur Map)\n    change [tile y v] by (1)\n    repeat (Largeur Map)\n        change [tile x v] by (1)\n        if <<[280] > ([abs v] of ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x)) )> and <[220] > ([abs v] of ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)) )>> then\n            if <(letter (tile x) of (item (tile y) of [map v])) = [3]> then\n                set pen color to (#ff0000)\n                set pen size to (18)\n                pen up\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                pen down\n                go to x: ((-20) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: (((-30) + (((40) * (tile x)) + ((-20) * (Largeur Map)))) - (scroll x)) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n            end\n            if <(letter (tile x) of (item (tile y) of [map v])) = [2]> then\n                set pen color to (#ff0000)\n                set pen size to (18)\n                pen up\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                pen down\n                go to x: ((-30) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: (((-30) + (((40) * (tile x)) + ((-20) * (Largeur Map)))) - (scroll x)) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: ((-15) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((15) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                set pen size to (20)\n                if <(letter ((tile x) + (1)) of (item (tile y) of [map v])) = [2]> then\n                    set pen size to (18)\n                    pen up\n                    go to x: ((10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    pen down\n                    go to x: ((-30) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: (((-30) + (((40) * (tile x)) + ((-20) * (Largeur Map)))) - (scroll x)) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: ((10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: ((-15) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((15) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                end\n                if <(letter (tile x) of (item ((tile y) + (1)) of [map v])) = [2]> then\n                    set pen size to (18)\n                    pen up\n                    go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    pen down\n                    go to x: ((-30) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: (((-30) + (((40) * (tile x)) + ((-20) * (Largeur Map)))) - (scroll x)) y: ((-10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((-20) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                    go to x: ((-15) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((0) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                end\n            end\n            if <(letter (tile x) of (item (tile y) of [map v])) = [1]> then\n                set pen color to (#0b0042)\n                set pen size to (18)\n                pen up\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                pen down\n                go to x: ((-30) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: (((-30) + (((40) * (tile x)) + ((-20) * (Largeur Map)))) - (scroll x)) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((10) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: ((-10) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((30) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                go to x: ((-15) + ((((40) * (tile x)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((15) + ((((-40) * (tile y)) + ((20) * (Hauteur Map))) - (scroll y)))\n                change [color v] by (0.01)\n                set pen (brightness v) to (100)\n                set pen (color v) to (color)\n                set pen size to (2)\n                if <not <(letter ((tile x) + (1)) of (item (tile y) of [map v])) = [1]>> then\n                    pen up\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (0)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (0)) - (scroll y))\n                    pen down\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (0)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (40)) - (scroll y))\n                end\n                if <not <(letter ((tile x) - (1)) of (item (tile y) of [map v])) = [1]>> then\n                    pen up\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (-40)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (0)) - (scroll y))\n                    pen down\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (-40)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (40)) - (scroll y))\n                end\n                if <not <(letter (tile x) of (item ((tile y) + (1)) of [map v])) = [1]>> then\n                    pen up\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (-40)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (0)) - (scroll y))\n                    pen down\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (0)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (0)) - (scroll y))\n                end\n                if <not <(letter (tile x) of (item ((tile y) - (1)) of [map v])) = [1]>> then\n                    pen up\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (-40)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (40)) - (scroll y))\n                    pen down\n                    go to x: (((((40) * (tile x)) + ((-20) * (Largeur Map))) + (0)) - (scroll x)) y: (((((-40) * (tile y)) + ((20) * (Hauteur Map))) + (40)) - (scroll y))\n                end\n            end\n        end\n    end\n    set [tile x v] to [0]\nend\nif <(Mode) = [0]> then\n    set pen color to (#808080)\n    pen up\n    go to (mouse-pointer v)\n    set [tpx v] to ([floor v] of ((((x position) / (40)) + ((Largeur Map) / (2))) + ((scroll x) / (40))) )\n    set [tpy v] to ([floor v] of (((Hauteur Map) / (2)) + (((scroll y) / (-40)) - ((y position) / (40)))) )\n    if <<<<[-1] < (TPX)> and <(Largeur Map) > (TPX)>> and <<[-1] < (TPY)> and <(Hauteur Map) > (TPY)>>> and <not <<(TPX) < [6]> and <(TPY) > [24]>>>> then\n        set pen size to (20)\n        pen up\n        go to x: ((30) + ((((40) * (TPX)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((-10) + ((((-40) * (TPY)) + ((20) * (Hauteur Map))) - (scroll y)))\n        pen down\n        go to x: ((10) + ((((40) * (TPX)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((-10) + ((((-40) * (TPY)) + ((20) * (Hauteur Map))) - (scroll y)))\n        go to x: (((10) + (((40) * (TPX)) + ((-20) * (Largeur Map)))) - (scroll x)) y: ((-30) + ((((-40) * (TPY)) + ((20) * (Hauteur Map))) - (scroll y)))\n        go to x: ((30) + ((((40) * (TPX)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((-30) + ((((-40) * (TPY)) + ((20) * (Hauteur Map))) - (scroll y)))\n        go to x: ((30) + ((((40) * (TPX)) + ((-20) * (Largeur Map))) - (scroll x))) y: ((-10) + ((((-40) * (TPY)) + ((20) * (Hauteur Map))) - (scroll y)))\n        if <(Tempo) = [1]> then\n            if <mouse down?> then\n                if <(TPX) = [0]> then\n                    set [rep map v] to (((letter (1) of (item ((TPY) + (1)) of [map v])) - (1)) * ((letter ((TPX) + (1)) of (item ((TPY) + (1)) of [map v])) - (1)))\n                else\n                    set [rep map v] to (letter (1) of (item ((TPY) + (1)) of [map v]))\n                end\n                repeat ((Largeur Map) - (1))\n                    if <(TPX) = (length of (REP MAP))> then\n                        set [rep map v] to (join (REP MAP) (((letter ((length of (REP MAP)) + (1)) of (item ((TPY) + (1)) of [map v])) + (1)) mod (4)))\n                    else\n                        set [rep map v] to (join (REP MAP) (letter ((length of (REP MAP)) + (1)) of (item ((TPY) + (1)) of [map v])))\n                    end\n                end\n                replace item ((TPY) + (1)) of [map v] with (REP MAP)\n                broadcast (Tempo v)\n            end\n        end\n    end\nend\nset pen color to (#ff0000)\nset pen size to (20)\npen up\ngo to x: (0) y: (0)\npen down\ngo to x: (0) y: (0)\n\nwhen I receive [tempo v]\nset [old tpx v] to (TPX)\nset [old tpy v] to (TPY)\nset [tempo v] to [0]\nwait until <not <<mouse down?> and <<(OLD TPX) = (TPX)> and <(OLD TPY) = (TPY)>>>>\nset [tempo v] to [1]\n\nforever\n    wait (5) seconds\n    set [fps v] to ((0.2) * (old fps))\n    set [old fps v] to [0]\nend\n\ndefine Read Key\nif <(Mode) = [0]> then\n    set [px v] to (([floor v] of (((Largeur Map) / (2)) + ((scroll x) / (40))) ) + (1))\n    set [py v] to (([floor v] of (((Hauteur Map) / (2)) + ((scroll y) / (-40))) ) + (1))\n    if <key (right arrow v) pressed?> then\n        change [dx v] by (2)\n    end\n    if <key (left arrow v) pressed?> then\n        change [dx v] by (-2)\n    end\n    if <key (up arrow v) pressed?> then\n        change [dy v] by (2)\n    end\n    if <key (down arrow v) pressed?> then\n        change [dy v] by (-2)\n    end\n    change [scroll x v] by (Dx)\n    change [scroll y v] by (Dy)\n    set [dx v] to ((0.8) * (Dx))\n    set [dy v] to ((0.8) * (Dy))\nend\nif <(Mode) = [1]> then\n    set [new px v] to (([floor v] of (((Largeur Map) / (2)) + ((scroll x) / (40))) ) + (1))\n    change [scroll y v] by (5)\n    set [new py v] to (([floor v] of (((Hauteur Map) / (2)) + ((scroll y) / (-40))) ) + (1))\n    change [scroll y v] by (-5)\n    if <(letter (NEW PX) of (item (NEW PY) of [map v])) = [2]> then\n        set [dx v] to [0]\n        set [dy v] to [0]\n        set [scroll x v] to (start scroll x)\n        set [scroll y v] to (start scroll y)\n    end\n    if <(letter (NEW PX) of (item (NEW PY) of [map v])) = [3]> then\n        set [dx v] to [0]\n        set [dy v] to [0]\n        set [scroll x v] to (start scroll x)\n        set [scroll y v] to (start scroll y)\n    end\n    if <key (up arrow v) pressed?> then\n        if <(letter (PX) of (item (PY) of [map v])) = [1]> then\n            if <(Can jump?) = [1]> then\n                set [dy v] to [13]\n                set [can jump? v] to [0]\n            end\n        end\n    end\n    if <key (right arrow v) pressed?> then\n        change [dx v] by (2)\n    end\n    if <key (left arrow v) pressed?> then\n        change [dx v] by (-2)\n    end\n    Change X by (Dx)\n    Change Y by (Dy)\n    set [dx v] to ((0.8) * (Dx))\n    change [dy v] by (-1)\nend\n\ndefine Change X by (dx)\nset [tile x v] to [0]\nset [px v] to [hahaha]\nrepeat until <<([floor v] of ([abs v] of (dx) ) ) = (tile x)> or <(letter (PX) of (item (PY) of [map v])) = [1]>>\n    change [scroll x v] by (([abs v] of (dx) ) / (dx))\n    set [px v] to (([floor v] of (((Largeur Map) / (2)) + ((scroll x) / (40))) ) + (1))\n    change [tile x v] by (1)\n    change [scroll y v] by (-1)\n    set [py v] to (([floor v] of (((Hauteur Map) / (2)) + ((scroll y) / (-40))) ) + (1))\n    if <<([floor v] of ([abs v] of (dx) ) ) = (tile x)> or <(letter (PX) of (item (PY) of [map v])) = [1]>> then\n        change [scroll x v] by ((0) - (([abs v] of (dx) ) / (dx)))\n    end\n    change [scroll y v] by (1)\nend\n\ndefine Change Y by (dy)\nset [tile x v] to [0]\nset [py v] to [hahaha]\nset [px v] to (([floor v] of (((Largeur Map) / (2)) + ((scroll x) / (40))) ) + (1))\nrepeat until <<([floor v] of ([abs v] of (dy) ) ) = (tile x)> or <(letter (PX) of (item (PY) of [map v])) = [1]>>\n    change [scroll y v] by (([abs v] of (dy) ) / (dy))\n    set [scroll y v] to ((scroll y) - (1))\n    set [py v] to (([floor v] of (((Hauteur Map) / (2)) + ((scroll y) / (-40))) ) + (1))\n    set [scroll y v] to ((scroll y) + (1))\n    change [tile x v] by (1)\n    if <(letter (PX) of (item (PY) of [map v])) = [1]> then\n        change [scroll y v] by ((0) - (([abs v] of (dy) ) / (dy)))\n        if <<(letter (PX) of (item (PY) of [map v])) = [1]> and <(Dy) = [-1]>> then\n            set [dy v] to [0]\n            set [can jump? v] to [1]\n        else\n            set [dy v] to [0]\n            set [can jump? v] to [0]\n        end\n    end\nend\n\nwhen flag clicked\nset [mode v] to [1]\nforever\n    if <<key (space v) pressed?> and <(letter (([floor v] of (((Largeur Map) / (2)) + ((scroll x) / (40))) ) + (1)) of (item (([floor v] of (((Hauteur Map) / (2)) + ((scroll y) / (-40))) ) + (1)) of [map v])) = [0]>> then\n        set [mode v] to (((Mode) - (1)) * ((Mode) - (1)))\n        wait (0.5) seconds\n    end\nend\n\nwhen [r v] key pressed\nreset timer\nwait until <not <key (r v) pressed?>>\nif <(Mode) = [0]> then\n    if <(timer) > [1]> then\n        delete all of [map v]\n        add [111111111111111111111111111111] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [1111110000000000000000000000001] to [map v]\n        add [100001000000000000000000000001] to [map v]\n        add [1000010000000000000000000000001] to [map v]\n        add [100000000000000000000000000001] to [map v]\n        add [111111111111111111111111111111] to [map v]\n    end\nend\n\nwhen flag clicked\n\ndelete all of [map v]\nadd [111111111111111111111111111111] to [map v]\nadd [100000000000000000000000000001] to [map v]\nadd [101110100101111000000000000001] to [map v]\nadd [101000110101001001111110000001] to [map v]\nadd [101110111101001000000000010001] to [map v]\nadd [101000101101001000000000110001] to [map v]\nadd [101110100101110001000001100001] to [map v]\nadd [100000000000000011000111100001] to [map v]\nadd [100000000000000110000000122221] to [map v]\nadd [111111111111111100100000122221] to [map v]\nadd [100000000000000000100000122221] to [map v]\nadd [100000000001010100103333122221] to [map v]\nadd [100000000000000000001111111111] to [map v]\nadd [100000012222222222221000000001] to [map v]\nadd [100000012222222222221000000001] to [map v]\nadd [100012211111111111111000000001] to [map v]\nadd [110011111000000000000000000001] to [map v]\nadd [110000000000000000000000000001] to [map v]\nadd [122100000300000000000000000001] to [map v]\nadd [122112211100010000000000003001] to [map v]\nadd [111111111100011112222122211001] to [map v]\nadd [100000000000000012222122211011] to [map v]\nadd [100000000010100011111111111001] to [map v]\nadd [100000000000000000001000000011] to [map v]\nadd [100000001333331000001000000011] to [map v]\nadd [111111001111111000001222221011] to [map v]\nadd [100001000000000000001111111001] to [map v]\nadd [100001000000000000000000000011] to [map v]\nadd [100000003300330033003300330111] to [map v]\nadd [111111111111111111111111111111] to [map v]\n\n