1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
const Renderer = {
drawHex(ctx, hex, x, y, size, fillStyle, strokeStyle) {
ctx.beginPath();
for (let i = 0; i < 6; i++) {
const angle = 2 * Math.PI / 6 * i;
const xPos = x + size * Math.cos(angle);
const yPos = y + size * Math.sin(angle);
if (i === 0) ctx.moveTo(xPos, yPos);
else ctx.lineTo(xPos, yPos);
}
ctx.closePath();
if (fillStyle) {
ctx.fillStyle = fillStyle;
ctx.fill();
}
if (strokeStyle) {
ctx.strokeStyle = strokeStyle;
ctx.stroke();
}
},
drawCircle(ctx, x, y, radius, fillStyle) {
ctx.fillStyle = fillStyle;
ctx.beginPath();
ctx.arc(x, y, radius, 0, Math.PI * 2);
ctx.fill();
}
};
|