|
10 months ago | |
---|---|---|
README.md | 10 months ago |
README.md
poopclick
esolang where you poop to do stuff
poopclick is based on a day system where you are able to poop a certain number of times determined by your poop worth. to gain passive poops per day by buying things from the shop such as grandmas or mini-poopers (more expensive ones will produce higher quality poop).
each time you or something poops, the poop age will start at 0
you can read input from stdin by finding poops on the ground and they are stored in the poop hash with the key determined by the current day.
when you sleep, each poop in the hash will age by one, so if you found an 'e' poop on day 1, on day 3 it would be an 'g' poop as it would have aged 2 days and the ascii value would have gone from 101 to 103. you are able to sleep as many times in a row as you want
you can go back in time if you want to be able to access those poops at an earlier stage, but it will cost you some poops that have a value of greater or equal to the days you want to go back. if you sleep for 5 days, you cannot go back to yesterday, but only 5 days ago
if you want to print characters to the screen, you need to give your poops to the poop character master. you can also print numbers by giving your poops to the poop number master.
you are able to sell poops you don't want them anymore for poop coins which are used for rewinding
you can pick up a poop by specifying the day and the index of the poop you want
commands:
- poop => add a poop of age 0 to self poop hash
- find => add a poop from standard input to poop hash
- sleep (day_count: USIZE) => sleep n days, aging each poop in poop hash by n days
- sleep => sleep one day
- pickup (day: USIZE) (index: USIZE) => pick up poop on a day at an index
- pickup (day: USIZE) => pick up all of your poop on a day
- rewind (day_count: USIZE) => reverse of sleep, but only to days where you were awake (will only work if (holding value >= day_count) and will consume all poop in hand)
- rewind => rewind 1 day
- give (char-master | num-master) => give char or number master all the current poops on hand
- buy (item: SHOP_ITEM) => buy an item in the shop (no change given)
- eject => eject all poop you are holding
- equal (num: USIZE) (day: USIZE) (index: USIZE) => check if ascii value for poop at that index is equal to "num" and pick it up if it is