Ramadan || a special platformer #games #lessons #art #stories 

Instructions: Hello Everyone,\n                                                                          السلام عليكم\nHappy Ramadan\n                                                                   رمضان مبارك\n\nRamadan starts from April 12-14 depending on where you live around the world and it ends after 1 month\n\n\nWelcome to a Ramadan platformer\n\nplay games answer questions and learn\n\nuse arrow keys\n\n@funkythepanda for an engine\nrest by me\n\ndescription about:\n\n\nRamadan \n\nAttention: Read this because there will be questions on this to play the game.\n\nWhat is Ramadan?\n\n	Ramadan is a time of year in which muslims fast the entire month. And no, We don’t go hungry for a whole month. What actually happens is this entire month we don’t eat from sunrise to sunset. So basically if the sun is down it is okay to eat.\n\nFun Fact: Muslims have been fasting during ramadan for over 1400 years! And nowadays scientists have proved that fasting is good for us. And muslims have been doing this for 1400 years!\n\n	Ramadan is a time for muslims to do good deeds such as: give charity, help each other, give gifts, and other good things.\n\nWhat can you do to help?\n\n	You can celebrate this special month too even if you are not Muslim. Just try to be as helpful, nice, and kind to each other as you possibly can be. Let's all try to have the Ramadan spirit. People have an icon for this as a moon and a star. \n\n~~~~~~~~~~~THANK YOU EVERYONE~~~~~~~~~~\n~~~~~~~~~~~~~~FOR PLAYING~~~~~~~~~~~~~~\n

@Stage\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nset [ghost v] effect to (0)\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [ramadan is coming v] until done\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen flag clicked\nbroadcast (Start v)\n\n@Player\n\ndefine Platform Physics (speed) (friction) (jump height)\nset rotation style [left-right v]\nchange [y vel v] by (-1)\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [x vel v] by (speed)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [x vel v] by ((speed) * (-1))\nend\nset [x vel v] to ((X Vel) * (friction))\nchange x by (X Vel)\nset [slope v] to [0]\nif <touching (level v)?> then\n    repeat until <<not <touching (level v)?>> or <(slope) = [-8]>>\n        change [slope v] by (-1)\n        change y by (1)\n    end\nend\nif <touching (level v)?> then\n    change y by (slope)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (X Vel) ) / (X Vel)) * (-1))\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [y vel v] to [11.5]\n        if <(X Vel) > [0]> then\n            set [x vel v] to [-6]\n        else\n            set [x vel v] to [6]\n        end\n    else\n        set [x vel v] to [0]\n    end\nend\nchange y by (Y Vel)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (Y Vel) ) / (Y Vel)) * (-1))\n    end\n    set [y vel v] to [0]\nend\nchange y by (-1)\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (level v)?>> then\n    start sound [smw_jump v]\n    set [y vel v] to [13]\nend\nchange y by (1)\n\nwhen I receive [start v]\nshow\nset [level v] to [1]\npoint in direction (90)\nswitch costume to (player v)\nset [x vel v] to [0]\nset [y vel v] to [0]\ngo to x: (-215) y: (100)\nrepeat until <(costume [number v]) = [2]>\n    Platform Physics [1] [0.9] [11]\nend\nforever\n    Platform Physics [2] [0.9] [22]\nend\n\nwhen I receive [start v]\nforever\n    if <(x position) > [210]> then\n        go to x: (-215) y: (100)\n        change [level v] by (1)\n        broadcast (Next v)\n        broadcast (slide v)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <<touching (spikes v)?> or <(y position) < [-178]>> then\n        set [x vel v] to [0]\n        set [y vel v] to [0]\n        go to x: (-215) y: (100)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [resetplayer v]\nset [x vel v] to [0]\nset [y vel v] to [0]\ngo to x: (-215) y: (100)\n\nwhen I receive [start v]\nset size to (60) %\n\n@level\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to [front v] layer\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nshow\n\n@spikes\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nshow\n\n@Thumbnail\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Sprite1\n\nwhen flag clicked\nshow\ngo to [front v] layer\ngo to x: (0) y: (0)\nswitch costume to (costume2 v)\ncreate clone of (_myself_ v)\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nforever\n    if <key (up arrow v) pressed?> then\n        glide (0.001) secs to x: (0) y: ((y position) + (-3))\n    end\n    if <key (down arrow v) pressed?> then\n        glide (0.001) secs to x: (0) y: ((y position) + (3))\n    end\nend\n\nwhen [up arrow v] key pressed\nif <not <key (up arrow v) pressed?>> then\n    glide (0.001) secs to x: (0) y: ((y position) + (-50))\nend\n\nwhen [down arrow v] key pressed\nif <not <key (down arrow v) pressed?>> then\n    glide (0.001) secs to x: (0) y: ((y position) + (50))\nend\n\nwhen I start as a clone\nforever\n    go to (sprite1 v)\n    go to [front v] layer\n    if <([y position v] of [sprite1 v]) > [450]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        broadcast (deleteNotice v)\n    end\nend\n\nwhen I receive [deletenotice v]\nhide\nchange [level v] by (1)\nbroadcast (resetPlayer v)\ndelete this clone\n\n@white out\n\nwhen I receive [slide v]\nshow\ngo to [front v] layer\ngo to x: (0) y: (-1000)\nrepeat (40)\n    change y by (((0) - (y position)) / (5))\nend\nbroadcast (next v)\nset y to (1)\nrepeat (8)\n    change y by (y position)\nend\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [you won v]\ngo to x: (0) y: (0)\nstop [other scripts in sprite v]\n\n@testGraphics\n\nwhen I receive [quiz v]\nset [clonebatch# v] to [1]\nshow\ngo to [front v] layer\nswitch costume to (a v)\ncreate clone of (_myself_ v)\nswitch costume to (b v)\ncreate clone of (_myself_ v)\nswitch costume to (c v)\ncreate clone of (_myself_ v)\nswitch costume to (ba v)\nwait (0.1) seconds\nswitch costume to (join [a] (question#))\ncreate clone of (_myself_ v)\nswitch costume to (join [b] (question#))\ncreate clone of (_myself_ v)\nswitch costume to (join [c] (question#))\ncreate clone of (_myself_ v)\nswitch costume to (join [q] (question#))\ncreate clone of (_myself_ v)\nswitch costume to (ba v)\n\nwhen I start as a clone\nif <(clonebatch#) = [1]> then\n    wait (0.1) seconds\n    set [clonebatch# v] to [2]\n    forever\n        go to [front v] layer\n        if <<mouse down?> and <touching (mouse-pointer v)?>> then\n            if <<<mouse down?> and <touching (mouse-pointer v)?>> and <(answer) = (letter (1) of (costume [name v]))>> then\n                broadcast (hideQuiz v)\n            else\n                broadcast (wrong v)\n            end\n        end\n    end\nend\nif <(clonebatch#) = [2]> then\n    forever\n        go to [front v] layer\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [hidequiz v]\nhide\ndelete this clone\n\nwhen I receive [wrong v]\nif <<[2] = (costume [number v])> or <[1] = (costume [number v])>> then\n    switch costume to (ba2 v)\n    wait (2) seconds\n    switch costume to (ba v)\n    change [level v] by (-2)\n    set [clonebatch# v] to [0]\n    repeat (10)\n        broadcast (hideQuiz v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [4]> then\n        set [answer v] to [a]\n        set [question# v] to [1]\n        broadcast (quiz v)\n        wait until <not <(Level) = [4]>>\n    else\n        if <(Level) = [6]> then\n            set [answer v] to [b]\n            set [question# v] to [2]\n            broadcast (quiz v)\n            wait until <not <(Level) = [6]>>\n        else\n            if <(Level) = [8]> then\n                set [answer v] to [c]\n                set [question# v] to [3]\n                broadcast (quiz v)\n                wait until <not <(Level) = [8]>>\n            else\n                if <(Level) = [11]> then\n                    set [answer v] to [c]\n                    set [question# v] to [4]\n                    broadcast (quiz v)\n                    wait until <not <(Level) = [11]>>\n                end\n            end\n        end\n    end\nend\n\n