Real suffering - A Platformer
@Stage\n\nwhen flag clicked\nforever\n    play sound [Infinity v] until done\nend\n\n@Stuff\n\n@You\n\nwhen flag clicked\nhide\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [xv v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching color (#b0d13b)?> then\n        change y by (1)\n        if <touching color (#b5d53b)?> then\n            change y by (1)\n            if <touching color (#b5d53b)?> then\n                change y by (1)\n                if <touching color (#b5d53b)?> then\n                    change y by (1)\n                    if <touching color (#b5d53b)?> then\n                        change y by (1)\n                        if <touching color (#b5d53b)?> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [10]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <touching color (#b5d53b)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#b5d53b)?> then\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [yv v] to [15]\n        end\n    end\n    change y by (1)\nend\n\nwhen flag clicked\nset [color v] to [1]\nforever\n    if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n        point in direction (90)\n        if <(Color) = [1]> then\n            switch costume to (green2 v)\n            wait (0.1) seconds\n            switch costume to (green1 v)\n        end\n        if <(Color) = [2]> then\n            switch costume to (blue2 v)\n            wait (0.1) seconds\n            switch costume to (blue1 v)\n        end\n        if <(Color) = [3]> then\n            switch costume to (pink2 v)\n            wait (0.1) seconds\n            switch costume to (pink1 v)\n        end\n        if <(Color) = [4]> then\n            switch costume to (yellow2 v)\n            wait (0.1) seconds\n            switch costume to (yellow1 v)\n        end\n        if <(Color) = [5]> then\n            switch costume to (tan2 v)\n            wait (0.1) seconds\n            switch costume to (tan1 v)\n        end\n    end\n    if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n        point in direction (-90)\n        if <(Color) = [1]> then\n            switch costume to (green2 v)\n            wait (0.1) seconds\n            switch costume to (green1 v)\n        end\n        if <(Color) = [2]> then\n            switch costume to (blue2 v)\n            wait (0.1) seconds\n            switch costume to (blue1 v)\n        end\n        if <(Color) = [3]> then\n            switch costume to (pink2 v)\n            wait (0.1) seconds\n            switch costume to (pink1 v)\n        end\n        if <(Color) = [4]> then\n            switch costume to (yellow2 v)\n            wait (0.1) seconds\n            switch costume to (yellow1 v)\n        end\n        if <(Color) = [5]> then\n            switch costume to (tan2 v)\n            wait (0.1) seconds\n            switch costume to (tan1 v)\n        end\n    end\nend\n\nwhen flag clicked\ngo to x: (-209) y: (-54)\n\nwhen I receive [play v]\n\n\n\n\n\n\nswitch costume to (green2 v)\nwait (0.1) seconds\nswitch costume to (green1 v)\n\nif <(Color) = []> then\n\nwhen I receive [play v]\nwait (0.1) seconds\nshow\ngo to x: (-209) y: (-19)\nif <(Color) = [1]> then\n    switch costume to (green1 v)\nend\nif <(Color) = [2]> then\n    switch costume to (blue1 v)\nend\nif <(Color) = [3]> then\n    switch costume to (pink1 v)\nend\nif <(Color) = [4]> then\n    switch costume to (yellow1 v)\nend\nif <(Color) = [5]> then\n    switch costume to (tan1 v)\nend\n\nwhen flag clicked\nforever\n    if <touching (flag v)?> then\n        go to x: (-209) y: (-72)\n        broadcast (New Level v)\n    end\n    if <<touching (coin v)?> or <touching (drag v)?>> then\n        go to x: (-209) y: (-72)\n        broadcast (Coins are bad v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (spikes v)?> then\n        go to x: (159) y: (-72)\n    end\nend\n\nglide (1) secs to x: (x position) y: ((y position) + (1000))\n\nwhen flag clicked\n\nforever\n    if <touching (edge v)?> then\n    end\nend\n\ngo to x: (159) y: (-72)\n\n@Levels\n\nhide\n\nwhen I receive [play v]\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [new level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\n@skin select\n\nwhen flag clicked\nhide\nswitch costume to (green v)\nforever\n    set [color v] to (costume [number v])\nend\n\nwhen I receive [left v]\nswitch costume to (join [] [previous costume])\n\nwhen I receive [right v]\nnext costume\n\nwhen I receive [skin v]\nshow\n\nwhen I receive [play v]\nhide\n\n@sign\n\n@Sign\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\nforever\n    if <<touching (you v)?> and <<key (down arrow v) pressed?> or <key (s v) pressed?>>> then\n        broadcast (Show sign v)\n    else\n        broadcast (HIde sign v)\n    end\nend\n\nwhen I receive [play v]\nshow\n\nwhen I receive [new level v]\nnext costume\n\n@Sign Message\n\nwhen I receive [hide sign v]\nhide\n\nwhen I receive [show sign v]\nshow\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [new level v]\nnext costume\n\n@>\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nbroadcast (RIght v)\n\nwhen I receive [skin v]\nshow\n\nwhen I receive [play v]\nhide\n\nshow\n\n@<\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nbroadcast (Left v)\n\nwhen I receive [skin v]\nshow\n\nwhen I receive [play v]\nhide\n\n@Play2\n\nwhen this sprite clicked\nhide\nbroadcast (Play v)\n\nwhen flag clicked\nhide\n\nwhen I receive [skin v]\nshow\n\n@Flag\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\nshow\n\nwhen flag clicked\nforever\n    wait (0.1) seconds\n    next costume\nend\n\n@Coin\n\nwhen flag clicked\nhide\ngo to x: (36) y: (28)\nforever\n    glide (1) secs to x: (36) y: (36)\n    go to x: (36) y: (36)\n    glide (1) secs to x: (36) y: (28)\n    go to x: (36) y: (28)\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [new level v]\nnext costume\ngo to x: (36) y: (28)\nif <(costume [number v]) = [5]> then\n    broadcast (Show coin v)\nelse\n    broadcast (hide coin v)\nend\n\nwhen I receive [play v]\nshow\n\nforever\n    if <(costume [number v]) = [5]> then\n        set size to (1000) %\n        set drag mode [draggable v]\n    else\n        set size to (250) %\n        set drag mode [not draggable v]\n    end\nend\n\n@Coins are bad\n\nwhen flag clicked\nhide\n\nwhen I receive [coins are bad v]\nshow\nwait (2) seconds\nhide\n\n@Spikes\n\nwhen I receive [new level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [play v]\nshow\n\n@drag\n\nwhen flag clicked\nhide\nset drag mode [draggable v]\ngo to x: (0) y: (0)\n\nwhen I receive [show coin v]\nshow\n\nwhen I receive [hide coin v]\nhide\n\n@SKin\n\nwhen I receive [play v]\nhide\n\nwhen flag clicked\nshow\n\nwhen this sprite clicked\nhide\nbroadcast (Skin v)\n\n@Edge\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n@Thumb\n\nwhen flag clicked\nhide\n\n
Sequel: https://scratch.mit.edu/projects/622278681\nYou already know how to use the movement keys, hold down or s to read signs. If you're wondering what the select option is at the start, it's a choice on what skin you want to wear.\n\nRead this:\nSince I've been getting a lot of comments, I'm going to stop replying to "How do you do ___?" comments now.\nDrag the coin.\n\n#games #art #all