ASCB Platformer 


@Stage\n\nwhen flag clicked\nhide variable [time v]\nhide variable [☁ highscore v]\nset [time v] to [0]\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [intro v]\nchange [time v] by (0)\nchange [time v] by (-0.1)\n\nwhen I receive [intro v]\nswitch backdrop to (backdrop2 v)\nhide variable [time v]\nhide variable [☁ highscore v]\n\nwhen I receive [started v]\nwait (0.5) seconds\nswitch backdrop to (backdrop1 v)\nshow variable [time v]\nforever\n    repeat until <<(Level) = [12]> or <([costume name v] of [updates v]) = [Show]>>\n        change [time v] by (0.1)\n        if <(☁ HighScore) < [15]> then\n            if <(Time) < (☁ HighScore)> then\n                set [☁ highscore v] to (Time)\n            end\n        end\n        if <(☁ HighScore) < [15]> then\n            set [☁ highscore v] to (Time)\n        end\n        wait (0.1) seconds\n    end\nend\n\n@Player\n\nwhen flag clicked\nset [ghost v] effect to (0)\nhide\nset size to (100) %\n\nwhen I receive [intro v]\nhide\nset [e2 v] to [1]\ngo to x: (-150) y: (-35)\nrepeat until <(backdrop [name v]) = [backdrop1]>\n    if <touching (mouse-pointer v)?> then\n        broadcast (e2 v)\n        show\n        change [e2 v] by (-1)\n        wait (20) seconds\n    end\nend\n\nwhen I receive [started v]\nhide\nwait (0.45) seconds\ngo to x: (-214) y: (177)\nshow\nforever\n    go to [front v] layer\n    repeat until <(backdrop [name v]) = [backdrop2]>\n        if <(Game) = [1]> then\n            change [yv v] by (-0.5)\n            if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n                change [xv v] by (0.7)\n            end\n            if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n                change [xv v] by (-0.7)\n            end\n            set [xv v] to ((xv) * (0.9))\n            change x by (xv)\n            if <touching color (#7f7f7f)?> then\n                change y by (1)\n                if <touching color (#7f7f7f)?> then\n                    change y by (1)\n                    if <touching color (#7f7f7f)?> then\n                        change y by (1)\n                        if <touching color (#7f7f7f)?> then\n                            change y by (1)\n                            if <touching color (#7f7f7f)?> then\n                                change y by (-5)\n                                if <touching color (#7f7f7f)?> then\n                                    change x by ((xv) * (-1))\n                                    if <key (space v) pressed?> then\n                                        if <(xv) > [0]> then\n                                            set [xv v] to [-8]\n                                        else\n                                            set [xv v] to [8]\n                                        end\n                                        set [yv v] to [10]\n                                    else\n                                        set [xv v] to [0]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n            if <touching color (#7f7f7f)?> then\n                change y by (1)\n            end\n            change y by (yv)\n            if <touching color (#7f7f7f)?> then\n                change y by ((yv) * (-1))\n                set [yv v] to [0]\n            end\n            change y by (-1)\n            if <touching color (#7f7f7f)?> then\n                if <key (space v) pressed?> then\n                    set [yv v] to [7]\n                end\n            end\n            change y by (1)\n            if <(Level) < [12]> then\n                if <(x position) > [235]> then\n                    if <<(y position) < [-106]> or <(y position) = [-106]>> then\n                        change y by (1)\n                        if <<(y position) < [-106]> or <(y position) = [-106]>> then\n                            change y by (1)\n                            if <<(y position) < [-106]> or <(y position) = [-106]>> then\n                                change y by (4)\n                                set [yv v] to [4]\n                                set x to (-222)\n                                broadcast (NextLevel v)\n                            end\n                        end\n                        set [yv v] to [4]\n                        broadcast (NextLevel v)\n                        set x to (-222)\n                        set [yv v] to [0]\n                        set [xv v] to [0]\n                    else\n                        broadcast (NextLevel v)\n                        set x to (-222)\n                        set [yv v] to [0]\n                        set [xv v] to [0]\n                    end\n                end\n            end\n            if <(y position) = [-178]> then\n                hide\n                set [yv v] to [0]\n                set [xv v] to [0]\n                broadcast (Started v)\n            end\n            if <touching color (#ff0000)?> then\n                if <touching color (#ff0000)?> then\n                    broadcast (Started v)\n                    hide\n                    set [yv v] to [0]\n                    set [xv v] to [0]\n                end\n            end\n            if <touching color (#ff00bf)?> then\n                if <touching color (#ff00bf)?> then\n                    set [yv v] to [13]\n                end\n            end\n            if <touching color (#99b2ff)?> then\n                if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n                    change [yv v] by (-1)\n                else\n                    change [yv v] by (2)\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [stop v]\nforever\n    hide\nend\n\nwhen I receive [e2 v]\nrepeat until <(backdrop [name v]) = [backdrop1]>\n    change [yv v] by (-0.5)\n    if <key (right arrow v) pressed?> then\n        change [xv v] by (0.7)\n    end\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-0.7)\n    end\n    set [xv v] to ((xv) * (0.9))\n    change x by (xv)\n    if <touching color (#7f7f7f)?> then\n        change y by (1)\n        if <touching color (#7f7f7f)?> then\n            change y by (1)\n            if <touching color (#7f7f7f)?> then\n                change y by (1)\n                if <touching color (#7f7f7f)?> then\n                    change y by (1)\n                    if <touching color (#7f7f7f)?> then\n                        change y by (-5)\n                        if <touching color (#7f7f7f)?> then\n                            change x by ((xv) * (-1))\n                            if <key (space v) pressed?> then\n                                if <(xv) > [0]> then\n                                    set [xv v] to [-8]\n                                else\n                                    set [xv v] to [8]\n                                end\n                                set [yv v] to [10]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <touching color (#7f7f7f)?> then\n        change y by (1)\n    end\n    change y by (yv)\n    if <touching color (#7f7f7f)?> then\n        change y by ((yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#7f7f7f)?> then\n        if <key (space v) pressed?> then\n            set [yv v] to [7]\n        end\n    end\n    change y by (1)\nend\n\n@Level\n\nwhen I receive [nextlevel v]\nnext costume\nif <<[1] < (Level)> or <(Level) < [12]>> then\n    change [level v] by (1)\nend\n\nwhen I receive [started v]\nhide\ngo to x: (-94) y: (-170)\nswitch costume to (costume1 v)\nshow variable [level v]\nshow variable [☁ highscore v]\nwait (0.66) seconds\nshow\nset [ghost v] effect to (80)\nrepeat (25)\n    change y by (((0.5) - (y position)) * (0.02))\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [intro v]\nrepeat (10)\n    change [ghost v] effect by (25)\nend\nhide\nhide variable [level v]\n\nwhen flag clicked\nhide\nset [level v] to [1]\nhide variable [level v]\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nwait until <(Level) = [12]>\nbroadcast (end v)\n\n@HouseDoor\n\nwhen flag clicked\nswitch costume to (txt1 v)\ngo to x: (558) y: (-237)\nhide\nclear graphic effects\n\nwhen I start as a clone\nswitch costume to (txt2 v)\nwait (5) seconds\nbroadcast (STOP v)\n\nwhen I receive [end v]\ngo to x: (114) y: (7)\nshow\ngo to [front v] layer\ngo [backward v] (3) layers\nforever\n    if <touching (player v)?> then\n        change [ghost v] effect by (25)\n        create clone of (_myself_ v)\n    else\n        switch costume to (txt1 v)\n    end\nend\n\n@Title\n\nwhen I receive [intro v]\nswitch costume to (costume1 v)\ngo to x: (-403) y: (187)\nshow\nset [ghost v] effect to (80)\nrepeat (25)\n    change x by (((-2) - (x position)) * (0.07))\n    change y by (((-2) - (y position)) * (0.03))\n    change [ghost v] effect by (-10)\nend\n\nwhen this sprite clicked\nbroadcast (e1 v)\n\nwhen I receive [started v]\ngo to x: (-67) y: (86)\nset [ghost v] effect to (0)\nrepeat (25)\n    change x by (((-2) + (x position)) * (0.07))\n    change y by (((-2) + (y position)) * (0.03))\n    change [ghost v] effect by (5)\nend\nhide\n\nwhen flag clicked\nhide\nwait (2) seconds\nbroadcast (Intro v)\nhide\n\n@Play!!\n\nwhen this sprite clicked\nbroadcast (Started v)\nset [game v] to [1]\nrepeat (25)\n    change y by (((-2) - (y position)) / (-0.2))\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [intro v]\nshow\ngo to x: (94) y: (-101)\nset [ghost v] effect to (100)\nrepeat (25)\n    change y by (((3) - (y position)) * (0.2))\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nset volume to (80) %\nforever\n    if <([costume name v] of [music v]) = [On]> then\n        set volume to (80) %\n    end\n    if <([costume name v] of [music v]) = [Off]> then\n        set volume to (0) %\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen flag clicked\nforever\n    play sound [RetroVision - Puzzle \[NCS Release\].mp3 v] until done\nend\n\n@Menu\n\nwhen I receive [started v]\nset size to (100) %\nshow\ngo to x: (147) y: (191)\nset [ghost v] effect to (80)\nrepeat (25)\n    change y by (((3) - (y position)) * (0.009))\n    change [ghost v] effect by (-10)\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nset [ghost v] effect to (0)\nrepeat (25)\n    change y by (((3) + (y position)) * (0.009))\n    change [ghost v] effect by (10)\nend\nbroadcast (Intro v)\nhide\n\nwhen flag clicked\nhide\n\n@Notification\n\nwhen flag clicked\nhide\n\nwhen I receive [e1 v]\nswitch costume to (costume1 v)\ngo to [front v] layer\nset size to (100) %\nshow\ngo to x: (320) y: (65)\nset [ghost v] effect to (80)\nrepeat (25)\n    change x by (((3) - (x position)) * (0.2))\n    change [ghost v] effect by (-10)\nend\nrepeat (25)\n    change x by (((3) + (x position)) * (0.2))\n    change [ghost v] effect by (-10)\nend\nwait (1.5) seconds\nhide\n\nwhen I receive [e2 v]\nif <(e2) = [0]> then\n    switch costume to (costume2 v)\n    go to [front v] layer\n    set size to (100) %\n    show\n    go to x: (320) y: (65)\n    set [ghost v] effect to (80)\n    repeat (25)\n        change x by (((3) - (x position)) * (0.2))\n        change [ghost v] effect by (-10)\n    end\n    wait (1.5) seconds\n    repeat (25)\n        change x by (((3) + (x position)) * (0.2))\n        change [ghost v] effect by (-10)\n    end\n    hide\nend\n\n@version\n\nwhen flag clicked\nshow\nforever\n    go to x: (-20) y: (-46)\n    go to [front v] layer\n    if <key (l v) pressed?> then\n        wait until <key (o v) pressed?>\n        wait until <key (g v) pressed?>\n        hide\n        wait until <key (c v) pressed?>\n        show\n    end\nend\n\nwhen I receive [intro v]\nwait (0.25) seconds\n\nwhen I receive [started v]\ngo to x: (-20) y: (-46)\n\n@Thumb\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nwait (1.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\n    wait (0.05) seconds\nend\nhide\n\nwhen I start as a clone\nswitch costume to (wip v)\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\n    wait (0.5) seconds\nend\nset [stop v] to [0]\nwait (2) seconds\nstop [all v]\n\nwhen flag clicked\nswitch costume to (wip v)\nset [stop v] to [0]\nhide variable [stop v]\nwait (2) seconds\nforever\n    if <(STOP) = [0]> then\n        switch costume to (wip v)\n        show\n        go to [front v] layer\n        set [ghost v] effect to (100)\n        go to x: (0) y: (0)\n    end\n    if <(STOP) = [1]> then\n        set [ghost v] effect to (0)\n        go to x: (0) y: (0)\n    end\nend\n\nwhen I receive [stop v]\nset [stop v] to [1]\nclear graphic effects\nswitch costume to (#shamelessplug v)\nshow\ncreate clone of (_myself_ v)\nwait (2) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\n    wait (0.5) seconds\nend\nhide\nforever\n    if <(STOP) = [0]> then\n        switch costume to (wip v)\n        show\n        go to [front v] layer\n        set [ghost v] effect to (100)\n        go to x: (0) y: (0)\n    end\nend\n\nwhen flag clicked\nforever\n    if <([costume name v] of [updates v]) = [Show]> then\n        set [stop v] to [1]\n        go to [front v] layer\n        switch costume to (i'm too lazy to delete this because i might need it in the future. v)\n        wait until <([costume name v] of [updates v]) = [hide]>\n        set [stop v] to [0]\n    end\nend\n\n@UPDATES\n\nwhen flag clicked\nswitch costume to (hide v)\nforever\n    if <key (l v) pressed?> then\n        wait until <key (o v) pressed?>\n        wait until <key (g v) pressed?>\n        switch costume to (show v)\n        wait (0.25) seconds\n        go to [front v] layer\n        wait until <key (c v) pressed?>\n        switch costume to (hide v)\n    end\nend\n\n@MenuBlock1\n\nwhen flag clicked\ngo to x: (-166) y: (-56)\nhide\n\nwhen I receive [intro v]\ngo to x: (-171) y: (-4)\nshow\nset [ghost v] effect to (80)\nrepeat (25)\n    change x by (((-2) - (x position)) * (0.07))\n    change y by (((45) - (y position)) * (0.07))\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [started v]\nset [ghost v] effect to (0)\nrepeat (25)\n    change x by (((2) + (x position)) * (0.09))\n    change y by (((-45) + (y position)) * (0.09))\n    change [ghost v] effect by (5)\nend\nhide\n\n@MenuBlock2\n\nwhen I receive [intro v]\ngo to x: (185) y: (-245)\nshow\nset [ghost v] effect to (80)\nrepeat (25)\n    change x by (((-2) - (x position)) * (0.04))\n    change y by (((-2) - (y position)) * (0.05))\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nhide\ngo to x: (185) y: (-245)\n\nwhen I receive [started v]\nset [ghost v] effect to (0)\nrepeat (25)\n    change x by (((2) + (x position)) * (0.07))\n    change y by (((2) + (y position)) * (0.07))\n    change [ghost v] effect by (5)\nend\nhide\n\n@MenuSquare\n\nwhen I receive [intro v]\ngo to x: (-296) y: (-11)\nshow\nset [ghost v] effect to (80)\nrepeat (25)\n    change x by (((-50) - (x position)) * (0.07))\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [started v]\nset [ghost v] effect to (0)\nrepeat (25)\n    change x by (((-50) + (x position)) * (0.07))\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nhide\n\n@Music\n\nwhen I receive [intro v]\nswitch costume to (on v)\nset size to (100) %\nshow\ngo to x: (18) y: (191)\nset [ghost v] effect to (80)\nrepeat (25)\n    change y by (((3) - (y position)) * (0.009))\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nhide\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    switch costume to (off v)\nelse\n    switch costume to (on v)\nend\n\n