= {
r: ["rgb(215, 155, 45)"],
// turns out df has a lot of rocks
// there are repeated colors but that should be good for recreating the general distribution
"•": [
"rgb(255, 255, 255)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(215, 155, 45)",
"rgb(255, 255, 255)",
"rgb(255, 255, 255)",
"rgb(215, 155, 45)",
"rgb(255, 255, 255)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
"rgb(192, 192, 192)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
"rgb(192, 192, 192)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
"rgb(192, 192, 192)",
"rgb(255, 255, 255)",
"rgb(192, 192, 192)",
"rgb(255, 255, 255)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
],
g: ["white"],
b: [
"rgb(160, 160, 160)",
"rgb(192, 192, 192)",
"rgb(192, 192, 192)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(255, 17, 58)",
"rgb(140, 102, 255)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
"rgb(255, 255, 255)",
"rgb(255, 255, 255)",
"rgb(255, 113, 17)",
"rgb(167, 60, 213)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
"rgb(162, 220, 52)",
],
p: [
"rgb(140, 102, 255)",
"rgb(232, 17, 255)",
"rgb(140, 102, 255)",
"rgb(192, 192, 192)",
"rgb(192, 192, 192)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(19, 253, 101)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(232, 17, 255)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(255, 17, 58)",
"rgb(255, 17, 58)",
"rgb(140, 102, 255)",
"rgb(255, 255, 255)",
"rgb(140, 102, 255)",
"rgb(160, 160, 160)",
"rgb(255, 255, 255)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
],
M: [
"rgb(192, 192, 192)",
"rgb(215, 155, 45)",
"rgb(18, 254, 207)",
"rgb(192, 192, 192)",
"rgb(160, 160, 160)",
"rgb(140, 102, 255)",
"rgb(19, 253, 101)",
"rgb(192, 192, 192)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(192, 192, 192)",
"rgb(160, 160, 160)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(232, 17, 255)",
"rgb(255, 17, 58)",
"rgb(255, 113, 17)",
"rgb(160, 160, 160)",
"rgb(160, 160, 160)",
"rgb(255, 113, 17)",
"rgb(255, 113, 17)",
"rgb(215, 155, 45)",
"rgb(215, 155, 45)",
"rgb(160, 160, 160)",
"rgb(18, 254, 207)",
"rgb(160, 160, 160)",
],
"☺": ["grey", "rgb(113, 187, 176)"],
};
const StaticGuy = () => {
const stat = pick_random(statics);
return (
{stat}
);
};
const Field = ({ width }: { width: number }) => (
{new Array(width * width)
.fill(undefined)
.map((_, i) =>
Math.random() < 0.05 ? (
) : (
)
)}
);
// it's funny how the whole idea was to emulate waves of grass but then i just
// didn't do that because it's hawd :[
// okay, seeing how pretty the waves in the wrapped text of the source are has
// inspired me. i'm going to work on this tomorrow and do the hawd thing (waves)
// adding more grass doesn't really help and mainly just causes size problems
// takes some shuffling to get a nice distribution of statics
render_and_copy();