Platformer Engine 2.0

Instructions: Mamy 2 tysie :D (już prawie 4 xD)\n\nO to mój dotychczas najlepszy projekt :)\nDajcie gwiazdkę i serduszko bo cały wieczór na niego\npoświęciłem. Włożyłem w owy projekt dużo serca by wyszedł jak najlepiej i uważam, że jest to dobry silnik. Fakt są lepsze ale jest on dość prosty i łatwy w użytkowaniu. Niestety nie obsługuje on krzywych linii przez co ściany a podłoże powinno być położone prostopadle do siebie. 

@Stage\n\n@Gracz\n\nwhen flag clicked\nset [wysokośc skoku v] to [-7]\nforever\n    to od spadania\nend\n\ndefine to od spadania\nif <not <touching (platforma v)?>> then\n    change y by (Wysokośc skoku)\nend\nif <<touching (platforma v)?> and <(Wysokośc skoku) < [0]>> then\n    set [czy może skoczyć v] to [tak]\n    set [wysokośc skoku v] to [-13]\n    repeat until <not <touching (platforma v)?>>\n        change y by (1)\n    end\nelse\n    if <<touching (platforma v)?> and <(Wysokośc skoku) > [0]>> then\n        change y by (-10)\n        repeat ([abs v] of ((Wysokośc skoku) * (2)) )\n            change [wysokośc skoku v] by (-1)\n        end\n    end\nend\n\nwhen flag clicked\nbroadcast (resetuj v)\n\nwhen flag clicked\nforever\n    if <key (right arrow v) pressed?> then\n        point in direction (90)\n        change x by (5)\n        if <touching (platforma v)?> then\n            change x by (-5)\n        end\n    end\n    if <key (left arrow v) pressed?> then\n        point in direction (-90)\n        change x by (-5)\n        if <touching (platforma v)?> then\n            change x by (5)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (up arrow v) pressed?> and <(czy może skoczyć) = [tak]>> then\n        set [czy może skoczyć v] to [nie]\n        set [wysokośc skoku v] to [15]\n        repeat until <(czy może skoczyć) = [tak]>\n            change [wysokośc skoku v] by (-1)\n        end\n    end\nend\n\nwhen I receive [resetuj v]\ngo to x: (-202) y: (-53)\n\nwhen flag clicked\nforever\n    if <not <touching (platforma v)?>> then\n        wait (0.2) seconds\n        set [czy może skoczyć v] to [nie]\n    end\nend\n\nwhen [r v] key pressed\nbroadcast (resetuj v)\n\nwhen flag clicked\nforever\n    wait (0) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nset [ghost v] effect to (0)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Platforma\n\nwhen flag clicked\nforever\n    switch costume to (poziom)\nend\n\n@Portal\n\nwhen flag clicked\nshow\nset [poziom v] to [1]\nforever\n    if <touching (gracz v)?> then\n        broadcast (resetuj v)\n        change [poziom v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(poziom) = [1]> then\n        go to x: (-153) y: (126)\n    else\n        if <(poziom) = [2]> then\n            go to x: (200) y: (107)\n        else\n            if <(poziom) = [3]> then\n                go to x: (-195) y: (130)\n            else\n                if <(poziom) = [4]> then\n                    go to x: (193) y: (-37)\n                else\n                    hide\n                    if <(Czas) < (☁ Najlepszy wynik)> then\n                        set [☁ najlepszy wynik v] to (Czas)\n                    end\n                end\n            end\n        end\n    end\nend\n\nif <(poziom) = [1]> then\n\nwhen flag clicked\nset [czas v] to [0]\nrepeat until <(poziom) = [5]>\n    set [czas v] to (round (timer))\nend\n\nwait (1) seconds\nchange [czas v] by (1)\n\nset [☁ najlepszy wynik v] to [100]\n\nwhen flag clicked\nforever\nend\n\nset [☁ najlepszy wynik v] to [100]\n\n@platformer2\n\nwhen flag clicked\nhide\n\nforever\n\nshow\ngo to [front v] layer\n\n