BlueBerry - Platformer v1.3.                            #games #all #platformers #Blueberry
@Stage\n\nwhen I receive [start game v]\nforever\n    play sound [Run Away  v] until done\nend\n\nwhen I receive [start game v]\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        play sound (pick random (3) to (4)) until done\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        play sound (pick random (3) to (4)) until done\n    end\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        play sound [Whoosh sound effect2 v] until done\n    end\nend\n\nwhen flag clicked\nwait until <(LEVEL) = [17]>\nbroadcast (End v) and wait\n\n@Blank (for less lag)\n\n@Start\n\nwhen flag clicked\nrepeat until <(Start?) = [True]>\n    play sound [Scratchinjojo_running v] until done\nend\n\nwhen flag clicked\nshow\nset [start? v] to [False]\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nswitch costume to (costume1 v)\nrepeat until <(Start?) = [True]>\n    if <<key (right arrow v) pressed?> or <key (space v) pressed?>> then\n        if <not <(costume [number v]) = [4]>> then\n            repeat until <(round (x position)) = [-450]>\n                change x by (((-450) - (x position)) / (5))\n                change [ghost v] effect by (5)\n            end\n            go to x: (450) y: (-3)\n            next costume\n            repeat until <(round (x position)) = [0]>\n                change x by (((0) - (x position)) / (5))\n                change [ghost v] effect by (-5)\n            end\n            wait until <not <<key (right arrow v) pressed?> or <key (space v) pressed?>>>\n        end\n    end\n    if <key (left arrow v) pressed?> then\n        if <not <(costume [number v]) = [1]>> then\n            repeat until <(round (x position)) = [450]>\n                change x by (((450) - (x position)) / (5))\n                change [ghost v] effect by (5)\n            end\n            go to x: (-450) y: (0)\n            switch costume to ((costume [number v]) - (1))\n            repeat until <(round (x position)) = [0]>\n                change x by (((0) - (x position)) / (5))\n                change [ghost v] effect by (-5)\n            end\n        end\n        wait until <not <key (left arrow v) pressed?>>\n    end\n    if <mouse down?> then\n        broadcast (Start Game v) and wait\n    end\nend\n\nwhen I start as a clone\nswitch costume to (costume5 v)\nforever\n    if <(Start?) = [True]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nrepeat until <(Start?) = [True]>\n    set y to (([sin v] of ((timer) * (300)) ) * (3))\nend\n\nwhen I receive [start game v]\nhide\nset [start? v] to [True]\nstop all sounds\n\n@player\n\ndefine Platform Physics (speed) (friction) (jump height )\nif <touching (moving platforms v)?> then\n    if <color (#66d1ff) is touching (#00a726)?> then\n        broadcast (Player Die v)\n    end\nend\nif <(gravity) = [^]> then\n    change [y vel v] by (1)\nelse\n    if <(gravity) = [v]> then\n        change [y vel v] by (-1)\n    end\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    if <(costume [number v]) = [5]> then\n        change [x vel v] by (1)\n    else\n        change [x vel v] by (speed)\n    end\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    if <(costume [number v]) = [5]> then\n        change [x vel v] by (-1)\n    else\n        change [x vel v] by ((speed) * (-1))\n    end\nend\nset [x vel v] to ((X vel) * (friction))\nchange x by (X vel)\nset [slope v] to [0]\nif <<touching (level v)?> or <touching color (#00a726)?>> then\n    repeat until <<not <<touching (level v)?> or <touching color (#00a726)?>>> or <(slope) = [8]>>\n        change [slope v] by (1)\n        change y by (1)\n    end\nend\nif <<touching (level v)?> or <touching color (#00a726)?>> then\n    change y by ((slope) * (-1))\n    repeat until <not <<touching (level v)?> or <touching color (#00a726)?>>>\n        change x by ((([abs v] of (X vel) ) / (X vel)) * (-1))\n    end\n    set [x vel v] to [0]\nend\nchange y by (Y vel)\nif <<touching (level v)?> or <touching color (#00a726)?>> then\n    repeat until <not <<touching (level v)?> or <touching color (#00a726)?>>>\n        change y by ((([abs v] of (Y vel) ) / (Y vel)) * (-1))\n    end\n    set [y vel v] to [0]\nend\nchange y by (-5)\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <<touching (level v)?> or <touching color (#00a726)?>>> then\n    set [y vel v] to (jump height )\nend\nchange y by (5)\nchange y by (5)\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <<touching (level v)?> or <touching color (#00a726)?>>> then\n    if <(gravity) = [^]> then\n        set [y vel v] to [-10]\n    end\nend\nchange y by (-5)\nif <touching (enemy v)?> then\n    if <not <color (#484848) is touching (#ff8181)?>> then\n        broadcast (Player Die v)\n    end\nend\nif <color (#484848) is touching (#ff8181)?> then\n    broadcast (Enemy Die v)\n    set [y vel v] to [10]\n    change [enemies defeated v] by (1)\nend\nif <touching (boosts v)?> then\n    set [x vel v] to ((X vel) * (2))\nend\nif <touching (gravity switchers v)?> then\n    if <(gravity) = [v]> then\n        set [gravity v] to [^]\n    else\n        if <(gravity) = [^]> then\n            set [gravity v] to [v]\n        end\n    end\nend\n\ndefine Check Stuff\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    switch costume to (right v)\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    switch costume to (right2 v)\nend\nif <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    switch costume to (up v)\nend\nif <not <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>>>> then\n    switch costume to (normal v)\nend\nif <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n    if <not <(gravity) = [^]>> then\n        if <not <(LEVEL) = [8]>> then\n            switch costume to (duck v)\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [player die v]\ndie\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nset [gravity v] to [v]\nshow\nset [x vel v] to [0]\nset [y vel v] to [0]\ngo to x: (-230) y: (-51)\nswitch costume to (normal v)\ngo to x: (-230) y: (-51)\nforever\n    go to [back v] layer\n    go [forward v] (2) layers\n    Platform Physics [2] [0.7] [10]\n    Check Stuff\nend\n\nwhen I receive [start game v]\nforever\n    if <touching (portal v)?> then\n        glide (1) secs to (portal v)\n        broadcast (Next Level v) and wait\n        broadcast (Enemy Die v) and wait\n        go to x: (-225) y: (-51)\n        change [level v] by (1)\n    end\n    if <touching (dangers v)?> then\n        broadcast (Player Die v) and wait\n    end\nend\n\nwhen I receive [easter v]\n\nrepeat until <(LEVEL) = ((LEVEL) + (1))>\n\ngo to (portal v)\n\ndefine die\ngo to x: (-230) y: (-51)\nset [time v] to [0]\npoint in direction (90)\nswitch costume to (normal v)\nchange [player deaths v] by (1)\nset [gravity v] to [v]\nstart sound [crashed oof v]\n\nwhen I receive [jump pad bounce v]\nset [y vel v] to [20]\nif <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    set [y vel v] to [23]\nend\n\nset [y vel v] to [-10]\n\nwhen I receive [player restart v]\ngo to x: (-230) y: (-51)\nset [time v] to [0]\nset [player deaths v] to [0]\npoint in direction (90)\nswitch costume to (normal v)\nset [gravity v] to [v]\n\nwhen flag clicked\nwait until <(LEVEL) = [17]>\nhide\n\n@level\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\ngo to (player v)\n\nwhen I receive [start game v]\nset [level v] to [1]\nshow\nforever\n    go to x: (0) y: (0)\n    switch costume to (LEVEL)\nend\n\nwhen I receive [skipped next level v]\nset [level v] to ((LEVEL) + (1))\n\ngo to (player v)\n\npoint in direction ([direction v] of [player v])\n\ngo to (player v)\n\n@enemy\n\nwhen I start as a clone\nshow\nforever\n    repeat (speed)\n        change x by (1)\n    end\n    repeat (speed)\n        change x by (-1)\n    end\nend\n\nwhen I start as a clone\nshow\nforever\n    repeat (3)\n        next costume\n        wait (0.05) seconds\n    end\n    repeat (3)\n        switch costume to ((costume [number v]) - (1))\n        wait (0.05) seconds\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [enemy die v]\nset [die? v] to [True]\nwait (1) seconds\nset [die? v] to [False]\n\ndelete this clone\n\nwhen I start as a clone\nshow\nforever\n    if <(Die?) = [True]> then\n        delete this clone\n    end\nend\n\nwhen I receive [start game v]\nset [die? v] to [False]\n\nwhen flag clicked\n\nif <(LEVEL) = [4]> then\nstop [this script v]\n\nwhen I receive [start game v]\nwait until <(LEVEL) = [1]>\nClone at [20] [-120] speed [100]\nstop [this script v]\n\nwhen I receive [start game v]\nwait until <(LEVEL) = [7]>\nClone at [20] [-120] speed [100]\nstop [this script v]\n\ndefine Clone at (x) (y) speed (speed)\nset [speed v] to (speed)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nstop [this script v]\n\nwhen I start as a clone\nwait until <(LEVEL) = ((LEVEL) + (1))>\ndelete this clone\n\nwhen I receive [start game v]\nwait until <(LEVEL) = [16]>\nClone at [-150] [83] speed [100]\nstop [this script v]\n\n@Bounce\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    if <(LEVEL) = [1]> then\n        hide\n    end\n    if <(LEVEL) = [2]> then\n        go to x: (-150) y: (-115)\n        show\n    end\n    if <(LEVEL) = [3]> then\n        hide\n    end\n    if <(LEVEL) = [4]> then\n        hide\n    end\n    if <(LEVEL) = [5]> then\n        go to x: (-103) y: (-130)\n        show\n    end\n    if <(LEVEL) = [6]> then\n        go to x: (-154) y: (-130)\n        show\n    end\n    if <(LEVEL) = [7]> then\n        go to x: (0) y: (29)\n        show\n    end\n    if <(LEVEL) = [8]> then\n        show\n        go to x: (-168) y: (-115)\n    end\n    if <(LEVEL) = [9]> then\n        hide\n    end\n    if <(LEVEL) = [10]> then\n        go to x: (0) y: (-130)\n        show\n    end\n    if <(LEVEL) = [11]> then\n        hide\n    end\n    if <(LEVEL) = [12]> then\n        hide\n    end\n    if <(LEVEL) = [13]> then\n        hide\n    end\n    if <(LEVEL) = [14]> then\n        hide\n    end\n    if <(LEVEL) = [15]> then\n        hide\n    end\n    if <(LEVEL) = [16]> then\n        show\n        go to x: (-165) y: (-133)\n    end\n    if <(LEVEL) = [17]> then\n        hide\n    end\nend\n\nwhen I receive [start game v]\nshow\nforever\n    if <<touching (player v)?> and <touching color (#484848)?>> then\n        switch costume to (1 v)\n        repeat (3)\n            next costume\n        end\n        broadcast (Jump Pad Bounce v) and wait\n        start sound [Big Boing v]\n        repeat (3)\n            switch costume to ((costume [number v]) - (1))\n        end\n    else\n        switch costume to (1 v)\n    end\nend\n\n@Gravity switchers\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    switch costume to (LEVEL)\nend\n\n@Dangers\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    go to x: (0) y: (0)\n    switch costume to (LEVEL)\n    if <<touching color (#6681ff)?> or <touching color (#66d1ff)?>> then\n        broadcast (Player Die v) and wait\n    end\nend\n\n@Boosts\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    go to x: (0) y: (0)\n    switch costume to (LEVEL)\n    if <touching (player v)?> then\n        play sound [Low Whoosh v] until done\n    end\nend\n\n@Next Level Transition\n\nwhen flag clicked\nhide\nset [level / 16 v] to []\nset [player deaths v] to [0]\nhide variable [player deaths v]\nhide variable [level / 16 v]\n\nwhen I receive [next level v]\nset [i v] to [bg]\ncreate clone of (_myself_ v)\nwait () seconds\nset [i v] to [Words]\ncreate clone of (_myself_ v)\nwait () seconds\nset [i v] to [Next Level!]\ncreate clone of (_myself_ v)\nrepeat until <mouse down?>\n    wait (0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) seconds\nend\n\nwhen I start as a clone\nif <(i) = [Next Level!]> then\n    go to [front v] layer\n    go [forward v] (200) layers\n    switch costume to (stats v)\n    show\n    go to x: (0) y: (100000)\n    repeat until <(round (y position)) = [0]>\n        change y by ((() - (y position)) / (5))\n    end\n    show variable [level / 16 v]\n    show variable [player deaths v]\n    forever\n        if <mouse down?> then\n            set [player deaths v] to [0]\n            hide variable [player deaths v]\n            clear graphic effects\n            repeat until <(round (y position)) = [170]>\n                change y by (((170) - (y position)) / (5))\n                change [ghost v] effect by (10)\n            end\n            delete this clone\n        end\n    end\nend\n\nwhen I start as a clone\nif <(i) = [Words]> then\n    go to [front v] layer\n    go [forward v] (200) layers\n    switch costume to (next level v)\n    show\n    go to x: (0) y: (-1000000)\n    repeat until <(round (y position)) = [0]>\n        change y by ((() - (y position)) / (5))\n    end\n    forever\n        if <mouse down?> then\n            hide variable [player deaths v]\n            hide variable [level / 16 v]\n            clear graphic effects\n            repeat until <(round (y position)) = [50]>\n                change y by (((50) - (y position)) / (5))\n                change [ghost v] effect by (10)\n            end\n            delete this clone\n        end\n    end\nend\n\ndelete this clone\n\nwhen I start as a clone\nif <(i) = [bg]> then\n    go to [front v] layer\n    go [forward v] (200) layers\n    switch costume to (bg v)\n    show\n    go to x: (0) y: (-1000000)\n    repeat until <(round (y position)) = [0]>\n        change y by ((() - (y position)) / (5))\n    end\n    forever\n        if <mouse down?> then\n            hide variable [player deaths v]\n            delete this clone\n        end\n    end\nend\n\nset [player deaths v] to [0]\n\nhide variable [player deaths v]\n\nshow variable [player deaths v]\n\nclear graphic effects\n\nwhen flag clicked\nforever\n    set [level / 16 v] to (join (join (LEVEL) [ / ]) [16])\nend\n\n@Particle system\n\nwhen flag clicked\nhide\n\nwhen I receive [enemy die v]\nEnemy Particle\n\nwhen I start as a clone\nif <(i) = [Enemy Particle]> then\n    point in direction (pick random (-90) to (90))\n    switch costume to (pick random (1) to (2))\n    go to [front v] layer\n    show\n    clear graphic effects\n    go to (player v)\n    set size to (pick random (50) to (150)) %\n    set [y v] to (pick random (10) to (20))\n    repeat until <<touching (level v)?> or <(y position) < [-170]>>\n        change [y v] by (-1)\n        change y by (Y)\n        move (3) steps\n    end\n    delete this clone\nend\n\nwhen I receive [player die v]\nwait (0.05) seconds\nPlayer Particle\n\nwhen I start as a clone\nif <(i) = [Player particle]> then\n    point in direction (pick random (-90) to (90))\n    switch costume to (pick random (3) to (4))\n    go to [front v] layer\n    show\n    clear graphic effects\n    go to (player v)\n    set size to (pick random (50) to (150)) %\n    set [y v] to (pick random (10) to (20))\n    repeat until <<touching (level v)?> or <(y position) < [-170]>>\n        change [y v] by (-1)\n        change y by (Y)\n        move (3) steps\n    end\n    delete this clone\nend\n\ndefine Enemy Particle\nrepeat (10)\n    set [i v] to [Enemy Particle]\n    create clone of (_myself_ v)\nend\n\ndefine Player Particle\nrepeat (10)\n    set [i v] to [Player particle]\n    create clone of (_myself_ v)\nend\n\ndelete this clone\n\n@EasterEgg\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\n@bg\n\nwhen flag clicked\nshow\nforever\n    go to [back v] layer\n    go to x: (0) y: (0)\n    repeat (31)\n        change y by (1)\n        change x by (-1)\n    end\nend\n\nchange y by (1)\n\n@Portal\n\nwhen flag clicked\nhide\n\nrepeat (7)\n    change y by (1)\nend\nrepeat (7)\n    change y by (-1)\nend\n\nwhen I receive [start game v]\nshow\ngo to x: (200) y: (-100)\nforever\n    set y to ((([sin v] of ((timer) * (300)) ) * (5)) + (-100))\nend\n\nwhen flag clicked\nwait until <(LEVEL) = [17]>\nhide\n\n@Particle eff\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nif <(isParticle) = [1]> then\n    change x by (Sx)\n    change y by (Sy)\n    change [ghost v] effect by (2)\n    change [allowed loop time v] by (1)\n    if <(Allowed Loop Time) > [100]> then\n        delete this clone\n    end\nend\n\ndefine Position X: (x) Y (y)\nset [isparticle v] to [1]\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\nset [isparticle v] to [0]\n\nwhen I start as a clone\ngo to [back v] layer\ngo [forward v] (1) layers\nswitch costume to (particle v)\nshow\nset [sx v] to [0]\nset [sy v] to [-2]\n\nwhen I receive [start game v]\nforever\n    Position X: (pick random (-230) to (230)) Y [180]\n    broadcast (Tick v)\nend\n\nwhen I receive [end v]\nstop [this script v]\n\n@Buttons\n\nwhen flag clicked\nshow list [instructions || notes and credits v]\nhide\n\nwhen I start as a clone\nif <(i) = [Restart]> then\n    show\n    switch costume to (restart v)\n    go to x: (-150) y: (152)\n    go to [front v] layer\n    forever\n        set x to (-200)\n        set y to ((150) + (([sin v] of ((timer) * (600)) ) * (1)))\n        point in direction ((([sin v] of ((timer) * (300)) ) * (5)) + (90))\n        if <touching (mouse-pointer v)?> then\n            change size by (((125) - (size)) / (3))\n            if <mouse down?> then\n                broadcast (Player Restart v) and wait\n                wait until <not <mouse down?>>\n            end\n        else\n            change size by (((100) - (size)) / (3))\n        end\n    end\nend\n\nwhen I receive [start game v]\nset [i v] to [Restart]\ncreate clone of (_myself_ v)\nwait () seconds\nset [i v] to [Question]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(i) = [Question]> then\n    show\n    switch costume to (question v)\n    go to x: (-150) y: (152)\n    go to [front v] layer\n    forever\n        set x to (-150)\n        set y to ((150) + (([sin v] of ((timer) * (600)) ) * (1)))\n        point in direction ((([sin v] of ((timer) * (300)) ) * (5)) + (90))\n        if <touching (mouse-pointer v)?> then\n            change size by (((125) - (size)) / (3))\n            if <mouse down?> then\n                broadcast (Question v) and wait\n                wait until <not <mouse down?>>\n            end\n        else\n            change size by (((100) - (size)) / (3))\n        end\n        if <key (space v) pressed?> then\n            delete all of [instructions || notes and credits v]\n            show list [instructions || notes and credits v]\n        end\n    end\nend\n\nwhen I receive [question v]\nhide list [instructions || notes and credits v]\ndelete all of [instructions || notes and credits v]\nadd [You are a young blueberry and you are captured by the enemy strawberries.] to [instructions || notes and credits v]\nadd [You must escape] to [instructions || notes and credits v]\nadd [ Use arrow keys or WASD to move. Avoid Spikes and enemy strawberries. ] to [instructions || notes and credits v]\nadd [Jump on them to defeat them. Use bounce pads to get to higher places and use] to [instructions || notes and credits v]\nadd [boosts to zoom.] to [instructions || notes and credits v]\nadd [ Good Luck!] to [instructions || notes and credits v]\nadd [Your sincerely, TheCodeMaster654] to [instructions || notes and credits v]\nadd [] to [instructions || notes and credits v]\nadd [] to [instructions || notes and credits v]\nadd [] to [instructions || notes and credits v]\nadd [] to [instructions || notes and credits v]\nadd [] to [instructions || notes and credits v]\nadd [Press Space Exit] to [instructions || notes and credits v]\n\n@Moving Platforms\n\nwhen flag clicked\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\ngo to x: (0) y: (0)\nforever\n    show\n    if <(LEVEL) = [6]> then\n        show\n        repeat until <(round (y position)) = [130]>\n            change y by (2)\n        end\n        repeat until <(round (y position)) = [0]>\n            change y by (-2)\n        end\n    else\n        if <(LEVEL) = [7]> then\n            show\n            repeat until <(round (y position)) = [180]>\n                change y by (2)\n            end\n            repeat until <(round (y position)) = [0]>\n                change y by (-2)\n            end\n        else\n            if <(LEVEL) = [12]> then\n                show\n                repeat until <(round (y position)) = [200]>\n                    change y by (5)\n                end\n                repeat until <(round (y position)) = [50]>\n                    change y by (-5)\n                end\n            else\n                if <(LEVEL) = [13]> then\n                    show\n                    repeat until <(round (y position)) = [200]>\n                        change y by (2)\n                    end\n                    repeat until <(round (y position)) = [0]>\n                        change y by (-2)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start game v]\nshow\nforever\n    switch costume to (LEVEL)\nend\n\nwhen I receive [start game v]\ngo to x: (0) y: (0)\nforever\n    if <touching color (#66d1ff)?> then\n        broadcast (Player Die v)\n    end\nend\n\n@End\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nwait until <(LEVEL) = [17]>\nwait (0.5) seconds\nshow\ngo to x: (0) y: (0)\nglide (15) secs to x: (0) y: (1200)\nhide\n\nwhen flag clicked\nif <<not <(LEVEL) = [17]>> or <(LEVEL) = [1]>> then\n    hide\nend\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n