Couleur des flèches selon leur numéro (impaires point-a, paires point-b)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-03 09:54:09 +01:00
co-authored by Claude Opus 5.5
parent 1f324cfef0
commit 77c76deacd
3 changed files with 29 additions and 2 deletions
+8
View File
@@ -139,6 +139,14 @@ export function moveTrace(
return { side, arrows, landed, left, hits: hits.filter(Boolean).length };
}
/** La couleur d'une flèche (case), d'après son numéro affiché (1 à 24,
* pour le joueur) : impaire en point-a, paire en point-b (charte). Jamais
* d'après sa colonne : les cases 12 et 13, l'une au-dessus de l'autre,
* n'ont pas la même couleur. */
export function pointColor(number: number): "point-a" | "point-b" {
return number % 2 === 1 ? "point-a" : "point-b";
}
/** Où se trouve une case sur le dessin : rangée du haut ou du bas, et
* colonne de 0 (à gauche) à 11 (à droite), sans compter la barre. */
export function pointSlot(number: number): { top: boolean; column: number } {
+8 -2
View File
@@ -11,7 +11,13 @@
import type { Cube } from "../domain/game/cube.js";
import type { Side } from "../domain/game/side.js";
import { type BoardModel, type MoveTrace, type Place, pointSlot } from "./board-model.js";
import {
type BoardModel,
type MoveTrace,
type Place,
pointColor,
pointSlot,
} from "./board-model.js";
import { TEXTS } from "./texts.js";
/** Un dé affiché, de la couleur du camp qui l'a lancé. */
@@ -221,7 +227,7 @@ function drawPoint(
const base = top ? FRAME : HEIGHT - FRAME;
const tip = top ? FRAME + POINT_HEIGHT : HEIGHT - FRAME - POINT_HEIGHT;
add(svg, "polygon", {
class: column % 2 === 0 ? "point-a" : "point-b",
class: pointColor(number),
points: `${left},${base} ${left + POINT_WIDTH},${base} ${center},${tip}`,
});
add(