summaryrefslogtreecommitdiffstats
path: root/site/arena.mjs
diff options
context:
space:
mode:
authorbrian cully <bjc@spork.org>2025-12-24 13:08:05 -0500
committerbrian cully <bjc@spork.org>2025-12-24 13:15:12 -0500
commitc0f04b7b82ef971c1a50da3c65f155ad2c75031b (patch)
tree52155f4614be4045fb2742f18452f2f00ac334c1 /site/arena.mjs
parent2cb740e9235a93e302586747bbb22c929068b6f6 (diff)
downloadautomathon-c0f04b7b82ef971c1a50da3c65f155ad2c75031b.tar.gz
automathon-c0f04b7b82ef971c1a50da3c65f155ad2c75031b.zip
step 5: cleanup
- src highlight - multiple robo colors - display inspectors side-by-side
Diffstat (limited to 'site/arena.mjs')
-rw-r--r--site/arena.mjs13
1 files changed, 9 insertions, 4 deletions
diff --git a/site/arena.mjs b/site/arena.mjs
index 83f0f05..5ca3c32 100644
--- a/site/arena.mjs
+++ b/site/arena.mjs
@@ -54,7 +54,7 @@ export default class extends HTMLElement {
this.#ctx.clearRect(0, 0, this.#canvas.width, this.#canvas.height);
- robos.forEach(robo => {
+ robos.forEach((robo, i) => {
// interpolation factor for smoother movement independent
// of tick rate, but never tween more than 1 tick.
const delta = robo.lastTick ? now - robo.lastTick : 0;
@@ -66,12 +66,17 @@ export default class extends HTMLElement {
].map(x => timeScale * x);
[x, y] = this.clamp(this.constructor.radius, robo.x + velx, robo.y + vely);
}
- this.#renderRobo(x, y);
+ this.#renderRobo(i, x, y);
});
}
- #renderRobo(x, y) {
- this.#ctx.fillStyle = 'rgb(200 0 0)';
+ #colors = ['rgb(200 0 0)', 'rgb(0 0 200)'];
+ #colorFor(i) {
+ return this.#colors[i % this.#colors.length];
+ }
+
+ #renderRobo(i, x, y) {
+ this.#ctx.fillStyle = this.#colorFor(i);
this.#ctx.beginPath();
this.#ctx.arc(x, y, this.constructor.radius, 0, 2 * Math.PI);
this.#ctx.fill();