Fossil Hunt|A Scrolling Platformer|#fossil #hunt #scrolling #platformer #games #all #music #art

Instructions: Please propose it to be featured here \nhttps://scratch.mit.edu/studios/28715018/\n__________________________________________\nInstructions\n___________________________________________\nYou are Andrew the Paleontologist, who studies fossils. Use Arrow keys or WASD to move Andrew and up or W to jump. To win, you must collect all the virtual fossils. To collect a virtual fossil, go to a grey hill like object and press the dig button, which looks like a shovel. You can only collect the fossil which is nearest to your starting point\n___________________________________________\nType "fossil" if you won the game\n___________________________________________\nTags\n#fossil #hunt #scrolling #platformer #games #all #cool #awesome #music #art #trending #stories

@Stage\n\nwhen flag clicked\nset [dug2 v] to [Yes]\nset [dug3 v] to [Yes]\n\n@Player\n\nwhen I receive [play v]\nshow\nforever\n    Griffpatch Platforming Engine [5]\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (level hitbox v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (level hitbox v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\nend\nchange [frame v] by (0.5)\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to (stand_1 v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (6))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (jump_1 v)\n    else\n        switch costume to (fall_1 v)\n    end\nend\n\ndefine Griffpatch Platforming Engine (speed)\nswitch costume to (hitbox v)\nif <<(speed y) < [4]> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n    Walk (-90) ((speed) * (-1))\nelse\n    if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n        Walk (90) (speed)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nif <(y position) < [-180]> then\n    go to x: (0) y: (0)\n    point in direction (90)\n    set [scrollx v] to [0]\n    set [speed y v] to [0]\nend\nSet Costume\nScrolling Blocks\n\nstart sound [jump v]\n\nstart sound [fall v]\n\ndefine Reset Player\nshow\nset size to (40) %\nset rotation style [left-right v]\npoint in direction (90)\ngo to x: (0) y: (100)\nset [speed y v] to [0]\nset [falling? v] to [10]\nset [scrollx v] to [0]\nhide\n\ndefine Scrolling Blocks\nchange [scrollx v] by (x position)\nset x to (0)\n\nwhen flag clicked\nhide\nbroadcast (Transition In v) and wait\nbroadcast (Delete All Clones v) and wait\nbroadcast (SetUp v) and wait\nbroadcast (Level Loop v)\nbroadcast (Play v)\nbroadcast (Transition Out v) and wait\nbroadcast (Play BG Music v)\n\nwhen I receive [setup v]\nReset Player\n\ndefine Quick Scroll\nif <key (right arrow v) pressed?> then\n    change [scrollx v] by (100)\nend\nif <key (left arrow v) pressed?> then\n    change [scrollx v] by (-100)\nend\n\nQuick Scroll\n\nif <touching (level hitbox v)?> then\n\nif <key (down arrow v) pressed?> then\n    switch costume to ([floor v] of (() + ((frame) mod (6))) )\nend\n\nwhen flag clicked\nforever\n\n@Level HITBOX\n\ndefine Create\nwait (1) seconds\nrepeat ((Level Costumes) - (1))\n    create clone of (_myself_ v)\n    change [level_x v] by (480)\n    next costume\nend\n\nwhen I receive [level loop v]\nforever\n    set x to ((Level_X) - (ScrollX))\n    if <([abs v] of ((Level_X) - (ScrollX)) ) > [480]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [delete all clones v]\n\nwhen I receive [setup v]\nshow\nclear graphic effects\ngo to x: (0) y: (0)\nset [level_x v] to [0]\nswitch costume to (costume1 v)\nCreate\nhide\n\ndefine Find Costume Number\nset [level costumes v] to [21]\n\nset [level_x v] to [0]\n\nswitch costume to ((1) / (1))\nnext costume\nrepeat until <(costume [number v]) = [1]>\n    change [level costumes v] by (1)\n    next costume\nend\n\n@Music\n\nwhen flag clicked\nforever\n    play sound [Sunflowers - @-Xaf- \(1\) v] until done\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n@Sprite1\n\n@Sprite2\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [1 v]\nswitch costume to (costume2 v)\n\nwhen I receive [2 v]\nswitch costume to (costume3 v)\n\nwhen I receive [3 v]\nswitch costume to (costume4 v)\n\n@DIG\n\ndefine Create\nwait (1) seconds\nchange [level_x v] by (2210)\ncreate clone of (_myself_ v)\n\nwhen I receive [level loop v]\nforever\n    set x to ((Level_X) - (ScrollX))\n    if <([abs v] of ((Level_X) - (ScrollX)) ) > [480]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [delete all clones v]\n\nwhen I receive [setup v]\nshow\nclear graphic effects\ngo to x: (1000) y: (0)\nset [level_x v] to [0]\nswitch costume to (costume1 v)\nCreate\nhide\n\ndefine Find Costume Number\nset [level costumes v] to [1]\nswitch costume to ((1) / (1))\nnext costume\nrepeat until <(costume [number v]) = [1]>\n    change [level costumes v] by (1)\n    next costume\nend\n\nset [level_x v] to [0]\n\nrepeat ((Level Costumes) - (1))\n\nnext costume\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> and <(dug) = [No]>> then\n        set [dig? v] to [1]\n    else\n        set [dig? v] to [0]\n    end\nend\n\nwhen I receive [dig v]\nbroadcast (1 v)\n\n@Sprite3\n\nwhen flag clicked\nshow\nset [dug v] to [No]\nforever\n    if <(dig?) = [1]> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (80)\n    end\nend\n\nwhen this sprite clicked\nif <<(dig?) = [1]> and <(dug) = [No]>> then\n    broadcast (dig v)\n    set [dig? v] to [0]\n    set [dug v] to [Yes]\n    hide\nend\n\n@Sprite4\n\nwhen I receive [1 v]\nswitch costume to (costume1 v)\nshow\nglide (0.5) secs to x: (x position) y: (0)\nwait (4) seconds\nglide (0.5) secs to x: (x position) y: (-133)\nhide\n\nwhen I receive [2 v]\nswitch costume to (costume2 v)\nshow\nglide (0.5) secs to x: (x position) y: (0)\nwait (4) seconds\nglide (0.5) secs to x: (x position) y: (-133)\nhide\n\nwhen flag clicked\nhide\n\nbroadcast (2 v)\n\nwhen I receive [3 v]\nswitch costume to (costume3 v)\nshow\nglide (0.5) secs to x: (x position) y: (0)\nwait (4) seconds\nglide (0.5) secs to x: (x position) y: (-133)\nhide\n\nwhen I receive [4 v]\nswitch costume to (costume4 v)\nshow\nglide (0.5) secs to x: (x position) y: (0)\nwait (4) seconds\nglide (0.5) secs to x: (x position) y: (-133)\nhide\n\n@Transition\n\nwhen I receive [transition in v]\ngo to [front v] layer\nswitch costume to (costume1 v)\nhide\nshow\nrepeat (16)\n    next costume\nend\n\nwhen I receive [transition out v]\ngo to x: (0) y: (0)\nswitch costume to (costume17 v)\nrepeat (16)\n    switch costume to ((costume [number v]) - (1))\nend\nhide\n\n@DIG2\n\ndefine Create\nwait (1) seconds\nchange [level_x v] by (2493)\ncreate clone of (_myself_ v)\n\nwhen I receive [level loop v]\nforever\n    set x to ((Level_X) - (ScrollX))\n    if <([abs v] of ((Level_X) - (ScrollX)) ) > [480]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [delete all clones v]\n\nwhen I receive [setup v]\nshow\nclear graphic effects\ngo to x: (1000) y: (0)\nset [level_x v] to [0]\nswitch costume to (costume1 v)\nCreate\nhide\n\ndefine Find Costume Number\nset [level costumes v] to [1]\nswitch costume to ((1) / (1))\nnext costume\nrepeat until <(costume [number v]) = [1]>\n    change [level costumes v] by (1)\n    next costume\nend\n\nset [level_x v] to [0]\n\nrepeat ((Level Costumes) - (1))\n\nnext costume\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> and <(dug2) = [No]>> then\n        set [dig v] to [1]\n    else\n        set [dig v] to [0]\n    end\nend\n\nwhen I receive [dig2 v]\nbroadcast (2 v)\n\n@Sprite5\n\nwhen flag clicked\nshow\nset [ghost v] effect to (80)\n\nwhen this sprite clicked\nif <<(dig) = [1]> and <(dug2) = [No]>> then\n    broadcast (dig2 v)\n    set [dig v] to [0]\n    set [dug2 v] to [Yes]\n    hide\nend\n\nwhen I receive [1 v]\nset [dug2 v] to [No]\nforever\n    if <(dig) = [1]> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (80)\n    end\nend\n\n@DIG3\n\ndefine Create\nwait (1) seconds\nchange [level_x v] by (5010)\ncreate clone of (_myself_ v)\n\nwhen I receive [level loop v]\nforever\n    set x to ((Level_X) - (ScrollX))\n    if <([abs v] of ((Level_X) - (ScrollX)) ) > [480]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [delete all clones v]\n\nwhen I receive [setup v]\nshow\nclear graphic effects\ngo to x: (1000) y: (0)\nset [level_x v] to [0]\nswitch costume to (costume1 v)\nCreate\nhide\n\ndefine Find Costume Number\nset [level costumes v] to [1]\nswitch costume to ((1) / (1))\nnext costume\nrepeat until <(costume [number v]) = [1]>\n    change [level costumes v] by (1)\n    next costume\nend\n\nset [level_x v] to [0]\n\nrepeat ((Level Costumes) - (1))\n\nnext costume\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> and <(dug3) = [No]>> then\n        set [dig_ v] to [1]\n    else\n        set [dig_ v] to [0]\n    end\nend\n\nwhen I receive [dig 3 v]\nbroadcast (3 v)\n\n@Sprite6\n\nwhen flag clicked\nshow\nset [ghost v] effect to (80)\n\nwhen this sprite clicked\nif <<(dig_) = [1]> and <(dug3) = [No]>> then\n    broadcast (dig 3 v)\n    set [dig v] to [0]\n    set [dug2 v] to [Yes]\n    hide\nend\n\nwhen I receive [2 v]\nset [dug3 v] to [No]\nforever\n    if <(dig_) = [1]> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (80)\n    end\nend\n\n@DIG4\n\ndefine Create\nwait (1) seconds\nchange [level_x v] by (6210)\ncreate clone of (_myself_ v)\n\nwhen I receive [level loop v]\nforever\n    set x to ((Level_X) - (ScrollX))\n    if <([abs v] of ((Level_X) - (ScrollX)) ) > [480]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [delete all clones v]\n\nwhen I receive [setup v]\nshow\nclear graphic effects\ngo to x: (1000) y: (0)\nset [level_x v] to [0]\nswitch costume to (costume1 v)\nCreate\nhide\n\ndefine Find Costume Number\nset [level costumes v] to [1]\nswitch costume to ((1) / (1))\nnext costume\nrepeat until <(costume [number v]) = [1]>\n    change [level costumes v] by (1)\n    next costume\nend\n\nset [level_x v] to [0]\n\nrepeat ((Level Costumes) - (1))\n\nnext costume\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> and <(dug4) = [No]>> then\n        set [dig$ v] to [1]\n    else\n        set [dig$ v] to [0]\n    end\nend\n\nwhen I receive [dig4 v]\nbroadcast (4 v)\n\n@Sprite7\n\nwhen flag clicked\nshow\nset [ghost v] effect to (80)\n\nwhen this sprite clicked\nif <<(dig$) = [1]> and <(dug4) = [No]>> then\n    broadcast (dig4 v)\n    set [dig v] to [0]\n    set [dug2 v] to [Yes]\n    hide\nend\n\nwhen I receive [3 v]\nset [dug4 v] to [No]\nforever\n    if <(dig$) = [1]> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (80)\n    end\nend\n\n@Sprite8\n\nwhen I receive [4 v]\nwait (5) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n