Minecraft Platformer
@Stage\n\n@Sprite2\n\nwhen flag clicked\nhide variable [☁ 45654 v]\n\n@Background\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [back v] layer\ngo to x: (0) y: (0)\nset size to (100) %\nMove with ScreenShake | amount (0 to 1) [0.25]\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [10]> then\n        switch costume to (costume2 v)\n    end\n    if <(Level) = [11]> then\n        switch costume to (costume2 v)\n    end\n    if <(Level) = [12]> then\n        switch costume to (costume2 v)\n    end\n    if <(Level) = [13]> then\n        switch costume to (costume1 v)\n    end\nend\n\n@Spikes\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Ground\n\nwhen flag clicked\nforever\n    set size to (100) %\n    switch costume to (Level)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset size to (100) %\nMove with ScreenShake | amount (0 to 1) [0.25]\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [14]> then\n        broadcast (Won v)\n    end\nend\n\nswitch costume to (b v)\n\n@Player\n\nwhen I receive [next level v]\nbroadcast (Reset v)\n\nwhen flag clicked\nset [level v] to [1]\nbroadcast (Next Level v)\nbroadcast (Start v)\n\nwhen I receive [reset v]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\ngo to x: (-216) y: (40)\n\nwhen I receive [start v]\nswitch costume to (blue v)\nset rotation style [left-right v]\nforever\n    switch costume to ([costume name v] of [thanks v])\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        point in direction (-90)\n        change [x velocity v] by (-2)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        point in direction (90)\n        change [x velocity v] by (2)\n    end\n    set [x velocity v] to ((X Velocity) * (0.85))\n    change x by (X Velocity)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\n        change x by ((X Velocity) * (-1))\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            if <(X Velocity) > [0]> then\n                set [x velocity v] to [-10]\n            else\n                set [x velocity v] to [10]\n            end\n            set [y velocity v] to [15]\n        else\n            set [x velocity v] to [0]\n        end\n    end\n    change [y velocity v] by (-1)\n    change y by (Y Velocity)\n    if <touching (ground v)?> then\n        change y by ((Y Velocity) - ((Y Velocity) * (2)))\n        set [y velocity v] to [0]\n    end\n    change y by (-1)\n    if <<touching (ground v)?> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        set [y velocity v] to [15]\n    end\n    change y by (1)\n    if <(x position) > [239]> then\n        broadcast (Next Level v) and wait\n        change [level v] by (1)\n    end\n    if <touching (spikes v)?> then\n        broadcast (yell v)\n        broadcast (Screen Shake v)\n        broadcast (Reset v)\n    else\n        if <touching (lava v)?> then\n            broadcast (Reset v)\n        end\n        if <touching (spikes v)?> then\n            broadcast (Reset v)\n        end\n    end\nend\n\nwhen this sprite clicked\nchange [level v] by (1)\n\n@Screen Shake\n\nwhen flag clicked\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\ndefine Screen Shake | strengthX (strengthx) strengthY (strengthy) interval (interval) duration (duration)\nset [_screenshake_starttime v] to (timer)\nset [screenshake_x v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthx))\nset [screenshake_y v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthy))\nset [_screenshake_lasttime v] to (timer)\nrepeat until <(timer) > ((_screenShake_startTime) + (duration))>\n    wait ((interval) - ((timer) - (_screenShake_lastTime))) seconds\n    set [_screenshake_fraction v] to ((1) - (((timer) - (_screenShake_startTime)) / (duration)))\n    set [screenshake_x v] to ((((ScreenShake_X) / ([abs v] of (ScreenShake_X) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthx))))\n    set [screenshake_y v] to ((((ScreenShake_Y) / ([abs v] of (ScreenShake_Y) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthy))))\n    set [_screenshake_lasttime v] to (timer)\nend\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\nwhen I receive [screen shake v]\nScreen Shake | strengthX [8] strengthY [8] interval [0.03] duration [0.3]\n\n@Transition2\n\nwhen I receive [12345 v]\n\nwhen flag clicked\nhide\n\nwhen I receive [_complete transition v]\nrepeat (14)\n    change y by (40)\nend\nhide\n\nwhen I receive [screen shake v]\nstart sound [Low Whoosh v]\nwait (0.4) seconds\nbroadcast (ゲームスタート v)\n\nwhen I receive [next level v]\nshow\ngo to [front v] layer\ngo to x: (0) y: (-500)\nrepeat (13)\n    change y by (40)\nend\nbroadcast (_Complete Transition v)\n\n@Affect\n\nwhen flag clicked\nswitch costume to (0 v)\nforever\n    go to (mouse-pointer v)\nend\n\nwhen I receive [click v]\nrepeat (5)\n    next costume\nend\nswitch costume to (0 v)\n\nwhen flag clicked\nforever\n    if <mouse down?> then\n        broadcast (click v)\n    end\nend\n\n@fin\n\nwhen flag clicked\nset [fin v] to [no]\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [won v]\nset [fin v] to [yes]\ngo to [front v] layer\ngo [forward v] (1) layers\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\n@Lava\n\nwhen flag clicked\ngo to [back v] layer\ngo [forward v] (1) layers\nforever\n    switch costume to (Level)\nend\n\n@広告\n\nwhen flag clicked\nhide\n\nwhen I receive [広告 v]\ncreate clone of (_myself_ v)\ngo to x: (152) y: (250)\nswitch costume to (ぐれー v)\nset size to (40) %\npoint in direction (90)\nshow\nstart sound [ポップ v]\nrepeat (30)\n    change y by (((145) - (y position)) / (4))\nend\nrepeat (3)\n    next costume\n    wait (0.75) seconds\nend\nrepeat (30)\n    change y by (((220) - (y position)) / (4))\nend\nhide\n\nwhen I start as a clone\ngo to x: (66) y: (92)\nset [ghost v] effect to (100)\nswitch costume to (マウス v)\ngo to [front v] layer\nset size to (45) %\npoint in direction (90)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nrepeat (20)\n    change x by (((115) - (x position)) / (4))\n    change y by (((140) - (y position)) / (4))\nend\nwait (0.05) seconds\nrepeat (20)\n    change x by (((156) - (x position)) / (4))\nend\nwait (0.05) seconds\nrepeat (20)\n    change x by (((195) - (x position)) / (4))\nend\nrepeat (20)\n    change x by (((195) - (x position)) / (4))\nend\nwait (0.05) seconds\nrepeat (20)\n    change x by (((229) - (x position)) / (4))\n    change y by (((95) - (y position)) / (4))\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [ghost v] effect to (0)\ndelete this clone\n\nwhen I receive [音◯ v]\nrepeat (20)\n    change volume by (-5)\nend\n\nwhen I receive [音 v]\nrepeat (20)\n    change volume by (5)\nend\n\nwhen I receive [広告 v]\nwait (1) seconds\nplay sound [Click v] until done\nwait (.5) seconds\nplay sound [Click v] until done\nwait (.5) seconds\nplay sound [Click v] until done\n\nrepeat (10)\n\nwhen I receive [\[intro\] over v]\n\nwhen flag clicked\nbroadcast (広告 v)\n\n@bg\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    switch costume to (Level)\nend\n\n@stars\n\nwhen I start as a clone\nif <(pick random (1) to (4)) = [1]> then\n    set [v v] to (pick random (5.0) to (7.0))\nelse\n    set [v v] to (pick random (0.6) to (2.0))\nend\nrepeat until <(y position) > [179]>\n    change y by (v)\nend\ndelete this clone\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (pick random (30) to (80))\nswitch costume to (resize v)\nset size to (pick random (40) to (100)) %\nswitch costume to (pick random (1) to (2))\nforever\n    if <(pick random (1) to (0)) = [1]> then\n        wait (pick random (12) to (5)) seconds\n    else\n        wait (pick random (0.1) to (0.3)) seconds\n    end\n    repeat (3)\n        change [ghost v] effect by (10)\n    end\n    repeat (3)\n        change [ghost v] effect by (-10)\n    end\nend\n\nwhen I receive [start v]\nforever\n    go to x: (pick random (-240) to (240)) y: (-180)\n    create clone of (_myself_ v)\n    wait (0.4) seconds\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nbroadcast (Start v)\n\n@soft\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\n    wait (pick random (0.2) to (2.0)) seconds\nend\n\nwhen I start as a clone\nset [color v] effect to ((25) * (pick random (1) to (8)))\ngo to x: (pick random (-240) to (240)) y: (pick random (180) to (-180))\nshow\nset [ghost v] effect to (100)\nswitch costume to (resize v)\nset size to (pick random (100) to (250)) %\nswitch costume to (soft v)\nset [d v] to (pick random (-3.0) to (3.0))\nrepeat (40)\n    step\n    change [ghost v] effect by (-1)\nend\nrepeat (pick random (0) to (120))\n    step\nend\nrepeat (40)\n    step\n    change [ghost v] effect by (1)\nend\ndelete this clone\n\ndefine step\nturn right (d) degrees\nmove (2) steps\n\nwhen I receive [celebration unbelievable v]\nset [color v] effect to (120)\n\nwhen I receive [celebration wow v]\nset [color v] effect to (120)\n\nbroadcast (celebration unbelievable v)\n\nbroadcast (celebration Wow v)\n\nwhen flag clicked\nbroadcast (celebration Wow v)\n\n@Sprite3\n\nwhen flag clicked\nhide\ngo [forward v] (10) layers\n\n    wait (pick random (0.1) to (0.2)) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to [front v] layer\nclear graphic effects\nset [ghost v] effect to (pick random (70) to (90))\nset size to (pick random (25) to (45)) %\ngo to x: (pick random (240) to (-240)) y: (170)\npoint in direction (90)\nshow\nglide (pick random (2) to (8)) secs to x: (pick random (240) to (-240)) y: (-180)\nhide\ndelete this clone\n\n@Sprite1\n\nwhen flag clicked\nset [ghost v] effect to (0)\nwait (2) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\nforever\n\n@RAIN\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (80)\nglide (0.5) secs to x: (0) y: (-180)\ngo to x: (-60) y: (180)\ndelete this clone\n\nwhen flag clicked\n\nwhen I receive [high v]\nset [pixelate v] effect to (0)\n\nwhen I receive [medium v]\nset [pixelate v] effect to (10)\n\nwhen I receive [low v]\nset [pixelate v] effect to (20)\n\nwhen I receive [rain v]\nhide\ngo to x: (60) y: (0)\nforever\n    create clone of (_myself_ v)\n    wait (0.1) seconds\nend\n\nwhen I receive [rain v]\ngo to [back v] layer\nforever\n    play sound [Rain v] until done\nend\n\nwhen flag clicked\nwait (18) seconds\nstop [other scripts in sprite v]\nrepeat (50)\n    change [ghost v] effect by (4)\nend\nhide\n\nwhen flag clicked\n\nwhen flag clicked\nhide\n\nwhen I receive [start! v]\nwait (3) seconds\nbroadcast (rain v)\n\n@Love and fave reminder2\n\nwhen flag clicked\nhide\nwait (3) seconds\nforever\n    if <(Actions \(love/fave\)) < [2]> then\n        switch costume to (costume1 v)\n        go to x: (-100) y: (125)\n        show\n        go to [front v] layer\n        repeat (11)\n            change y by (-6)\n        end\n        repeat (7)\n            change y by (3)\n        end\n        repeat (6)\n            change y by (-2)\n        end\n        wait until <<touching (mouse-pointer v)?> and <mouse down?>>\n        repeat (17)\n            change y by (7)\n        end\n        hide\n        stop [this script v]\n    else\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nwait (2.5) seconds\ngo to [front v] layer\n\nwhen flag clicked\n\n@Thanks\n\nwhen flag clicked\nswitch costume to (red v)\nhide\nwait (1) seconds\nwait until <(Actions \(love/fave\)) = [2]>\nwait (1) seconds\nshow\ngo to x: (0) y: (50)\nreset timer\ngo to [front v] layer\nswitch costume to (red v)\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nswitch costume to (blue v)\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nswitch costume to (red v)\n\nwhen flag clicked\n\nwhen flag clicked\n\n@detector\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nset [actions \(love/fave\) v] to [0]\nforever\n    set [touching v] to [none]\n    Detect [love] at [-201] [-220]\n    Detect [fave] at [-201] [-220]\nend\n\ndefine Detect (thing) at (x) (y)\nswitch costume to (empty v)\nset size to (27000) %\ngo to x: (x) y: (y)\nset size to (100) %\nswitch costume to (thing)\nif <touching (mouse-pointer v)?> then\n    set [touching v] to (costume [name v])\nend\n\nwhen flag clicked\nforever\n    wait until <(touching) = [love]>\n    wait (0.2) seconds\n    if <(touching) = [love]> then\n        change [actions \(love/fave\) v] by (1)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    wait until <(touching) = [fave]>\n    wait (0.2) seconds\n    if <(touching) = [fave]> then\n        change [actions \(love/fave\) v] by (1)\n        stop [this script v]\n    end\nend\n\n@sus\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n@Figur2\n\nwhen flag clicked\nhide\nrepeat (3)\n    create clone of (_myself_ v)\n    wait (1) seconds\nend\n\nwhen I start as a clone\nforever\n    set size to (pick random (40) to (70)) %\n    go to [back v] layer\n    set [ghost v] effect to (pick random (5) to (50))\n    if <(pick random (1) to (2)) = [1]> then\n        show\n        go to x: (-200) y: (pick random (20) to (180))\n        repeat (160)\n            change x by (2.5)\n        end\n        hide\n        wait (pick random (2) to (7)) seconds\n    end\n    if <(pick random (1) to (2)) = [2]> then\n        show\n        go to x: (220) y: (pick random (20) to (180))\n        repeat (160)\n            change x by (-3.5)\n        end\n        hide\n        wait (pick random (3) to (5)) seconds\n    end\nend\n\n@Motion dectation\n\nwhen I start as a clone\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ndelete this clone\n\nwhen [timer v] > (0)\nreset timer\nset [pen v] to <touching (mouse-pointer v)?>\nif <(pen) = [true]> then\n    change [☁ 45654 v] by (1)\n    broadcast (Hovering Over Report Button v) and wait\nend\n\nwhen I receive [hovering over report button v]\nforever\n    create clone of (_myself_ v)\nend\n\n
Welcome to Dark scrolling platformer!\n\n- Arrow keys or WASD to move. Sorry, not mobile :(\n- Press r to restart\n- Try to find the door (at the end of each level)\n- Don't fall\n- Try to complete in the shortest amount of time. \n- Please love, favorite, and follow!\n\nHave fun! :D\n