Double Jump - A Platformer

Instructions: --------------------------------Controls------------------------------\n                              Arrow keys to move\n                     Jump in midair to double jump\n                     Press r to skip a level (3 skips)\n-------------------------------------------------------------------------\nAll sprites and code made by @TotalBlitz (me)\nMusic from freemusicarchive.org\n\nThis is Double Jump v1.5\n\nFind any bugs? Let me know down in the comments\n\nYour goal is to reach the white portal on the other side of the screen. Spikes kill ya and so does falling into holes, jump after jumping in the air to double jump :3\n\nHit 50❤️ on 10/23/20\n600 views on 11/25/20\n800 views on 12/21/20\n@DarkStar177 loved and faved :D\n\nIf your going to remix, give credit and make some changes to the game... don't just steal the project.\n\nDouble Jump updates\nv1.1 - added clouds\nv1.2 - added music\nv1.3 - 5 more levels\nv1.4 - Moving obstacles, 5 new levels\nv1.5 - introduced skips (you only get 3)\nv1.6 - Spinning spikes fixed\n\nTags\n#Double #Jump #double #jump #doublejump #jumping #colors #spikes #wheels #platformer #total #blitz #totalblitz #games #game #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all 

@Stage\n\nwhen flag clicked\nset [color v] effect to (0)\nset [brightness v] effect to (0)\n\nwhen I receive [nextlevel v]\nrepeat (50)\n    change [brightness v] effect by (2)\nend\nset [brightness v] effect to (0)\n\n@Player\n\nwhen flag clicked\nset [gameend v] to [0]\nset [brightness v] effect to (0)\nset size to (170) %\npoint in direction (90)\nshow\ngo to [front v] layer\ngo to x: (-207) y: (-56)\nset rotation style [don't rotate v]\nset [x v] to [0]\nset [y v] to [0]\nset [doublejump v] to [1]\nforever\n    if on edge, bounce\n    change [y v] by (-1)\n    if <key (right arrow v) pressed?> then\n        point in direction (90)\n        change [x v] by (1)\n    end\n    if <key (left arrow v) pressed?> then\n        point in direction (-90)\n        change [x v] by (-1)\n    end\n    set [x v] to ((X) * (0.9))\n    change x by (X)\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((X) * (-1))\n    end\n    change y by (Y)\n    if <touching (level v)?> then\n        change y by ((Y) - ((Y) * (2)))\n        set [y v] to [0]\n        set [doublejump v] to [1]\n    end\n    change y by (-1)\n    if <<<key (up arrow v) pressed?> and <touching (level v)?>> and <(DoubleJump) = [1]>> then\n        set [y v] to [12]\n        set [doublejump v] to [2]\n    end\n    change y by (1)\n    if <<(distance to [portal v]) = [30]> or <(distance to [portal v]) < [30]>> then\n        set rotation style [all around v]\n        go to (portal v)\n        go to [front v] layer\n        broadcast (NextLevel v)\n        set [x v] to [0]\n        set [y v] to [0]\n        repeat (45)\n            turn right (6) degrees\n            change size by (-4)\n            change [brightness v] effect by (2)\n        end\n        change [level v] by (1)\n        hide\n        point in direction (90)\n        go to x: (-207) y: (-56)\n        set size to (170) %\n        wait (0.6) seconds\n        go to x: (-207) y: (-56)\n        set size to (170) %\n        set [brightness v] effect to (0)\n        show\n        set rotation style [don't rotate v]\n    end\n    if <<<<touching (spikes v)?> or <(y position) < [-160]>> or <touching (spike wheels v)?>> or <touching (secondary spike wheels v)?>> then\n        create clone of (oof particle v)\n        create clone of (oof particle v)\n        create clone of (oof particle v)\n        create clone of (oof particle v)\n        create clone of (oof particle v)\n        create clone of (oof particle v)\n        create clone of (oof particle v)\n        wait (0.001) seconds\n        set [x v] to [0]\n        set [y v] to [0]\n        go to x: (-207) y: (-56)\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (0)\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nchange y by (0.05)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-10)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    if <<key (up arrow v) pressed?> and <(DoubleJump) = [2]>> then\n        wait until <not <key (up arrow v) pressed?>>\n        repeat until <(DoubleJump) = [1]>\n            if <<key (up arrow v) pressed?> and <(DoubleJump) = [2]>> then\n                set [y v] to [12]\n                set [doublejump v] to [1]\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset volume to (70) %\nforever\n    play sound [Chad_Crouch_-_Shipping_Lanes2 v] until done\nend\n\nwhen flag clicked\nif <(Level) = [21]> then\n    broadcast (GameEnd v)\n    set [gameend v] to [1]\n    hide\n    delete this clone\nend\n\nwhen flag clicked\nforever\n    if <(skipidipdip) = [1]> then\n        go to (portal v)\n        wait until <not <(skipidipdip) = [1]>>\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\n\n@Level\n\nwhen flag clicked\nset [level v] to [1]\nset [portaltimer v] to [0]\nset [brightness v] effect to (0)\ngo to x: (0) y: (0)\nswitch costume to (level1 v)\n\nwhen I receive [nextlevel v]\nrepeat (50)\n    change [brightness v] effect by (2)\nend\nset [brightness v] effect to (0)\nnext costume\n\nwhen I receive [nextlevel v]\nset [portaltimer v] to [1]\nwait (1) seconds\nset [portaltimer v] to [0]\n\n@Portal\n\nwhen flag clicked\ngo to x: (208) y: (-46)\nset size to (100) %\nhide\nforever\n    if <(Level) = [1]> then\n        go to x: (208) y: (-46)\n    end\n    if <(Level) = [2]> then\n        go to x: (165) y: (60)\n    end\n    if <(Level) = [3]> then\n        go to x: (208) y: (-46)\n    end\n    if <(Level) = [4]> then\n        go to x: (208) y: (-46)\n    end\n    if <(Level) = [5]> then\n        go to x: (193) y: (11)\n    end\n    if <(Level) = [6]> then\n        go to x: (200) y: (120)\n    end\n    if <(Level) = [7]> then\n        go to x: (208) y: (-53)\n    end\n    if <(Level) = [8]> then\n        go to x: (208) y: (-60)\n    end\n    if <(Level) = [9]> then\n        go to x: (208) y: (-110)\n    end\n    if <(Level) = [10]> then\n        go to x: (140) y: (-134)\n    end\n    if <(Level) = [11]> then\n        go to x: (210) y: (90)\n    end\n    if <(Level) = [12]> then\n        go to x: (208) y: (-70)\n    end\n    if <(Level) = [13]> then\n        go to x: (208) y: (-20)\n    end\n    if <(Level) = [14]> then\n        go to x: (0) y: (-90)\n    end\n    if <(Level) = [15]> then\n        go to x: (216) y: (-80)\n    end\n    if <(Level) = [16]> then\n        go to x: (208) y: (-46)\n    end\n    if <(Level) = [17]> then\n        go to x: (208) y: (-46)\n    end\n    if <(Level) = [18]> then\n        go to x: (208) y: (-85)\n    end\n    if <(Level) = [19]> then\n        go to x: (208) y: (0)\n    end\n    if <(Level) = [20]> then\n        go to x: (208) y: (-46)\n    end\n    if <(Level) = [21]> then\n        hide\n        set [gameend v] to [1]\n        go to x: (-900) y: (-900)\n    end\nend\n\n@Portal Particle\n\nwhen flag clicked\nhide\ndelete this clone\n\nwhen flag clicked\nforever\n    repeat until <(GameEnd) = [1]>\n        repeat until <(PortalTimer) = [1]>\n            create clone of (_myself_ v)\n        end\n        wait (1.7) seconds\n    end\n    hide\n    delete this clone\nend\n\nwhen I start as a clone\ngo to [front v] layer\ngo to (portal v)\nturn right (pick random (360) to (-360)) degrees\nmove (pick random (30) to (40)) steps\nset size to (pick random (90) to (100)) %\npoint towards (portal v)\nshow\nrepeat (20)\n    move ((distance to [portal v]) / (pick random (8) to (12))) steps\n    if <touching (_edge_ v)?> then\n        delete this clone\n    end\nend\ndelete this clone\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\nend\n\n@Words'n'stuff\n\nwhen I receive [nextlevel v]\ngo to [front v] layer\nrepeat (50)\n    change [brightness v] effect by (2)\nend\nset [brightness v] effect to (0)\nnext costume\n\nwhen flag clicked\nswitch costume to (words1 v)\nset [brightness v] effect to (0)\ngo to x: (0) y: (0)\n\n@Spikes\n\nwhen flag clicked\ngo to [front v] layer\nset [brightness v] effect to (0)\ngo to x: (0) y: (0)\npoint in direction (90)\nhide\nswitch costume to (level3 v)\nforever\n    if <(Level) = [1]> then\n        hide\n    end\n    if <(Level) = [2]> then\n        hide\n    end\n    if <(Level) = [3]> then\n        switch costume to (level3 v)\n        show\n    end\n    if <(Level) = [4]> then\n        hide\n    end\n    if <(Level) = [5]> then\n        switch costume to (level5 v)\n        show\n    end\n    if <(Level) = [6]> then\n        switch costume to (level6 v)\n        show\n    end\n    if <(Level) = [7]> then\n        switch costume to (level7 v)\n        show\n    end\n    if <(Level) = [8]> then\n        switch costume to (level8 v)\n        show\n    end\n    if <(Level) = [9]> then\n        switch costume to (level9 v)\n        show\n    end\n    if <(Level) = [10]> then\n        switch costume to (level10 v)\n        show\n    end\n    if <(Level) = [11]> then\n        hide\n    end\n    if <(Level) = [12]> then\n        switch costume to (level12 v)\n        show\n    end\n    if <(Level) = [13]> then\n        switch costume to (level13 v)\n        show\n    end\n    if <(Level) = [14]> then\n        switch costume to (level14 v)\n        show\n    end\n    if <(Level) = [15]> then\n        switch costume to (level15 v)\n        show\n    end\n    if <(Level) = [16]> then\n        hide\n    end\n    if <(Level) = [17]> then\n        hide\n    end\n    if <(Level) = [18]> then\n        switch costume to (level18 v)\n        show\n    end\n    if <(Level) = [19]> then\n        hide\n    end\n    if <(Level) = [20]> then\n        switch costume to (level20 v)\n        show\n    end\nend\n\nwhen I receive [nextlevel v]\nrepeat (50)\n    change [brightness v] effect by (2)\nend\nset [brightness v] effect to (0)\nhide\n\nwhen I receive [gameend v]\nhide\n\n@Oof Particle\n\nwhen flag clicked\nset size to (20) %\nhide\ndelete this clone\n\nwhen I start as a clone\ngo to (player v)\npoint in direction (pick random (-90) to (90))\nshow\nrepeat (10)\n    move (pick random (4) to (6)) steps\nend\ndelete this clone\n\nwhen I start as a clone\nif <(direction) < [0]> then\n    repeat (10)\n        turn left (pick random (5) to (7)) degrees\n    end\nend\nif <(direction) > [0]> then\n    repeat (10)\n        turn right (pick random (5) to (7)) degrees\n    end\nend\ndelete this clone\n\n@Love & Favorite\n\nwhen flag clicked\ngo to x: (-214) y: (-138)\nhide\nwait until <(GameEnd) = [1]>\nwait (0.6) seconds\nshow\nforever\n    set y to ((HeartY) - (130))\nend\n\nwhen flag clicked\nwait until <(GameEnd) = [1]>\nwait (0.6) seconds\nset [hearty v] to [0]\nchange [hearty v] by (10)\nforever\n    repeat (10)\n        change [hearty v] by (-1)\n    end\n    wait (pick random (0) to (0)) seconds\n    repeat (10)\n        change [hearty v] by (1)\n    end\n    wait (pick random (0) to (0)) seconds\nend\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (0)\nset rotation style [don't rotate v]\ngo to [back v] layer\nhide\ndelete this clone\n\nwhen I start as a clone\ngo to x: (-300) y: (pick random (-180) to (180))\nchange [ghost v] effect by (pick random (10) to (35))\nset size to (pick random (40) to (80)) %\npoint in direction (90)\nshow\nrepeat until <(x position) > [210]>\n    move (pick random (0.1) to (1)) steps\n    go to [back v] layer\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\n\n    create clone of (_myself_ v)\n    wait (pick random (2) to (2.7)) seconds\nend\n\n@Spike Wheels\n\nwhen flag clicked\ngo to [front v] layer\nset [brightness v] effect to (0)\ngo to x: (0) y: (0)\npoint in direction (90)\nhide\nswitch costume to (level16 v)\nforever\n    if <(Level) = [16]> then\n        go to x: (9) y: (-91)\n        switch costume to (level16 v)\n        go to [back v] layer\n        show\n        repeat until <not <(Level) = [16]>>\n            turn left (1) degrees\n        end\n    end\n    if <(Level) = [17]> then\n        go to x: (0) y: (90)\n        switch costume to (level17 v)\n        go to [back v] layer\n        show\n        repeat until <not <(Level) = [17]>>\n            turn left (1) degrees\n        end\n    end\n    if <(Level) = [18]> then\n        go to x: (-110) y: (-105)\n        switch costume to (level18 v)\n        go to [back v] layer\n        show\n        repeat until <not <(Level) = [18]>>\n            turn left (1) degrees\n        end\n    end\n    if <(Level) = [19]> then\n        go to x: (31) y: (-40)\n        switch costume to (level19 v)\n        go to [back v] layer\n        show\n        repeat until <not <(Level) = [19]>>\n            turn right (1) degrees\n        end\n    end\n    if <(Level) = [20]> then\n        go to x: (0) y: (-200)\n        switch costume to (level20 v)\n        go to [back v] layer\n        show\n        repeat until <not <(Level) = [20]>>\n            turn left (1) degrees\n        end\n    end\n    if <(Level) = [21]> then\n        hide\n    end\nend\n\nwhen I receive [nextlevel v]\nrepeat (50)\n    change [brightness v] effect by (2)\nend\nset [brightness v] effect to (0)\n\nhide\n\nwhen I receive [gameend v]\nhide\n\n@Secondary Spike Wheels\n\nwhen flag clicked\ngo to [front v] layer\nset [brightness v] effect to (0)\nset size to (100) %\ngo to x: (0) y: (0)\npoint in direction (90)\nhide\nswitch costume to (level16 v)\nforever\n    if <(Level) = [18]> then\n        go to x: (31) y: (50)\n        set size to (250) %\n        switch costume to (level18 v)\n        go to [back v] layer\n        show\n        repeat until <not <(Level) = [18]>>\n            turn left (1) degrees\n        end\n    end\n    if <(Level) = [19]> then\n        go to x: (-168) y: (155)\n        set size to (200) %\n        switch costume to (level18 v)\n        go to [back v] layer\n        show\n        repeat until <not <(Level) = [19]>>\n            turn left (1) degrees\n        end\n    end\n    if <(Level) = [20]> then\n        hide\n    end\nend\n\nwhen I receive [nextlevel v]\nrepeat (50)\n    change [brightness v] effect by (2)\nend\nset [brightness v] effect to (0)\n\nhide\n\nwhen I receive [gameend v]\nhide\n\n@Skip counter\n\nwhen flag clicked\nset [skippers v] to [3]\nset [skipidipdip v] to [0]\ngo to x: (189) y: (-164)\nswitch costume to (costume1 v)\nforever\n    repeat until <(skippers) = [0]>\n        if <key (r v) pressed?> then\n            set [skipidipdip v] to [1]\n            change [skippers v] by (-1)\n            next costume\n            wait until <not <key (r v) pressed?>>\n            set [skipidipdip v] to [0]\n        end\n    end\nend\n\n