70% Pen platformer (A contest entry) #Games #All #Art #Music
@Stage\n\nwhen flag clicked\nbroadcast (intro v) and wait\nbroadcast (play v) and wait\n\nwhen I receive [play v]\nforever\n    play sound [Plugged by -Xaf- v] until done\nend\n\nbroadcast (play v)\n\n@PEN\n\nwhen flag clicked\nerase all\nset [level v] to [1]\ngo to x: (0) y: (0)\n\ndefine Draw Sprites\nCreate Ground\nif <(Level) = [1]> then\n    Create portal from [210] [-10] And with size [40]\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\nend\nif <(Level) = [2]> then\n    Create lava from [-80] [-95] to [115] [-95] And with size [20]\n    Create Platform from [-90] [-95] to [-90] [-20] And with size [20]\n    Create Platform from [120] [-95] to [120] [-20] And with size [20]\n    Create portal from [210] [-10] And with size [40]\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\nend\nif <(Level) = [3]> then\n    Create lava from [-35] [-95] to [300] [-95] And with size [20]\n    Create Platform from [-36] [-100] to [-34] [90] And with size [20]\n    Create portal from [208] [-10] And with size [40]\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\nend\nif <(Level) = [4]> then\n    Create lava from [-125] [-95] to [300] [-95] And with size [20]\n    Create Platform from [-160] [10] to [-120] [10] And with size [20]\n    Create Platform from [10] [60] to [50] [60] And with size [20]\n    Create portal from [200] [150] And with size [40]\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\nend\nif <(Level) = [5]> then\n    Create Platform from [-200] [75] to [10] [75] And with size [20]\n    Create trampoline from [-180] [-100] To [-50] [-100] and with size [20]\n    Create lava from [-200] [65] to [10] [65] And with size [20]\n    Create portal from [200] [-30] And with size [40]\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\nend\nif <(Level) = [6]> then\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\n    Create teleportation portal from [-160] [-50] and with size [40]\n    Create Platform from [-230] [-10] to [-100] [-10] And with size [20]\n    Create Platform from [-100] [-90] to [-100] [-20] And with size [20]\n    Create teleportation portal from [10] [-30] and with size [40]\n    Create portal from [200] [-30] And with size [40]\nend\nif <(Level) = [7]> then\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\n    Create teleportation portal from [-160] [-50] and with size [40]\n    Create Platform from [-230] [-10] to [-100] [-10] And with size [20]\n    Create Platform from [-100] [-90] to [-100] [-20] And with size [20]\n    Create portal exit from [-150] [40] and with size [40]\n    Create portal from [200] [-30] And with size [40]\n    Create lava from [-100] [-100] to [230] [-100] And with size [20]\n    Create trampoline from [-50] [-90] To [30] [-90] and with size [20]\nend\nif <(Level) = [8]> then\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\n    Create trampoline from [160] [-90] To [210] [-90] and with size [20]\n    Create Platform from [85] [75] to [50] [75] And with size [20]\n    Create lava from [-50] [-90] to [70] [-90] And with size [20]\n    Create portal from [200] [150] And with size [40]\nend\nif <(Level) = [9]> then\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\n    Create teleportation portal from [-160] [-50] and with size [40]\n    Create Platform from [-100] [-90] to [-100] [-20] And with size [20]\n    Create portal exit from [10] [40] and with size [40]\n    Create Platform from [-250] [-90] to [-250] [-20] And with size [20]\n    Create lava from [-50] [-92] to [300] [-92] And with size [20]\n    Create Platform from [-90] [75] to [-20] [75] And with size [20]\n    Create portal from [200] [-30] And with size [40]\nend\nif <(Level) = [10]> then\n    Create dirt from [-2000] [-170] To [250] [-170] and with size [100]\n    Create Platform from [245] [500] to [250] [-100] And with size [10]\nend\n\ndefine Create Ground\nset pen size to (27)\nset pen color to (#59ff00)\ngo to x: (-240) y: (-115)\npen down\ngo to x: (240) y: (-116)\npen up\ngo to x: (-240) y: (-140)\npen down\ngo to x: (240) y: (-140)\npen up\ngo to x: (-240) y: (-165)\npen down\ngo to x: (240) y: (-165)\npen up\n\ndefine Create lava from (x) (y) to (x2) (y2) And with size (size)\nset pen size to (size)\nset pen color to (#ff0000)\ngo to x: (x) y: (y)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Create Platform from (x) (y) to (x2) (y2) And with size (size)\nset pen size to (size)\nset pen color to (#58ff00)\ngo to x: (x) y: (y)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Create portal from (x) (y) And with size (size)\nset pen size to (size)\nset pen color to (#de35a5)\ngo to x: (x) y: (y)\npen down\npen up\n\ndefine Create trampoline from (x) (y) To (x2) (y2) and with size (size)\nset pen size to (size)\nset pen color to (#ffec1e)\ngo to x: (x) y: (y)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Create dirt from (x) (y) To (x2) (y2) and with size (size)\nset pen size to (size)\nset pen color to (#e4a145)\ngo to x: (x) y: (y)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Create teleportation portal from (x) (y) and with size (size)\nset pen size to (size)\nset pen color to (#1900de)\ngo to x: (x) y: (y)\npen down\npen up\n\ndefine Create portal exit from (x) (y) and with size (size)\nset pen size to (size)\nset pen color to (#1f08d6)\ngo to x: (x) y: (y)\npen down\npen up\n\nwhen I receive [play v]\nforever\n    erase all\n    Draw Sprites\nend\n\n@player\n\ndefine Respawn\ngo to x: (-208) y: (-40)\nset [yv v] to [0]\nset [xv v] to [0]\n\nwhen flag clicked\nhide\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching color (#58ff00)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [yv v] to [0]\nend\n\ndefine Run (speed) WJ (x) (y)\nchange x by (speed)\npoint in direction (0)\nset [slope v] to [0]\nrepeat until <<(SLOPE) = [8]> or <not <touching color (#58ff00)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(SLOPE) = [8]> then\n    change y by ((0) - (SLOPE))\n    if <key (up arrow v) pressed?> then\n        if <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> then\n            if <(speed) < [0]> then\n                set [xv v] to (x)\n            else\n                set [xv v] to ((0) - (x))\n            end\n            set [yv v] to (y)\n        end\n    end\n    repeat until <not <touching color (#58ff00)?>>\n        if <(speed) > [0]> then\n            change x by (-1)\n        else\n            change x by (1)\n        end\n    end\nend\n\nwhen I receive [play v]\nRespawn\nforever\n    change [yv v] by (-1)\n    change y by (yv)\n    Touch Ground <(yv) > [0]>\n    set [xv v] to ((xv) * (0.70))\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-1.7)\n    end\n    if <key (right arrow v) pressed?> then\n        change [xv v] by (1.7)\n    end\n    if <([abs v] of (xv) ) > [0.3]> then\n        Run (xv) WJ (15) (6)\n    end\n    if <<key (up arrow v) pressed?> and <(falling?) < [3]>> then\n        set [yv v] to [16]\n        set [falling? v] to [2]\n    end\n    if <touching color (#de35a5)?> then\n        play sound [zoop v] until done\n        change [level v] by (1)\n        Respawn\n    end\n    if <touching color (#ff0000)?> then\n        play sound [crunch.mp3 v] until done\n        Respawn\n    end\n    if <(y position) < [-120]> then\n        Respawn\n    end\n    if <touching color (#ffec1e)?> then\n        set [yv v] to [20]\n    end\n    if <key (s v) pressed?> then\n        Respawn\n        change [level v] by (1)\n    end\n    if <<key (s v) pressed?> or <(Level) = [10]>> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [play v]\nshow\ngo to [front v] layer\n\nforever\nend\n\nwhen I receive [play v]\nforever\n    if <<(Level) = [6]> and <touching color (#1800de)?>> then\n        play sound [teleports v] until done\n        go to x: (10) y: (-30)\n        stop [this script v]\n    end\nend\n\nwhen I receive [play v]\nforever\nend\n\nwhen I receive [play v]\nforever\n    if <<(Level) = [7]> and <touching color (#1800de)?>> then\n        play sound [teleports v] until done\n        go to x: (-150) y: (40)\n    end\nend\n\nstop [this script v]\n\nstop [this script v]\n\nwhen I receive [play v]\nforever\n    if <<(Level) = [9]> and <touching color (#1800de)?>> then\n        play sound [teleports v] until done\n        go to x: (10) y: (40)\n    end\nend\n\nwait (1) seconds\n\nwait (1) seconds\n\nwait (1) seconds\n\n@Thumbnail\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nshow\ngo to [front v] layer\n\n@Intro @Chr_Avila07663\n\ndefine Intro\nhide\ngo to x: (0) y: (0)\npoint in direction (90)\nset size to (100) %\nclear graphic effects\nstart sound [Amadeus - Euphoria v]\nset [i v] to [0]\nset [i2 v] to [0]\nset [sequence v] to [1]\nswitch costume to (white v)\ncreate clone of (_myself_ v)\nwait (.02) seconds\nswitch costume to (filler v)\ncreate clone of (_myself_ v)\nwait (.4) seconds\nset [sequence v] to [2]\nswitch costume to (logo v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [4]>\nswitch costume to (arrow1 v)\nrepeat (4)\n    create clone of (_myself_ v)\n    next costume\n    wait (.01) seconds\nend\nswitch costume to (a v)\ngo to x: (-85) y: (0)\nrepeat (5)\n    create clone of (_myself_ v)\n    next costume\n    change x by (40)\n    wait (.005) seconds\nend\ngo to x: (0) y: (0)\nwait (.325) seconds\nset [sequence v] to [5]\nwait until <(Sequence) = [6]>\nswitch costume to (another filler v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [7]>\nswitch costume to (flash v)\ncreate clone of (_myself_ v)\nswitch costume to (complete logo v)\ncreate clone of (_myself_ v)\nParticles\nwait (1) seconds\nset [sequence v] to [8]\nwait until <(Sequence) = [9]>\nswitch costume to (name v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [11]>\nstop [this script v]\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    show\n    wait until <(Sequence) = [11]>\n    delete this clone\nelse\n    if <(costume [number v]) = [2]> then\n        show\n        go to x: (0) y: (360)\n        set [ghost v] effect to (100)\n        repeat until <(Sequence) = [2]>\n            change y by (((0) - (y position)) / (5))\n            change [ghost v] effect by (-10)\n        end\n        wait until <(Sequence) = [3]>\n        repeat (20)\n            change y by (((360) - (y position)) / (5))\n            change [ghost v] effect by (7)\n        end\n        set [sequence v] to [4]\n        delete this clone\n    else\n        if <(costume [number v]) = [3]> then\n            show\n            go to x: (0) y: (0)\n            set [ghost v] effect to (100)\n            point in direction (-45)\n            set size to (0) %\n            repeat (22)\n                change [ghost v] effect by (-10)\n                turn right (((90) - (direction)) / (5)) degrees\n                change size by (((100) - (size)) / (5))\n            end\n            repeat (20)\n                set [i v] to (((i) * (.8)) + (((130) - (size)) / (5)))\n                change size by (i)\n                turn right (((105) - (direction)) / (5)) degrees\n            end\n            repeat (16)\n                change size by (((20) - (size)) / (5))\n                change [ghost v] effect by (10)\n                change y by (((-200) - (y position)) / (4))\n            end\n            set [sequence v] to [3]\n            delete this clone\n        else\n            if <<(costume [number v]) > [3]> and <[9] > (costume [number v])>> then\n                show\n                go to x: (x position) y: (-360)\n                set [ghost v] effect to (100)\n                set size to (0) %\n                repeat until <(Sequence) = [5]>\n                    change y by (((-10) - (y position)) / (5))\n                    change size by (((80) - (size)) / (5))\n                    change [ghost v] effect by (-10)\n                end\n                set [i v] to [15]\n                repeat (20)\n                    change [ghost v] effect by (5)\n                    change size by (-2)\n                    change [i v] by (-1.5)\n                    change y by (i)\n                    turn right ((x position) / (20)) degrees\n                end\n                set [sequence v] to [6]\n                delete this clone\n            else\n                if <<(costume [number v]) > [8]> and <[13] > (costume [number v])>> then\n                    show\n                    set [ghost v] effect to (100)\n                    set size to (50) %\n                    point in direction (45)\n                    repeat (20)\n                        change [ghost v] effect by (-15)\n                        turn right (((90) - (direction)) / (5)) degrees\n                        change size by (i)\n                        set [i v] to (((i) * (.7)) + (((100) - (size)) / (5)))\n                    end\n                    wait until <(Sequence) = [5]>\n                    repeat (20)\n                        change [ghost v] effect by (10)\n                        change [i v] by (1)\n                        change size by (i)\n                    end\n                    delete this clone\n                else\n                    if <(costume [number v]) = [13]> then\n                        show\n                        go to x: (-300) y: (-360)\n                        set [ghost v] effect to (100)\n                        repeat (17)\n                            change x by (((0) - (x position)) / (5))\n                            change y by (((0) - (y position)) / (5))\n                            change [ghost v] effect by (-10)\n                        end\n                        set [sequence v] to [7]\n                        wait until <(Sequence) = [10]>\n                        repeat (20)\n                            change x by (((0) - (x position)) / (5))\n                            change y by (((360) - (y position)) / (5))\n                            change [ghost v] effect by (7)\n                        end\n                        set [sequence v] to [11]\n                        delete this clone\n                    else\n                        if <(costume [number v]) = [14]> then\n                            show\n                            go to [front v] layer\n                            set [ghost v] effect to (0)\n                            set [brightness v] effect to (100)\n                            repeat (40)\n                                go to [front v] layer\n                                change [ghost v] effect by (5)\n                            end\n                            delete this clone\n                        else\n                            if <(costume [number v]) = [15]> then\n                                show\n                                set [ghost v] effect to (100)\n                                set size to (0) %\n                                point in direction (-45)\n                                repeat until <(Sequence) = [8]>\n                                    turn right (((90) - (direction)) / (5)) degrees\n                                    change [ghost v] effect by (-10)\n                                    set [i v] to (((i) * (.8)) + (((100) - (size)) / (5)))\n                                    change size by (i)\n                                end\n                                set [i v] to [15]\n                                set [i2 v] to [-15]\n                                repeat (20)\n                                    change [ghost v] effect by (6)\n                                    change [i v] by (-1.5)\n                                    set [i2 v] to ((i2) * (.9))\n                                    change y by (i)\n                                    change x by (i2)\n                                    change size by (-2)\n                                    turn right ((x position) / (40)) degrees\n                                end\n                                set [sequence v] to [9]\n                                delete this clone\n                            else\n                                if <(costume [number v]) = [16]> then\n                                    show\n                                    point in direction (pick random (1) to (90))\n                                    set size to (pick random (80) to (150)) %\n                                    set [i v] to (pick random (-20) to (20))\n                                    set [i2 v] to (pick random (10) to (20))\n                                    set [ghost v] effect to (pick random (10) to (30))\n                                    set [brightness v] effect to (pick random (10) to (30))\n                                    repeat until <touching (_edge_ v)?>\n                                        change [ghost v] effect by (1)\n                                        change x by (i)\n                                        change y by (i2)\n                                        change [i2 v] by (-2)\n                                    end\n                                    delete this clone\n                                else\n                                    if <(costume [number v]) = [17]> then\n                                        show\n                                        go to x: (0) y: (360)\n                                        set [ghost v] effect to (100)\n                                        set size to (0) %\n                                        repeat (30)\n                                            set [i v] to ((((0) - (y position)) * (.4)) + ((i) * (.6)))\n                                            change [ghost v] effect by (-10)\n                                            change y by (i)\n                                            change size by (((100) - (size)) / (5))\n                                        end\n                                        repeat (20)\n                                            change [ghost v] effect by (7)\n                                            change size by (((20) - (size)) / (5))\n                                        end\n                                        set [sequence v] to [10]\n                                        delete this clone\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine Particles\ngo [backward v] (1) layers\nswitch costume to (particle v)\nrepeat (10)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [intro v]\nIntro\n\n
Press arrow keys. get to portal to advance good luck!\nIf you liked it please love and fave.\n500+ loves = A new pen game.\n\n#pen #art #contest