Mechanical - Puzzle Platformer
@Stage\n\nwhen [m v] key pressed\nchange [track v] by (1)\nstop all sounds\n\nstop [other scripts in sprite v]\n\nwhen I receive [gamemusic v]\nset [track v] to [1]\nforever\n    stop all sounds\n    play sound [2 v] until done\nend\n\nwhen flag clicked\nswitch backdrop to (1 v)\n\nwhen I receive [levelup v]\nswitch backdrop to (Level)\n\nwhen I receive [gameover v]\nswitch backdrop to (won v)\n\nif <key (m v) pressed?> then\n    stop [other scripts in sprite v]\n    change [track v] by (1)\n    stop all sounds\nend\n\nwhen flag clicked\nforever\n    if <(track) = [1]> then\n        play sound [2 v] until done\n    end\n    if <(track) = [2]> then\n        play sound [axel-f-dance-club-remix3 v] until done\n    end\n    if <(track) = [3]> then\n    if <(track) > [3]> then\n        set [track v] to [1]\n    end\nend\n\n@Start End screens\n\nwhen flag clicked\nhide\nset [level v] to [1]\nbroadcast (gamemusic v)\ngo to x: (0) y: (0)\nshow\nswitch costume to (title v)\ngo to [front v] layer\nclear graphic effects\nwait (2) seconds\ngo to x: (0) y: (0)\nshow\nbroadcast (ShoeMeOptions v)\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nswitch costume to (designer v)\nrepeat (20)\n    change [brightness v] effect by (5)\nend\n\nbroadcast (Start v)\nset [level v] to [10]\n\nwhen this sprite clicked\nif <(costume [number v]) = [3]> then\n    if <(mouse y) < [-67]> then\n        hide\n        set [#ghostdelayspeed v] to [0.2]\n        set [mode v] to [Hardcore]\n        broadcast (Start v)\n        stop [this script v]\n    end\n    if <(mouse y) > [20]> then\n        hide\n        set [mode v] to [Normal]\n        set [#ghostdelayspeed v] to [0.4]\n        broadcast (Start v)\n        stop [this script v]\n    end\n    if <(mouse y) > [-67]> then\n        hide\n        set [#ghostdelayspeed v] to [0.3]\n        set [mode v] to [Hard]\n        broadcast (Start v)\n        stop [this script v]\n    end\nend\nif <not <(costume [number v]) = [2]>> then\n    stop [this script v]\nend\nstop [other scripts in sprite v]\nif <(mouse y) > [67]> then\n    if <(mouse x) > [0]> then\n        broadcast (NextHead v)\n    else\n        broadcast (LastHead v)\n    end\n    stop [this script v]\nend\nif <(mouse y) > [3]> then\n    if <(mouse x) > [0]> then\n        broadcast (NextEyes v)\n    else\n        broadcast (LastEyes v)\n    end\n    stop [this script v]\nend\nif <(mouse y) > [-55]> then\n    if <(mouse x) > [0]> then\n        broadcast (NextBody v)\n    else\n        broadcast (LastBody v)\n    end\n    stop [this script v]\nend\nif <(mouse y) < [-100]> then\n    switch costume to (instructions v)\n    wait (0.05) seconds\n    broadcast (ShowInstructions v)\n    go to [front v] layer\n    stop [this script v]\nend\n\nwhen I receive [start v]\nhide\n\nif <(y position) > [-67]> then\n\nwhen I receive [#releasethefruit v]\n\nwhen I receive [hardcoregameover v]\nhide\nswitch costume to (died - hardcore v)\nclear graphic effects\ngo to [front v] layer\nshow\n\nwhen I receive [gameover v]\nhide\nswitch costume to (winner v)\nclear graphic effects\ngo to [front v] layer\nshow\n\nset [#ghostdelayspeed v] to [0.3]\nset [mode v] to [Hard]\nbroadcast (Start v)\nstop [this script v]\n\nif <<(mouse x) > [-72]> and <(mouse y) > [-125]>> then\n    stop [this script v]\nend\nif <(mouse y) > [107]> then\n    stop [this script v]\nend\n\n\n    broadcast (Random v)\n    stop [this script v]\nend\n\nstop [this script v]\n\nstop [this script v]\n\nrepeat (3)\n\nwhen [t v] key pressed\nif <(Level) = [10]> then\n    broadcast (gameover v)\n    stop [this script v]\nend\nchange [level v] by (1)\nbroadcast (LevelUp v)\n\n@ControlCharacter\n\nwhen [up arrow v] key pressed\nchange y by (-1)\nif <touching (platforms v)?> then\n    set [yvelocity v] to [5.5]\nend\nchange y by (1)\n\nwhen I receive [start v]\nstop [other scripts in sprite v]\nset [mousetoswipe? v] to [No]\nset [yvelocity v] to [0]\nset [xvelocity v] to [0]\nset [ghost v] effect to (99)\nPositionControlCharacter\nshow\nforever\n    change [yvelocity v] by (-0.5)\n    if <[0] > (YVelocity)> then\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) < [0]> then\n                change y by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) < [-1]> then\n                change y by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) < [-2]> then\n                change y by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) < [-3]> then\n                change y by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) < [-4]> then\n                change y by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) < [-5]> then\n                change y by (-1)\n            end\n        end\n        if <(YVelocity) < [-6]> then\n            set [yvelocity v] to [-6]\n        end\n        if <touching (platforms v)?> then\n            set [yvelocity v] to [0]\n            change y by (1)\n        end\n    end\n    if <(YVelocity) > [0]> then\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) > [0]> then\n                change y by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) > [1]> then\n                change y by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) > [1]> then\n                change y by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) > [1]> then\n                change y by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) > [1]> then\n                change y by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(YVelocity) > [1]> then\n                change y by (1)\n            end\n        end\n        if <(YVelocity) < [-5]> then\n            set [yvelocity v] to [-5]\n        end\n        if <touching (platforms v)?> then\n            change y by (-1)\n            set [yvelocity v] to [0]\n        end\n    end\n    set [xvelocity v] to ((XVelocity) * (0.85))\n    if <<(XVelocity) < [1]> and <(XVelocity) > [-1]>> then\n        set [xvelocity v] to [0]\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [xvelocity v] by (1.5)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [xvelocity v] by (-1.5)\n    end\n    if <[0] > (XVelocity)> then\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) < [0]> then\n                change x by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) < [-1]> then\n                change x by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) < [-2]> then\n                change x by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) < [-3]> then\n                change x by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) < [-4]> then\n                change x by (-1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) < [-5]> then\n                change x by (-1)\n            end\n        end\n        if <touching (platforms v)?> then\n            change x by (1)\n            set [xvelocity v] to [0]\n        end\n        if <(XVelocity) < [-5]> then\n            set [xvelocity v] to [-5]\n        end\n    end\n    if <(XVelocity) > [0]> then\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) > [0]> then\n                change x by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) > [1]> then\n                change x by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) > [2]> then\n                change x by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) > [3]> then\n                change x by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) > [4]> then\n                change x by (1)\n            end\n        end\n        if <not <touching (platforms v)?>> then\n            if <(XVelocity) > [5]> then\n                change x by (1)\n            end\n        end\n        if <touching (platforms v)?> then\n            change x by (-1)\n            set [xvelocity v] to [0]\n        end\n        if <[5] < (XVelocity)> then\n            set [xvelocity v] to [5]\n        end\n    end\n    if <touching (ghosts v)?> then\n        start sound [pacman_death v]\n        if <(Mode) = [Normal]> then\n            set [score v] to ((Score) - ((SmallDotsCollectedThisLevel) * (100)))\n            broadcast (RestartLevel v)\n        end\n        if <(Mode) = [Hard]> then\n            set [score v] to ((Score) - ((SmallDotsCollectedThisLevel) * (100)))\n            broadcast (RestartLevel v)\n        end\n        if <(Mode) = [Hardcore]> then\n            broadcast (HardcoreGameOver v)\n            stop [this script v]\n        end\n    end\nend\n\nwhen [w v] key pressed\nchange y by (-1)\nif <touching (platforms v)?> then\n    set [yvelocity v] to [5.5]\nend\nchange y by (1)\n\nwhen I receive [restartlevel v]\nbroadcast (PositionControlCharacter v)\n\nwhen I receive [levelup v]\nbroadcast (PositionControlCharacter v)\n\nwhen I receive [controlleft v]\ngo to x: (-220) y: (78)\nset [xvelocity v] to [0]\n\nwhen [down arrow v] key pressed\n\nchange y by (-1)\nif <(#FruitTimerSecondsLeft) > [0]> then\n    set [yvelocity v] to [-9]\nend\nchange y by (1)\n\nwhen I receive [positioncontrolcharacter v]\nPositionControlCharacter\n\nset [xvelocity v] to [0]\n\nclear graphic effects\n\nwhen I receive [restartlevel v]\nPositionControlCharacter\n\nif <mouse down?> then\n    set [mousetoswipe? v] to [Yes]\nend\nset [mousetoswipe? v] to [No]\n\nclear graphic effects\n\nchange [level v] by (1)\n\nwhen [space v] key pressed\nchange y by (-1)\nif <touching (platforms v)?> then\n    set [yvelocity v] to [5.5]\nend\nchange y by (1)\n\nchange x by (-1)\nset [xvelocity v] to [0]\n\nif <[5] < (XVelocity)> then\n    set [xvelocity v] to [5]\nend\n\ngo to x: (-199) y: (-147)\n\nbroadcast (LevelUp v)\n\ndefine PositionControlCharacter\ngo to x: (-200) y: (-150)\n\nif <(Level) < [6]> then\n    set size to (10) %\nelse\n    set size to (7) %\nend\n\nbroadcast (#ReleaseTheFruit v)\n\nwhen I receive [scorelevelup v]\nhide\n\nwhen I receive [levelup v]\nshow\n\n\n\nwhen I receive [levelup v]\n\n@Platforms\n\nwhen I receive [levelup v]\nswitch costume to (Level)\n\nif <(Level) = [9]> then\n    broadcast (gameover v)\nend\n\nwhen I receive [launchfirstlevel v]\nswitch costume to (1 v)\nshow\n\nwhen I receive [start v]\nswitch costume to (Level)\nshow\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nswitch costume to (1 v)\n\nswitch costume to (wrtwer v)\nif <(Level) = [9]> then\n    broadcast (gameover v)\nend\n\n@Ghosts\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [levelup v]\nPositioning\n\nwhen I receive [start v]\nhide\ngo to [back v] layer\n\nwhen flag clicked\nhide\nforever\n    if <touching (controlcharacter v)?> then\n        if <(BombDeflect?) = [On]> then\n            start sound [Clink v]\n            stop [other scripts in sprite v]\n            point towards (controlcharacter v)\n            turn right (180) degrees\n            repeat until <touching (_edge_ v)?>\n                move (20) steps\n            end\n            hide\n        else\n            broadcast (BombHit v)\n            broadcast (RestartLevel v)\n            start sound [mine v]\n        end\n    end\nend\n\ngo to x: (-150) y: (-142)\n\nset y to (58)\n\nset [level v] to [4]\n\nwhen I receive [fruitclonewiper v]\ndelete this clone\n\nwhen I start as a clone\nshow\nforever\n    repeat (#localghoststeps)\n        point in direction (-90)\n        change x by (10)\n        wait (#ghostdelayspeed) seconds\n        next costume\n        change x by (10)\n        wait (#ghostdelayspeed) seconds\n        switch costume to ((costume [number v]) - (1))\n    end\n    repeat (#localghoststeps)\n        point in direction (90)\n        change x by (-10)\n        wait (#ghostdelayspeed) seconds\n        next costume\n        change x by (-10)\n        wait (#ghostdelayspeed) seconds\n        switch costume to ((costume [number v]) - (1))\n    end\nend\n\nwhen I receive [restartlevel v]\nPositioning\n\ndelete this clone\n\ndefine Positioning\nif <[1] = [1]> then\n    delete this clone\nend\nhide\nif <(Level) = [1]> then\n    set [#localghoststeps v] to [8]\n    switch costume to (orange v)\n    go to x: (-65) y: (-117)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [6]\n    switch costume to (red v)\n    go to x: (93) y: (-37)\n    create clone of (_myself_ v)\nend\nif <(Level) = [2]> then\n    set [#localghoststeps v] to [10]\n    switch costume to (orange v)\n    go to x: (-221) y: (-118)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [10]\n    switch costume to (red v)\n    go to x: (20) y: (-118)\n    create clone of (_myself_ v)\nend\nif <(Level) = [3]> then\n    set [#localghoststeps v] to [7]\n    switch costume to (orange v)\n    go to x: (-177) y: (-31)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [7]\n    switch costume to (red v)\n    go to x: (30) y: (-31)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [7]\n    switch costume to (pink v)\n    go to x: (-208) y: (58)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [7]\n    switch costume to (blue v)\n    go to x: (68) y: (59)\n    create clone of (_myself_ v)\nend\nif <(Level) = [4]> then\n    set [#localghoststeps v] to [9]\n    switch costume to (blue v)\n    go to x: (-203) y: (-28)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [9]\n    switch costume to (red v)\n    go to x: (10) y: (-28)\n    create clone of (_myself_ v)\nend\nif <(Level) = [5]> then\n    set [#localghoststeps v] to [8]\n    switch costume to (blue v)\n    go to x: (34) y: (-114)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [6]\n    switch costume to (red v)\n    go to x: (34) y: (-60)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [4]\n    switch costume to (orange v)\n    go to x: (34) y: (-6)\n    create clone of (_myself_ v)\nend\nif <(Level) = [6]> then\n    set [#localghoststeps v] to [13]\n    switch costume to (blue v)\n    go to x: (-133) y: (-157)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [18]\n    switch costume to (red v)\n    go to x: (-217) y: (-40)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [8]\n    switch costume to (orange v)\n    go to x: (-72) y: (47)\n    create clone of (_myself_ v)\nend\nif <(Level) = [7]> then\n    set [#localghoststeps v] to [5]\n    switch costume to (blue v)\n    go to x: (0) y: (-157)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [6]\n    switch costume to (red v)\n    go to x: (-61) y: (-80)\n    create clone of (_myself_ v)\n    set [#localghoststeps v] to [20]\n    switch costume to (orange v)\n    go to x: (-212) y: (-53)\n    create clone of (_myself_ v)\nend\nif <(Level) = [8]> then\n    set [#localghoststeps v] to [10]\n    switch costume to (red v)\n    go to x: (-105) y: (-157)\n    create clone of (_myself_ v)\n    go to x: (-235) y: (-20)\n    set [#localghoststeps v] to [5]\n    switch costume to (blue v)\n    create clone of (_myself_ v)\n    go to x: (130) y: (-20)\n    set [#localghoststeps v] to [5]\n    switch costume to (pink v)\n    create clone of (_myself_ v)\nend\nif <(Level) = [9]> then\n    set [#localghoststeps v] to [10]\n    switch costume to (orange v)\n    go to x: (-105) y: (-157)\n    create clone of (_myself_ v)\n    go to x: (-105) y: (-70)\n    set [#localghoststeps v] to [10]\n    switch costume to (blue v)\n    create clone of (_myself_ v)\nend\nif <(Level) = [10]> then\n    go to x: (-105) y: (-157)\n    set [#localghoststeps v] to [16]\n    switch costume to (blue v)\n    create clone of (_myself_ v)\n    go to x: (-204) y: (87)\n    set [#localghoststeps v] to [8]\n    switch costume to (orange v)\n    create clone of (_myself_ v)\n    go to x: (20) y: (87)\n    set [#localghoststeps v] to [8]\n    switch costume to (pink v)\n    create clone of (_myself_ v)\n    go to x: (-40) y: (-110)\n    set [#localghoststeps v] to [4]\n    switch costume to (red v)\n    create clone of (_myself_ v)\nend\n\nset [#localghoststeps v] to [2]\nswitch costume to (pink v)\ngo to x: (34) y: (48)\ncreate clone of (_myself_ v)\n\nbroadcast (LevelUp v)\n\nwhen I receive [start v]\nPositioning\n\nswitch costume to (blue2 v)\n\nchange x by (10)\n\nset [#ghostdelayspeed v] to [0.4]\n\ngo to x: (34) y: (-114)\n\ncreate clone of (_myself_ v)\ngo to x: (-65) y: (-117)\n\ngo to x: (32) y: (-60)\n\ngo to x: (34) y: (-114)\n\ngo to x: (34) y: (-114)\n\nset [#localghoststeps v] to [2]\nswitch costume to (pink v)\ngo to x: (34) y: (48)\ncreate clone of (_myself_ v)\n\ngo to x: (-61) y: (-80)\n\ngo to x: (-212) y: (-53)\n\nset [#localghoststeps v] to [13]\nswitch costume to (orange v)\ngo to x: (-143) y: (-5)\ncreate clone of (_myself_ v)\n\ngo to x: (-105) y: (-157)\n\ngo to x: (-105) y: (80)\nset [#localghoststeps v] to [10]\nswitch costume to (red v)\ncreate clone of (_myself_ v)\n\ngo to x: (80) y: (-95)\nset [#localghoststeps v] to [7]\nswitch costume to (pink v)\ncreate clone of (_myself_ v)\n\ngo to x: (-65) y: (-117)\n\ngo to x: (-221) y: (-118)\n\ngo to x: (-177) y: (-31)\n\ngo to x: (-177) y: (-31)\ngo to x: (-173) y: (-28)\n\n@Joystick\n\nwhen I receive [start v]\nwait (0.1) seconds\ngo to x: (162) y: (-102)\nbroadcast (JoyMouseSenseDown v)\nforever\n    if <mouse down?> then\n        point towards (mouse-pointer v)\n        if <<(direction) > [-23]> and <(direction) < [23]>> then\n            switch costume to (n v)\n            if <(ControlOnGround) = [Yes]> then\n                set [yvelocity v] to [5.5]\n            end\n        end\n        if <<(direction) > [-68]> and <(direction) < [-23]>> then\n            switch costume to (nw v)\n            change [xvelocity v] by (-1.5)\n            if <(ControlOnGround) = [Yes]> then\n                set [yvelocity v] to [5.5]\n            end\n        end\n        if <<(direction) > [-125]> and <(direction) < [-68]>> then\n            switch costume to (w v)\n            change [xvelocity v] by (-1.5)\n        end\n        if <<(direction) > [23]> and <(direction) < [68]>> then\n            switch costume to (ne v)\n            change [xvelocity v] by (1.5)\n            if <(ControlOnGround) = [Yes]> then\n                set [yvelocity v] to [5.5]\n            end\n        end\n        if <<(direction) > [68]> and <(direction) < [125]>> then\n            change [xvelocity v] by (1.5)\n            switch costume to (e v)\n        end\n    end\nend\n\nhide\n\nwhen I receive [joymousesensedown v]\nclear graphic effects\nforever\n    if <mouse down?> then\n        show\n        go to [front v] layer\n        set [ghost v] effect to (50)\n        set [joyshowcounter v] to [0]\n    else\n        change [joyshowcounter v] by (1)\n        if <(JoyShowCounter) > [25]> then\n            switch costume to (neutral v)\n        end\n        if <(JoyShowCounter) > [50]> then\n            hide\n        end\n    end\nend\n\nwait (0.1) seconds\n\n@Head\n\nwhen I receive [levelup v]\nshow\n\nif <(Level) < [6]> then\n    set size to (10) %\nelse\n    set size to (7) %\nend\n\nwhen I receive [scorelevelup v]\nhide\n\nwhen I receive [nexthead v]\nnext costume\ngo to [front v] layer\n\nwhen I receive [lasthead v]\nswitch costume to ((costume [number v]) - (1))\ngo to [front v] layer\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\npoint in direction (90)\nswitch costume to (bandana v)\n\nwhen I receive [shoemeoptions v]\nclear graphic effects\nset size to (80) %\nwait (0.5) seconds\nset [ghost v] effect to (100)\nshow\nrepeat (20)\n    change [ghost v] effect by (-5)\n    go to [front v] layer\nend\nrepeat (3)\n    wait (0.1) seconds\n    go to [front v] layer\nend\n\nwhen I receive [start v]\nset size to (10) %\nstop [other scripts in sprite v]\nshow\nforever\n    go to [front v] layer\n    go to (controlcharacter v)\n    if <(XVelocity) > [0]> then\n        point in direction (90)\n    end\n    if <(XVelocity) < [0]> then\n        point in direction (-90)\n    end\nend\n\nwhen I receive [random v]\nrepeat (pick random (5) to (15))\n    wait (0.1) seconds\n    next costume\nend\n\npoint in direction (90)\n\n@Eyes\n\nwhen I receive [levelup v]\nshow\n\nif <(Level) < [6]> then\n    set size to (10) %\nelse\n    set size to (7) %\nend\n\nwhen I receive [scorelevelup v]\nhide\n\nwhen I receive [random v]\nrepeat (pick random (5) to (15))\n    wait (0.1) seconds\n    next costume\nend\n\nwhen I receive [nexteyes v]\ngo to [front v] layer\nclear graphic effects\nnext costume\n\nwhen I receive [lasteyes v]\ngo to [front v] layer\nswitch costume to ((costume [number v]) - (1))\nclear graphic effects\n\nwhen flag clicked\nhide\nset size to (80) %\ngo to x: (0) y: (0)\npoint in direction (90)\nswitch costume to (eyes3 v)\n\nwhen I receive [shoemeoptions v]\nclear graphic effects\nwait (0.6) seconds\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\nrepeat (20)\n    change [ghost v] effect by (-5)\n    go to [front v] layer\nend\n\nwhen I receive [start v]\nset size to (10) %\nstop [other scripts in sprite v]\nshow\nforever\n    go to (controlcharacter v)\n    go to [front v] layer\n    if <(XVelocity) > [0]> then\n        point in direction (90)\n    end\n    if <(XVelocity) < [0]> then\n        point in direction (-90)\n    end\nend\n\n@Body\n\nwhen I receive [levelup v]\n\nif <(Level) < [6]> then\n    set size to (10) %\nelse\n    set size to (7) %\nend\n\nwhen I receive [levelup v]\nshow\n\nwhen I receive [scorelevelup v]\nhide\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nbroadcast (ScoreDoubler v)\nwait (3) seconds\nforever\n    say [Hi.] for (2) seconds\n    say [If you liked the game] for (5) seconds\n    say [Please Love, Fav and Follow!] for (5) seconds\nend\n\nwhen I receive [random v]\nrepeat (pick random (5) to (15))\n    wait (0.1) seconds\n    next costume\nend\n\nwhen I receive [nextbody v]\nnext costume\n\nwhen I receive [lastbody v]\nswitch costume to ((costume [number v]) - (1))\ngo to [front v] layer\ngo [backward v] (3) layers\nclear graphic effects\n\nwhen flag clicked\nhide\nset size to (80) %\npoint in direction (90)\ngo to x: (0) y: (0)\nswitch costume to (1 v)\n\nswitch costume to (7 v)\n\nwhen I receive [shoemeoptions v]\nshow\nclear graphic effects\nwait (0.5) seconds\ngo to [front v] layer\ngo [backward v] (3) layers\nclear graphic effects\nrepeat (15)\n    change [ghost v] effect by (-5)\nend\ngo to [front v] layer\ngo [backward v] (1) layers\nclear graphic effects\n\nwhen I receive [start v]\nset size to (10) %\nstop [other scripts in sprite v]\nbroadcast (TwitchFace v)\nshow\nforever\n    go to [front v] layer\n    go [backward v] (3) layers\n    go to (controlcharacter v)\n    if <(XVelocity) > [0]> then\n        point in direction (90)\n    end\n    if <(XVelocity) < [0]> then\n        point in direction (-90)\n    end\nend\n\nwhen I receive [scoredoubler v]\n\nclear graphic effects\n\ngo to [back v] layer\ngo [forward v] (1) layers\n\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\n\nbroadcast (#ReleaseTheFruit v)\n\nwhen I receive [twitchface v]\nforever\n    wait ((#ghostdelayspeed) / (2)) seconds\n    next costume\n    next costume\n    next costume\n    next costume\n    next costume\n    next costume\nend\n\nswitch costume to (12 v)\n\nif <(XVelocity) = [0.5]> then\n\nrepeat (6)\n    next costume\nend\n\nwait until <<touching (mouse-pointer v)?> and <mouse down?>>\nset [score v] to ((Score) + (Score))\nsay [AWESOME SCORE!!!] for (2) seconds\n\n@Score\n\nwhen I start as a clone\nshow\nforever\n    switch costume to (10 v)\n    switch costume to (letter ((length of (Score)) - (Numeral)) of (Score))\n    go to [front v] layer\nend\n\nwhen I receive [start v]\nFaster\n\nwait (0.5) seconds\n\nforever\n\ndefine Faster\nhide\nswitch costume to (0 v)\nset [score v] to [0]\nset size to (150) %\ngo to x: (-100) y: (165)\nset [numeral v] to [0]\nrepeat (5)\n    wait (0) seconds\n    create clone of (_myself_ v)\n    change x by (-13)\n    change [numeral v] by (1)\nend\nswitch costume to (score v)\nshow\nset size to (120) %\nwait (1) seconds\ngo to [front v] layer\n\nchange [color v] effect by (25)\n\nclear graphic effects\n\n@TimerOnly\n\nwhen I receive [start v]\nbroadcast (Timer v)\n\nwhen I receive [levelup v]\nbroadcast (Timer v)\n\nwhen I receive [scorelevelup v]\nstop [other scripts in sprite v]\nrepeat until <(#FruitTimerSecondsLeft) = [0]>\n    wait (0) seconds\n    change [#fruittimersecondsleft v] by (-1)\n    change [score v] by (50)\n    if <(#FruitTimerSecondsLeft) > [0]> then\n        wait (0) seconds\n        change [#fruittimersecondsleft v] by (-1)\n        change [score v] by (50)\n    end\n    if <(#FruitTimerSecondsLeft) > [0]> then\n        wait (0) seconds\n        change [#fruittimersecondsleft v] by (-1)\n        change [score v] by (50)\n    end\n    if <(#FruitTimerSecondsLeft) > [0]> then\n        wait (0) seconds\n        change [#fruittimersecondsleft v] by (-1)\n        change [score v] by (50)\n    end\nend\n\nbroadcast (Timer v)\n\nwhen I receive [timer v]\nforever\n    go to [front v] layer\n    wait ((#ghostdelayspeed) * (2)) seconds\n    wait (0.1) seconds\n    if <(#FruitTimerSecondsLeft) = [0]> then\nend\n\nset size to (100) %\n\n@portal\n\nwhen flag clicked\nhide\nset size to (100) %\nwait (0.1) seconds\nbroadcast (PortalPositioning v)\nPlacePortal\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [portalpositioning v]\nshow\nset size to (100) %\nbroadcast (RedBananaShow v)\nforever\n    if <touching (controlcharacter v)?> then\n        if <(Level) = [10]> then\n            broadcast (gameover v)\n            stop [this script v]\n        end\n        if <(Mode) = [Normal]> then\n            hide\n            start sound [pacman_eatfruit v]\n            broadcast (ScoreLevelUp v) and wait\n            change [level v] by (1)\n            change [score v] by (1000)\n            broadcast (LevelUp v)\n            wait (1) seconds\n        end\n        if <<(Mode) = [Hard]> or <(Mode) = [Hardcore]>> then\n            if <(SmallDotsLeft) = [0]> then\n                hide\n                start sound [pacman_eatfruit v]\n                broadcast (ScoreLevelUp v) and wait\n                change [level v] by (1)\n                change [score v] by (1000)\n                broadcast (LevelUp v)\n                wait (1) seconds\n            else\n                think [Collect all the dots!]\n            end\n        end\n    end\nend\n\nshow\n\nwhen I receive [levelup v]\nPlacePortal\n\nwhen I receive [redbananashow v]\nset size to (100) %\nwait (1) seconds\nforever\n    repeat (2)\n        repeat (10)\n            change size by (2)\n        end\n        repeat (10)\n            change size by (-2)\n        end\n    end\n    wait (10) seconds\nend\n\nforever\n    next costume\nend\n\ngo to [front v] layer\n\ngo to x: (-52) y: (69)\n\ngo to x: (147) y: (-9)\n\ngo to x: (-52) y: (69)\n\ndefine PlacePortal\nshow\nif <(Level) = [1]> then\n    go to x: (147) y: (-9)\nend\nif <(Level) = [2]> then\n    go to x: (0) y: (9)\nend\nif <(Level) = [3]> then\n    go to x: (0) y: (35)\nend\nif <(Level) = [4]> then\n    go to x: (0) y: (37)\nend\nif <(Level) = [5]> then\n    go to x: (-52) y: (69)\nend\nif <(Level) = [6]> then\n    go to x: (196) y: (-52)\nend\nif <(Level) = [7]> then\n    go to x: (230) y: (-167)\nend\nif <(Level) = [8]> then\n    go to x: (0) y: (73)\nend\nif <(Level) = [9]> then\n    go to x: (0) y: (73)\nend\nif <(Level) = [10]> then\n    go to x: (0) y: (-123)\nend\n\ngo to x: (196) y: (-52)\n\ngo to x: (0) y: (73)\n\ngo to x: (147) y: (-9)\n\ngo to x: (0) y: (-123)\n\ngo to x: (0) y: (35)\n\nif <(Level) = [10]> then\n    go to x: (0) y: (-123)\nend\n\n@Sprite1\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nset [ghost v] effect to (99)\nshow\nforever\n    go to (controlcharacter v)\n    if <touching (platforms v)?> then\n        set [controlonground v] to [Yes]\n    else\n        set [controlonground v] to [No]\n    end\n    set size to (50) %\nend\n\nclear graphic effects\n\n@Layercake\n\nwhen flag clicked\nhide\nrepeat (100)\n    create clone of (_myself_ v)\n    go to [front v] layer\nend\n\n@SmallDots\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [levelup v]\nPositionSmallDots\n\nclear graphic effects\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to [back v] layer\nshow\nchange [smalldotsleft v] by (1)\nwait until <touching (controlcharacter v)?>\nchange [smalldotsleft v] by (-1)\nchange [smalldotscollectedthislevel v] by (1)\nchange [score v] by (100)\ndelete this clone\n\nif <(SmallDotsLeft) = [0]> then\n    broadcast (ShowBombDefect v)\nend\n\nset [smalldotsleft v] to [1]\ngo to x: (-103) y: (-75)\ncreate clone of (_myself_ v)\n\nwhen I receive [restartlevel v]\nPositionSmallDots\n\nwhen I receive [start v]\nPositionSmallDots\n\ndefine PositionSmallDots\nset [smalldotsleft v] to [0]\nset [smalldotscollectedthislevel v] to [0]\nif <(Level) > [0]> then\n    delete this clone\nend\nif <(Level) = [1]> then\n    go to x: (-164) y: (-157)\n    repeat (20)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-150) y: (-116)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-45) y: (-75)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (58) y: (-35)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\nend\nif <(Level) = [2]> then\n    go to x: (-164) y: (-157)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (30)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (60) y: (-116)\n    repeat (7)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-60) y: (-116)\n    repeat (7)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-201) y: (-79)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (201) y: (-79)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (150) y: (-40)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-150) y: (-40)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\nend\nif <(Level) = [3]> then\n    go to x: (-164) y: (-157)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (30)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (60) y: (-116)\n    repeat (7)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-60) y: (-116)\n    repeat (7)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-48) y: (-73)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-184) y: (57)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (184) y: (57)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-120) y: (-34)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (120) y: (-34)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\nend\nif <(Level) = [4]> then\n    go to x: (-174) y: (-118)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (20)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (174) y: (-118)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    change x by (-20)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-185) y: (-31)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (30)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (185) y: (-31)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    change x by (-30)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-227) y: (81)\n    create clone of (_myself_ v)\n    go to x: (227) y: (81)\n    create clone of (_myself_ v)\n    go to x: (-159) y: (57)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (159) y: (57)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\nend\nif <(Level) = [5]> then\n    go to x: (-164) y: (-157)\n    repeat (20)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (35) y: (-116)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-180) y: (-80)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (35) y: (-61)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-138) y: (-28)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (35) y: (-6)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-98) y: (35)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (35) y: (49)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\nend\nif <(Level) = [6]> then\n    go to x: (-159) y: (-160)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (20)\n    repeat (8)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-157) y: (-121)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-190) y: (-81)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-226) y: (-40)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (157) y: (-121)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (190) y: (-81)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\nend\nif <(Level) = [7]> then\n    go to x: (-159) y: (-160)\n    repeat (17)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-157) y: (-121)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (30)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (157) y: (-121)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    change x by (-30)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-229) y: (-56)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (229) y: (-56)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-178) y: (77)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (178) y: (77)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-46) y: (90)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\nend\nif <(Level) = [8]> then\n    go to x: (-159) y: (-160)\n    repeat (17)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-157) y: (-115)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (30)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (157) y: (-115)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    change x by (-30)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-233) y: (-25)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (233) y: (-25)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-205) y: (57)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (205) y: (57)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\nend\nif <(Level) = [9]> then\n    go to x: (-159) y: (-160)\n    repeat (19)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-157) y: (-115)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (26)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (157) y: (-115)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    change x by (-26)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-50) y: (-73)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-50) y: (11)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-174) y: (-36)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    change x by (40)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (174) y: (-36)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    change x by (-40)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-225) y: (43)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (225) y: (43)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\nend\nif <(Level) = [10]> then\n    go to x: (-159) y: (-160)\n    repeat (19)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (-199) y: (-53)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (199) y: (-53)\n    repeat (4)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-227) y: (-9)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (227) y: (-9)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-72) y: (28)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (72) y: (28)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-166) y: (86)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\n    go to x: (166) y: (86)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (-20)\n    end\n    go to x: (-49) y: (77)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (20)\n    end\nend\n\ngo to x: (-150) y: (-116)\n\nchange [score v] by (100)\ndelete this clone\n\ngo to x: (-45) y: (-75)\n\ngo to x: (58) y: (-35)\nrepeat (4)\n    create clone of (_myself_ v)\n    change x by (20)\nend\n\nrepeat (4)\n    create clone of (_myself_ v)\n    change x by (20)\nend\ngo to x: (-190) y: (-81)\nrepeat (4)\n    create clone of (_myself_ v)\n    change x by (20)\nend\ngo to x: (-226) y: (-40)\nrepeat (4)\n    create clone of (_myself_ v)\n    change x by (20)\nend\n\nchange x by (20)\n\ngo to x: (-226) y: (-40)\n\ngo to x: (157) y: (-121)\n\ngo to x: (-178) y: (77)\n\nchange x by (-40)\n\nchange x by (26)\n\nrepeat (3)\n    create clone of (_myself_ v)\n    change x by (-20)\nend\nchange x by (-26)\nrepeat (2)\n    create clone of (_myself_ v)\n    change x by (-20)\nend\ngo to x: (-50) y: (-73)\nrepeat (6)\n    create clone of (_myself_ v)\n    change x by (20)\nend\ngo to x: (-50) y: (11)\nrepeat (6)\n    create clone of (_myself_ v)\n    change x by (20)\nend\ngo to x: (-174) y: (-36)\nrepeat (2)\n    create clone of (_myself_ v)\n    change x by (20)\nend\nchange x by (40)\nrepeat (3)\n    create clone of (_myself_ v)\n    change x by (20)\nend\ngo to x: (174) y: (-36)\nrepeat (2)\n    create clone of (_myself_ v)\n    change x by (-20)\nend\nchange x by (-40)\nrepeat (3)\n    create clone of (_myself_ v)\n    change x by (-20)\nend\ngo to x: (-225) y: (43)\nrepeat (5)\n    create clone of (_myself_ v)\n    change x by (20)\nend\ngo to x: (225) y: (43)\nrepeat (5)\n    create clone of (_myself_ v)\n    change x by (-20)\nend\n\ngo to x: (227) y: (9)\n\ngo to x: (-150) y: (-116)\n\ngo to x: (-45) y: (-75)\nrepeat (6)\n    create clone of (_myself_ v)\n    change x by (20)\nend\ngo to x: (58) y: (-35)\nrepeat (4)\n    create clone of (_myself_ v)\n    change x by (20)\nend\n\nchange x by (30)\n\ngo to x: (40) y: (-116)\n\ngo to x: (150) y: (-40)\n\ngo to x: (-185) y: (-31)\n\nchange x by (20)\n\nchange x by (-20)\n\ngo to x: (-227) y: (81)\ncreate clone of (_myself_ v)\ngo to x: (227) y: (81)\ncreate clone of (_myself_ v)\n\n@NeewHigh\n\nwhen I receive [start v]\nFaster\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nforever\n    wait (1) seconds\n    switch costume to (10 v)\n    if <(Mode) = [Normal]> then\n        switch costume to (letter ((length of (☁ -NormalHighScore)) - (Numeral)) of (☁ -NormalHighScore))\n        if <(Score) > (☁ -NormalHighScore)> then\n            set [☁ -normalhighscore v] to (Score)\n        end\n    end\n    if <(Mode) = [Hard]> then\n        switch costume to (letter ((length of (☁ -HardHighScore)) - (Numeral)) of (☁ -HardHighScore))\n        if <(Score) > (☁ -HardHighScore)> then\n            set [☁ -hardhighscore v] to (Score)\n        end\n    end\n    if <(Mode) = [Hardcore]> then\n        switch costume to (letter ((length of (☁ -HardcoreHighScore)) - (Numeral)) of (☁ -HardcoreHighScore))\n        if <(Score) > (☁ -HardcoreHighScore)> then\n            set [☁ -hardcorehighscore v] to (Score)\n        end\n    end\nend\n\ndefine Faster\nhide\nswitch costume to (0 v)\nset size to (100) %\ngo to x: (50) y: (165)\nset [numeral v] to [0]\nrepeat (5)\n    wait (0) seconds\n    create clone of (_myself_ v)\n    change x by (-10)\n    change [numeral v] by (1)\nend\nswitch costume to (high v)\nshow\nset size to (90) %\nwait (1) seconds\ngo to [front v] layer\n\n@NewTimer\n\nwhen I receive [levelup v]\nset [#fruittimersecondsleft v] to [100]\n\nwhen I receive [restartlevel v]\nset [#fruittimersecondsleft v] to [100]\n\nwhen I start as a clone\nshow\nforever\n    switch costume to (0 v)\n    switch costume to (letter ((length of (#FruitTimerSecondsLeft)) - (Numeral)) of (#FruitTimerSecondsLeft))\n    go to [front v] layer\n    if <(#FruitTimerSecondsLeft) = [0]> then\n        hide\n    else\n        if <(#FruitTimerSecondsLeft) > [0]> then\n            show\n        end\n    end\nend\n\nwhen I receive [redbananashow v]\n\nwhen I receive [start v]\nset [#fruittimersecondsleft v] to [100]\nhide\nswitch costume to (0 v)\nwait (0.5) seconds\nset [score v] to [0]\nset size to (160) %\ngo to x: (215) y: (165)\nset [numeral v] to [0]\nrepeat (2)\n    wait (0) seconds\n    create clone of (_myself_ v)\n    change x by (-18)\n    change [numeral v] by (1)\nend\nswitch costume to (zerothingy v)\nchange x by (-4)\nshow\nset size to (160) %\n\nforever\n\nchange [color v] effect by (25)\n\n@Level\n\nwhen I start as a clone\n\nwhen I receive [start v]\nset y to (165)\nshow\nforever\n    switch costume to (Level)\nend\n\nwhen this sprite clicked\nif <(Level) = [10]> then\n    broadcast (gameover v)\n    stop [this script v]\nend\nif <(Level) < [10]> then\n    change [level v] by (1)\n    broadcast (LevelUp v)\n    stop [this script v]\nend\n\n@BLAG!\n\nwhen flag clicked\nhide\n\nwhen I receive [gameover v]\nclear graphic effects\ngo to x: (0) y: (-150)\ngo to [front v] layer\nset size to (0) %\nwait (1) seconds\nshow\nrepeat (95)\n    change size by (1)\nend\nforever\n    repeat (10)\n        change size by (1)\n        change [color v] effect by (5)\n    end\n    repeat (10)\n        change size by (-1)\n        change [color v] effect by (5)\n    end\nend\n\n
Super Mario Maker 4 has been released, play it here:\nhttps://scratch.mit.edu/projects/753049043\nControls:   Building: Movement  -  WASD / Arrows + Z \n      Erase / Place mode switch - E   Place Block - Click\n      Change Block - Scroll Wheel / Click the Icon\n                 Play Test / Build mode switch - Space\nPlaying: Movement - Arrows   Run / Pick up Shell / \n      Throw Fireball - (Hold)  Z     Jump - X / Up Arrow\n      Use Pipe (When connected) - Down Arrow\n\nPlay the Pipes level on the main menu and enter edit mode by clicking space to see how to use pipe transport.\n\nWhat to do: You can make a level and share the code, or find a level code to play someone else's level, in the forum topic in Notes.\n\nDon't complain about slightly long loading times. What would you prefer me do, make an empty game just so you can load it quickly?