Imagine - A Scrolling Platformer Special                            #games  

Instructions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \nImagine - A Scrolling Platformer Special\n\nAn "artistic" and sorta tricky (but possible) platformer I made that goes along with the song Imagine by John Lennon.\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n\nHello everyone! Thank you so so so much for 1.5k followers!! This is truly insane and I love you all so much <33 \n\nI'm sorry that I haven't posted since September, and I haven't posted a game since late July, maybe? But I finally had a chance to pull this little game together!\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n\nI really hope you enjoy, and once again tysm for 1.5k!!! Aaaaa!!! :D\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n\nHave a great day!!\nLove,\nTropicalCoder13\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 [John Lennon - Imagine \(8-Bit Remix\) v] until done\nend\n\n@no lag\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 (oofsies v)?> and <touching color (#000000)?>> 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@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@feathers?\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@oofsies\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@Thumbnail\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n