BACK TO SCHOOL - A MOBILE-FRIENDLY PLATFORMER #GAMES #ALL

Instructions: New Halloween Platformer!  I'd check it out if I were you!\nhttps://scratch.mit.edu/projects/581760339/\n-----------------------------------------------------------------\n\nArrow Keys, WASD, or Mobile (Only With Premiere Package)\n\nThis game will make you rage.  A lot.  But that's kind of what it's all about!\n\nTell me if you're looking forward to school starting!  I'd love to know!  Also, if you like this, please love and favorite!  I'm going to have a tutorial coming out about this soon...\n\nCan we get this on most loves?  I would really love to...  XD I'll bet this game will make you rage more than reading that bad joke.

@Stage\n\nwhen flag clicked\nbroadcast (\[INTRO\] START v)\nshow list [followers v]\n\ndefine ADD (username) to (level)\nif <(level) = [1]> then\n    set [☁ followers v] to (join (☁ followers) (username))\nelse\n    if <(level) = [2]> then\n        set [☁ 2 v] to (join (☁ 2) (username))\n    else\n        if <(level) = [3]> then\n            set [☁ 3 v] to (join (☁ 3) (username))\n        else\n            if <(level) = [4]> then\n                set [☁ 4 v] to (join (☁ 4) (username))\n            else\n                if <(level) = [5]> then\n                    set [☁ 5 v] to (join (☁ 5) (username))\n                else\n                    if <(level) = [6]> then\n                        set [☁ 6 v] to (join (☁ 6) (username))\n                    else\n                        if <(level) = [7]> then\n                            set [☁ 7 v] to (join (☁ 7) (username))\n                        else\n                            if <(level) = [8]> then\n                                set [☁ 8 v] to (join (☁ 8) (username))\n                            else\n                                if <(level) = [9]> then\n                                    set [☁ 9 v] to (join (☁ 9) (username))\n                                else\n                                    if <(level) = [10]> then\n                                        set [☁ 10 v] to (join (☁ 10) (username))\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [nextlevel v]\nif <[followers v] contains (username)?> then\n    ADD (username in code) to (level)\nend\n\nwhen flag clicked\nEncode (username)\nbroadcast (It Depends v)\n\ndefine Encode (username)\nset [username in code v] to []\nset [item v] to [0]\nrepeat (length of (username))\n    change [item v] by (1)\n    set [username in code v] to (join (username in code) (item # of (letter (item) of (username)) in [characters v]))\nend\nset [username in code v] to (join (username in code) [00])\n\ndefine CHECK (username)\nif <[followers v] contains (username)?> then\n    if < (☁ 10) contains (username)?> then\n        set [level v] to [10]\n    else\n        if < (☁ 9) contains (username)?> then\n            set [level v] to [9]\n        else\n            if < (☁ 8) contains (username)?> then\n                set [level v] to [8]\n            else\n                if < (☁ 7) contains (username)?> then\n                    set [level v] to [7]\n                else\n                    if < (☁ 6) contains (username)?> then\n                        set [level v] to [6]\n                    else\n                        if < (☁ 5) contains (username)?> then\n                            set [level v] to [5]\n                        else\n                            if < (☁ 4) contains (username)?> then\n                                set [level v] to [4]\n                            else\n                                if < (☁ 3) contains (username)?> then\n                                    set [level v] to [3]\n                                else\n                                    if < (☁ 2) contains (username)?> then\n                                        set [level v] to [2]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine Fill Out List\n\ndelete all of [followers v]\nset [current follower username v] to []\nset [item2 v] to [-1]\nrepeat ((length of (☁ followers)) / (2))\n    change [item2 v] by (2)\n    if <(join (letter (item2) of (☁ followers)) (letter ((item2) + (1)) of (☁ followers))) = [00]> then\n        add (current follower username) to [followers v]\n        set [current follower username v] to []\n    else\n        set [current follower username v] to (join (current follower username) (item (join (letter (item2) of (☁ followers)) (letter ((item2) + (1)) of (☁ followers))) of [characters v]))\n    end\nend\n\ndefine CHECK FOR RGANTZOS\n\nif <(username) = [rgantzos]> then\n    Fill Out List\n    hide list [followers v]\n    ask [Who would you like to add?] and wait\n    if <not <[] = (answer)>> then\n        if < (answer) contains [/]?> then\n            DELETE FOLLOWER (answer)\n        else\n            set [old username in code v] to (username in code)\n            Encode (answer)\n            set [☁ followers v] to (join (☁ followers) (username in code))\n            set [username in code v] to (old username in code)\n        end\n    end\n    show list [followers v]\nend\n\nwhen I receive [resume v]\nif <[followers v] contains (username)?> then\n    CHECK (username in code)\nend\n\ndefine DELETE FOLLOWER (number in list)\nset [code v] to []\nset [delete item v] to [1]\nrepeat ((length of (number in list)) - (1))\n    change [delete item v] by (1)\n    set [code v] to (join (code) (letter (delete item) of (number in list)))\nend\ndelete (code) of [followers v]\nset [☁ followers v] to []\nset [delete item v] to [0]\nrepeat (length of [followers v])\n    change [delete item v] by (1)\n    Encode (item (delete item) of [followers v])\n    set [☁ followers v] to (join (☁ followers) (username in code))\nend\nFill Out List\n\nwhen I receive [audio off v]\nset volume to (0) %\n\nwhen I receive [audio on v]\nset volume to (100) %\n\nwhen I receive [\[intro\] closing v]\nforever\n    play sound [music v] until done\nend\n\n@character\n\nwhen I receive [nextlevel v]\ngo to x: (-190) y: (-30)\nchange [level v] by (1)\nshow\n\ndefine PING\nchange y by (y)\nif <touching (ground v)?> then\n    change y by ((y) * (-1))\n    set [y v] to [0]\n    set [jump v] to [0]\nend\nchange x by (x)\nif <touching (ground v)?> then\n    change x by ((x) * (-1))\n    set [x v] to [0]\nend\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n    if <not <touching (ground v)?>> then\n        if <[-6] < (x)> then\n            change [x v] by (-0.5)\n        end\n    end\nend\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n    if <not <touching (ground v)?>> then\n        if <(x) < [6]> then\n            change [x v] by (0.5)\n        end\n    end\nend\nif <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> then\n    if <(jump) = [0]> then\n        set [jump v] to [1]\n        set [y v] to [13]\n    end\nend\nif <not <<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> or <<key (d v) pressed?> or <<key (a v) pressed?> or <mouse down?>>>>> then\n    set [x v] to ((x) * (0.75))\nend\nif <(jump) = [1]> then\n    change [y v] by (-0.75)\nend\nif <(jump) = [0]> then\n    if <not <touching (ground v)?>> then\n        set [jump v] to [1]\n    end\nend\n\nwhen flag clicked\nswitch costume to (pick random (1) to (5))\nadd (username) to [followers v]\nset [movable? v] to [0]\nset [fall v] to [0]\nset [jump v] to [0]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\n\nwhen flag clicked\nset [movable? v] to [0]\nset [level v] to [1]\nforever\n    if <touching (dangerous v)?> then\n        go to x: (-190) y: (-30)\n    end\nend\n\nwhen I receive [\[intro\] closing v]\ngo to x: (-190) y: (-30)\nforever\n    PING\nend\n\n@ground\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    show\n    switch costume to (level)\nend\n\nwhen flag clicked\nforever\n    if <[rgantzos] = (username)> then\n        if <key (1 v) pressed?> then\n            change [level v] by (-1)\n        end\n        if <key (2 v) pressed?> then\n            change [level v] by (1)\n        end\n        wait until <not <key (any v) pressed?>>\n    end\nend\n\n@end\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\n    show\nend\n\nwhen flag clicked\nforever\n    wait until <touching (character v)?>\n    if <not <(level) = [10]>> then\n        broadcast (nextLevel v)\n    end\n    wait until <not <touching (character v)?>>\nend\n\n@thumbnail\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\n    show\n    go to [front v] layer\n    go to x: (0) y: (0)\nend\n\n@dangerous\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    show\n    switch costume to (level)\nend\n\n@message\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nswitch costume to (costume3 v)\nshow\n\nwait (0.1) seconds\nwait until <key (space v) pressed?>\nwait until <not <key (space v) pressed?>>\nnext costume\nwait until <key (space v) pressed?>\nwait until <not <key (space v) pressed?>>\nnext costume\nhide\n\n@skip\n\nwhen flag clicked\nforever\n    if <<[followers v] contains (username)?> and <(level) < [10]>> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        switch costume to (costume2 v)\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen this sprite clicked\nbroadcast (nextLevel v)\n\nwhen flag clicked\nforever\n    if <(level) = [10]> then\n        hide\n    end\nend\n\n@Rain\n\nwhen flag clicked\ngo to x: (0) y: (192)\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nset [layer v] to (pick random (0) to (5))\ngo to [back v] layer\ngo [forward v] (layer) layers\nset x to (pick random (-240) to (240))\nset [ghost v] effect to ((layer) * (5))\nshow\nrepeat until <(y position) < [-150]>\n    change y by (((layer) + (1)) * (-3))\nend\ndelete this clone\n\n@volume\n\nwhen flag clicked\nswitch costume to (costume1 v)\nbroadcast (AUDIO ON v)\nshow\nforever\n    wait until <<mouse down?> and <touching (mouse-pointer v)?>>\n    wait until <not <mouse down?>>\n    broadcast (AUDIO OFF v)\n    set volume to (0) %\n    next costume\n    wait until <<mouse down?> and <touching (mouse-pointer v)?>>\n    wait until <not <mouse down?>>\n    broadcast (AUDIO ON v)\n    set volume to (150) %\n    next costume\nend\n\n@Intro by rgantzosFX\n\ndefine CREATE CLONE OF (costume)\nset [costume v] to (costume [name v])\nswitch costume to (costume)\ncreate clone of (_myself_ v)\nswitch costume to (costume)\n\nwhen I start as a clone\nif <(costume [name v]) = [Grid]> then\n    if <(cloneID) = [0]> then\n        set [cloneid v] to [1]\n        go to [front v] layer\n        go to x: (0) y: (0)\n        show\n        forever\n            create clone of (_myself_ v)\n            turn right (2) degrees\n        end\n    else\n        show\n        change y by (5)\n        change x by (5)\n        set [brightness v] effect to (-20)\n        set [ghost v] effect to (80)\n        wait (0.05) seconds\n        delete this clone\n    end\nend\nif <(costume [name v]) = [Line1]> then\n    if <(cloneID) = [0]> then\n        hide\n        set [cloneid v] to [1]\n        go to [front v] layer\n        wait (0.000001) seconds\n        show\n        repeat (5)\n            wait (0.01) seconds\n            next costume\n        end\n        delete this clone\n    else\n        show\n        change y by (5)\n        change x by (5)\n        set [brightness v] effect to (-20)\n        set [ghost v] effect to (80)\n        wait (0.05) seconds\n        delete this clone\n    end\nend\nif <(costume [name v]) = [Circle]> then\n    if <(cloneID) = [0]> then\n        set [cloneid v] to [1]\n        hide\n        go to [front v] layer\n        wait (0.000001) seconds\n        show\n        repeat until <[180] < (y position)>\n            change [ghost v] effect by (0.1)\n            change y by (pick random (3) to (6))\n            create clone of (_myself_ v)\n        end\n        repeat (25)\n            change [ghost v] effect by (4)\n            change y by (pick random (3) to (6))\n            create clone of (_myself_ v)\n        end\n        delete this clone\n    else\n        show\n        change y by (5)\n        change x by (5)\n        set [brightness v] effect to (-20)\n        set [ghost v] effect to (80)\n        wait (0.05) seconds\n        delete this clone\n    end\nend\nif <(costume [name v]) = [Logo]> then\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    go to [front v] layer\n    show\n    go to x: (0) y: (0)\nend\nif <(costume [name v]) = [Circle1]> then\n    hide\n    go to [front v] layer\n    wait (0.000001) seconds\n    wait ([abs v] of (((direction) - (45)) / (1000)) ) seconds\n    show\n    repeat (5)\n        go to [front v] layer\n        wait (0.01) seconds\n        move (5) steps\n        next costume\n    end\n    delete this clone\nend\nif <(costume [name v]) = [Start]> then\n    go to [front v] layer\n    repeat (50)\n        change [ghost v] effect by (-2)\n    end\n    wait (2) seconds\n    delete this clone\nend\nif <(costume [name v]) = [Diamond]> then\n    hide\n    go to [front v] layer\n    wait (0.001) seconds\n    show\n    repeat (25)\n        SIZE BY ((size) * (0.05))\n        change [ghost v] effect by (4)\n    end\n    delete this clone\nend\nif <(costume [name v]) = [Blank]> then\n    repeat until <[8] < (timer)>\n        wait (0.5) seconds\n        BUBBLE\n    end\nend\nif <(costume [name v]) = [Dot]> then\n    hide\n    go to x: (0) y: (0)\n    go to [front v] layer\n    wait (0.00001) seconds\n    show\n    set size to (200) %\n    clear graphic effects\n    set [velocity v] to [5]\n    repeat (20)\n        change [ghost v] effect by (5)\n        change size by (-3)\n        change [velocity v] by (-0.2)\n        turn right (velocity) degrees\n    end\n    delete this clone\nend\nif <(costume [name v]) = [Loop1]> then\n    go to x: (0) y: (0)\n    hide\n    go to [front v] layer\n    wait (0.000001) seconds\n    show\n    repeat (5)\n        change size by (10)\n        go to [front v] layer\n        wait (0.01) seconds\n        next costume\n    end\n    delete this clone\nend\nif <(costume [name v]) = [Black]> then\n    if <(direction) = [90]> then\n        go to x: (0) y: (999)\n    else\n        go to x: (0) y: (-999)\n    end\n    hide\n    wait (2) seconds\n    go to [front v] layer\n    show\n    repeat (15)\n        set y to ((y position) * (0.99))\n        go to [front v] layer\n    end\n    forever\n        go to [front v] layer\n    end\nend\n\ndefine MINI EXPLOSION AT (x) (y) (type) (amount)\ngo to [front v] layer\nset [costume v] to (costume [name v])\nif <(type) = [1]> then\n    switch costume to (line1 v)\n    point in direction (90)\nelse\n    switch costume to (circle1 v)\n    point in direction (45)\nend\nset size to (100) %\ngo to x: (x) y: (y)\nrepeat (amount)\n    create clone of (_myself_ v)\n    turn right ((360) / (amount)) degrees\nend\npoint in direction (90)\nswitch costume to (costume)\n\ndefine BUBBLE\nswitch costume to (circle v)\nset size to (pick random (60) to (100)) %\nset x to (pick random (-267) to (267))\nset y to (-1000)\ncreate clone of (_myself_ v)\n\ndefine CIRCLE\nshow\nswitch costume to (start v)\npoint in direction (91)\nset [ghost v] effect to (100)\nrepeat (100)\n    change [ghost v] effect by (-1)\n    turn right (([abs v] of ((direction) - (90)) ) * (0.09)) degrees\n    create clone of (_myself_ v)\nend\npoint in direction (90)\n\nwhen flag clicked\nhide\n\nwhen I receive [\[intro\] start v]\nset [color v] to (pick random (0) to (1000))\nclear graphic effects\nCREATE CLONE OF [Blank1]\nreset timer\nstart sound [Music v]\nset size to (100) %\ngo to x: (0) y: (0)\nCIRCLE\nBLACK\nset [cloneid v] to [0]\nshow\nCREATE CLONE OF [BG]\ngo to [front v] layer\nswitch costume to (blank v)\nset size to (150) %\nhide\nCREATE CLONE OF [Grid]\nCREATE CLONE OF [Logo]\nCREATE CLONE OF [Blank]\n\nwhen I receive [\[intro\] start v]\nwait until <[4] < (timer)>\nMINI EXPLOSION AT [0] [0] [2] [4]\nCREATE CLONE OF [Loop1]\nwait until <[5.147] < (timer)>\nbroadcast (\[INTRO\] SHAKE v)\nMINI EXPLOSION AT [0] [0] [1] [8]\nCREATE CLONE OF [Loop1]\nwait until <[5.94] < (timer)>\nbroadcast (\[INTRO\] SHAKE v)\nMINI EXPLOSION AT [0] [0] [1] [4]\nCREATE CLONE OF [Loop1]\nwait until <[6.732] < (timer)>\nMINI EXPLOSION AT [0] [0] [1] [8]\nCREATE CLONE OF [Loop1]\nbroadcast (\[INTRO\] SPIN v)\nwait until <[7.3] < (timer)>\nMINI EXPLOSION AT [0] [0] [2] [4]\nCREATE CLONE OF [Loop1]\nbroadcast (\[INTRO\] SPIN v)\nwait until <[8.249] < (timer)>\nMINI EXPLOSION AT [0] [0] [1] [16]\nCREATE CLONE OF [Loop1]\nbroadcast (\[INTRO\] SPIN v)\nwait until <[9.2] < (timer)>\nCREATE CLONE OF [Loop1]\nMINI EXPLOSION AT [0] [0] [2] [4]\nbroadcast (\[INTRO\] SPIN v)\nMINI EXPLOSION AT [-150] [100] [1] [8]\nMINI EXPLOSION AT [-150] [-100] [1] [8]\nMINI EXPLOSION AT [150] [100] [1] [8]\nMINI EXPLOSION AT [150] [-100] [1] [8]\nbroadcast (\[INTRO\] CLOSING v)\n\nwhen I receive [\[intro\] start v]\nwait (3) seconds\nrepeat until <[8] < (timer)>\n    point in direction (90)\n    go to x: (0) y: (0)\n    wait (1) seconds\n    CREATE CLONE OF [Diamond]\nend\n\ndefine SIZE BY (amount)\nset [costume v] to (costume [name v])\nswitch costume to (blank v)\nchange size by (amount)\nswitch costume to (costume)\n\nwhen I receive [\[intro\] spin v]\nif <<(costume [name v]) = [Logo]> or <(costume [name v]) = [Diamond]>> then\n    point in direction (91)\n    repeat (50)\n        turn right (([abs v] of ((direction) - (90)) ) * (0.4)) degrees\n    end\n    point in direction (90)\nend\n\nwhen I receive [\[intro\] closing v]\nif <(costume [name v]) = [BG]> then\n    wait (1) seconds\n    repeat (25)\n        change [ghost v] effect by (4)\n    end\nelse\n    repeat (25)\n        change [ghost v] effect by (4)\n    end\nend\ndelete this clone\n\ndefine CIRCLES\nif <(costume [name v]) = [Blank1]> then\n    point in direction (90)\n    repeat (8)\n        turn right (45) degrees\n        CREATE CLONE OF [Dot]\n    end\nend\n\nwhen I receive [\[intro\] spin v]\nCIRCLES\n\nwhen I receive [\[intro\] shake v]\nif <not <(costume [name v]) = [Black]>> then\n    repeat (5)\n        SIZE BY [4]\n        turn right (2) degrees\n    end\n    repeat (5)\n        SIZE BY [-8]\n        turn left (4) degrees\n    end\n    repeat (5)\n        SIZE BY [4]\n        turn right (2) degrees\n    end\nend\n\nwhen I start as a clone\nforever\n    if <<<(costume [name v]) = [BG]> or <(costume [name v]) = [Logo]>> or <<(costume [name v]) = [Diamond]> or <<(costume [name v]) = [Start]> or <(costume [name v]) = [Grid]>>>> then\n        set [color v] effect to (color)\n    end\nend\n\ndefine BLACK\nswitch costume to (black v)\npoint in direction (90)\nrepeat (2)\n    turn right (180) degrees\n    create clone of (_myself_ v)\nend\n\n@Intro Background\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [\[intro\] closing v]\nhide\n\n@Button2\n\nwhen I receive [\[intro\] closing v]\nforever\n    show\n    switch costume to (button2-a v)\n    set [ghost v] effect to (100)\n    go to x: (150) y: (999)\n    set [ad velocity v] to [-10]\n    repeat (10)\n        change y by (ad velocity)\n        change [ghost v] effect by (-10)\n        change [ad velocity v] by (1)\n    end\n    wait (3) seconds\n    next costume\n    wait (3) seconds\n    repeat (10)\n        change y by (ad velocity)\n        change [ghost v] effect by (10)\n        change [ad velocity v] by (1)\n    end\n    hide\n    wait (6) seconds\nend\n\nwhen flag clicked\nhide\n\n