~Floating Islands~ A Scrolling Platformer                       #games

Instructions: PLEASE CHECK OUT MY NEW MULTIPLAYER GAME: \nhttps://scratch.mit.edu/projects/413691339/\n\nNOTE: This is a game that I made to be entered in @corpcooga's 1k follower platformer contest. I know they said that I could enter a project that was already made, but I really wanted to make a special one! I don't think I'll win, but I hope so! Now, onto my normal instructions:\n\nEDIT: Lol I lost xD\n\nHello! Welcome to my new game, ~Floating Islands~!\n\nUse the arrow keys, WASD, or mobile controls to move. Collect all the coins to finish each level, and don't hit the spikes!\n\nPlease be kind and respectful in the comments!! If there is a glitch, please point it out nicely, thanks! :D\n\nDon't forget to love, fave, and follow!!\nHave an awesome day!\nLove,\nTropicalCoder13\n\n\n\nTAGS (I forgot them haha):\n#scrolling #platformer #Scrollingplatformer #floating #islands #floatingislands #TropicalCoder13 #mobile #mobilefriendly #games #StratfordJames #griffpatch #pixelgru #can #we #get #this #trending #play #this #game #player #platforms #movingclouds #clouds #island #me #code #coding #coorpcooga #entry #contest #contestentry #what #else #to #tag #haha\n\n                                   Timeline:\n\nJuly 12th, 2020 (release): @-Diamondfox- loved AND faved!! @---diamond pearl--- loved AND faved!! @red_sweatshirt loved! Reached 40 loves by the end of the day.\n\nJuly 13th, 2020: reached 50 loves/faves!!\n\nJuly 14th, 2020: #20 on trending games!? Thanks!!\n\nJuly 15th: reached 100 loves/faves, and got higher on trending! \n\nJuly 16th: reached 150 loves/faves!!\n\n\n

@Stage\n\nwhen flag clicked\nforever\n    if <<(username) = [TropicalCoder13]> and <key (m v) pressed?>> then\n        set [mouse v] to (join ((mouse x) + (SCROLL X)) (join [,] ((mouse y) + ())))\n        show variable [mouse v]\n    end\nend\n\nwhen flag clicked\nforever\n    play sound [Inferno v] until done\nend\n\n@Player\n\ndefine Game- Death :(\nset [exit v] to []\nplay sound [Hit v] until done\nrepeat (26)\n    change [ghost v] effect by (4)\nend\n\nwhen I receive [start it up yall v]\nwait (0.1) seconds\nset [ghost v] effect to (0)\nset size to (100) %\n\nwhen flag clicked\nswitch costume to (right v)\nhide\nbroadcast (Green Flag v) and wait\nbroadcast (Play Game v) and wait\nwait (4) seconds\nshow\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    show\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Game On\n    repeat until <(Exit) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(Exit) = [win]> then\n        Game - Win\n    else\n        Game- Death :(\n    end\nend\n\ndefine Game On\nset [y v] to [0]\nset [x v] to [0]\nset [sx v] to [0]\nset [sy v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nbroadcast (Start it up yall v)\n\ndefine Tick\nif <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <[] = [1]>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [sx v] by (-2)\n    switch costume to (left v)\nend\nif <<<mouse down?> and <(x position) < (mouse x)>> or <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <[] = [1]>>> then\n    change [sx v] by (2)\n    switch costume to (right v)\nend\nset [sx v] to ((Sx) * (0.8))\nif <([abs v] of (Sx) ) > [0.9]> then\n    Change Player x by (round (Sx))\nend\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <(Up and away) = [1]>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n    if <(In Air) < [4]> then\n        set [sy v] to [16]\n    end\nend\nif <(Sy) > [-20]> then\n    change [sy v] by (-2)\nend\nChange Player y by (Sy)\nTest - Die\nset [scroll x v] to (X)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((Y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(Y) < [-180]> then\n    set [exit v] to [die]\nend\n\ndefine Change Player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((X) - (SCROLL X)) y: ((Y) - (SCROLL Y))\n\ndefine Change Player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <(Up and away) = [1]>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        if <(sx) > [0]> then\n            set [sx v] to [-16]\n        else\n            set [sx v] to [16]\n        end\n        set [in air v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <touching (platforms v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Test - Die\nif <<touching (dangers v)?> and <touching color (#ff0000)?>> then\n    set [exit v] to [die]\nend\n\ndefine Game - Win\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (2)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nchange [level v] by (1)\npoint in direction (90)\nwait (1) seconds\n\nwhen I receive [start it up yall v]\nwait (0.1) seconds\nset [ghost v] effect to (0)\nset size to (100) %\n\n@Platforms\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [500] y: [0]\n    Clone at x: [800] y: [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 1 v)\n        Clone at x: [400] y: [0]\n        Clone at x: [400] y: [0]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (level 3 1 v)\n            Clone at x: [500] y: [0]\n            Clone at x: [500] y: [0]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (win v)\n            end\n        end\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nnext costume\nnext costume\n\ncreate clone of (_myself_ v)\n\nClone at x: [400] y: [0]\nClone at x: [400] y: [0]\n\n@Dangers\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [500] y: [0]\n    Clone at x: [800] y: [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 1 v)\n        Clone at x: [400] y: [0]\n        Clone at x: [400] y: [0]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (level 3 1 v)\n            Clone at x: [500] y: [0]\n            Clone at x: [500] y: [0]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (win v)\n            end\n        end\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nnext costume\nnext costume\n\ncreate clone of (_myself_ v)\n\nClone at x: [400] y: [0]\nClone at x: [400] y: [0]\n\n@Exit\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((X) - (SCROLL X)) ((Y) - (SCROLL Y))\nif <<(costume [name v]) = [Open]> and <touching (player v)?>> then\n    set [exit v] to [win]\nend\n\nwhen I receive [setup v]\nswitch costume to (closed v)\nhide\nset [coins collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    Clone at x: [1450] y: [58]\nelse\n    Clone at x: [1390] y: [66]\nend\nif <(LEVEL) = [3]> then\n    Clone at x: [1327] y: [71]\nend\nif <(LEVEL) = [4]> then\n    Clone at x: [1000000000000000000000000000] y: [60]\nend\n\ncreate clone of (_myself_ v)\nchange [x v] by (450)\nnext costume\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\n\nwhen flag clicked\nforever\n    if <(Coins Collected) = [4]> then\n        switch costume to (open v)\n    end\nend\n\n@Coins\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    start sound [Coin v]\n    change [coins collected v] by (1)\n    change [your total coins v] by (1)\n    if <(Coins Collected) = (COLLECTED MAX)> then\n        broadcast (Portal open v)\n    end\n    delete this clone\nend\n\nwhen I receive [setup v]\nhide\nset [ghost v] effect to (0)\nset size to (100) %\nset [y v] to [0]\nset [x v] to [0]\nset [collect v] to [0]\nset [max collect v] to [0]\nif <(LEVEL) = [1]> then\n    wait (0) seconds\n    Clone x: [100] y: [100]\n    Clone x: [450] y: [150]\n    Clone x: [673] y: [89]\n    Clone x: [970] y: [60]\nelse\n    if <(LEVEL) = [2]> then\n        wait (0) seconds\n        Clone x: [180] y: [130]\n        Clone x: [600] y: [60]\n        Clone x: [630] y: [200]\n        Clone x: [500] y: [400]\n    else\n        if <(LEVEL) = [3]> then\n            wait (0) seconds\n            Clone x: [300] y: [50]\n            Clone x: [600] y: [170]\n            Clone x: [930] y: [50]\n            Clone x: [950] y: [400]\n            Clone x: [136] y: [-51]\n            change [max collect v] by (-2)\n        else\n            if <(LEVEL) = [4]> then\n            else\n            end\n        end\n    end\nend\nset [y v] to [-99999999999]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone x: (x) y: (y)\nset [ghost v] effect to (0)\nset size to (100) %\nset [x v] to (x)\nset [y v] to (y)\nchange [collected max v] by (1)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [your total coins v] to [0]\nhide\n\n@Clouds\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    set size to (pick random (40) to (90)) %\n    go to x: (200) y: (pick random (-55) to (200))\n    switch costume to (pick random (1) to (3))\n    create clone of (_myself_ v)\n    wait (pick random (0.1) to (0.5)) seconds\nend\n\nwhen I start as a clone\nset [ghost v] effect to (30)\ngo to [back v] layer\nshow\nif <(size) > [99]> then\n    glide (6) secs to x: (-200) y: (y position)\n    delete this clone\nend\nif <(size) > [80]> then\n    glide (5) secs to x: (-200) y: (y position)\n    delete this clone\nend\nif <(size) > [65]> then\n    glide (4) secs to x: (-200) y: (y position)\n    delete this clone\nend\nif <(size) > [50]> then\n    glide (3) secs to x: (-200) y: (y position)\n    delete this clone\nend\nif <(size) > [40]> then\n    glide (2) secs to x: (-200) y: (y position)\n    delete this clone\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    show\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\n