fix(client_web): "jan de retour" location
This commit is contained in:
parent
c0409d6121
commit
874a302524
4 changed files with 74 additions and 77 deletions
|
|
@ -785,13 +785,13 @@ body {
|
|||
.board-quarter .field.zone-petit:nth-child(even),
|
||||
.board-quarter .field.zone-grand:nth-child(even) { --fc: var(--field-ivory); }
|
||||
|
||||
/* Jan de retour — cooler: dark teal / silvery-green ivory */
|
||||
.board-quarter .field.zone-retour:nth-child(odd) { --fc: #1e3d32; }
|
||||
.board-quarter .field.zone-retour:nth-child(even) { --fc: #e5eadc; }
|
||||
/* Opponent's grand-jan — cooler: dark teal / silvery-green ivory */
|
||||
.board-quarter .field.zone-opponent:nth-child(odd) { --fc: #1e3d32; }
|
||||
.board-quarter .field.zone-opponent:nth-child(even) { --fc: #e5eadc; }
|
||||
|
||||
/* Dernier jan — warmer: amber-brown / warm amber ivory */
|
||||
.board-quarter .field.zone-dernier:nth-child(odd) { --fc: #6a2810; }
|
||||
.board-quarter .field.zone-dernier:nth-child(even) { --fc: #f2dfa0; }
|
||||
/* Jan de retour — warmer: amber-brown / warm amber ivory */
|
||||
.board-quarter .field.zone-retour:nth-child(odd) { --fc: #6a2810; }
|
||||
.board-quarter .field.zone-retour:nth-child(even) { --fc: #f2dfa0; }
|
||||
|
||||
/* ── Rest corner (§3) — before .clickable so green wins when interactive ── */
|
||||
.field.corner { --fc: var(--field-corner) !important; }
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@ fn field_zone_class(field_num: u8) -> &'static str {
|
|||
match field_num {
|
||||
1..=6 => "zone-petit",
|
||||
7..=12 => "zone-grand",
|
||||
13..=18 => "zone-retour",
|
||||
19..=24 => "zone-dernier",
|
||||
13..=18 => "zone-opponent",
|
||||
19..=24 => "zone-retour",
|
||||
_ => "",
|
||||
}
|
||||
}
|
||||
|
|
@ -143,7 +143,6 @@ fn field_center(f: usize, is_white: bool) -> Option<(f32, f32)> {
|
|||
Some((x, y))
|
||||
}
|
||||
|
||||
|
||||
/// SVG `<g>` element drawing one arrow (shadow + gold) from `fp` to `tp`.
|
||||
fn arrow_svg(fp: (f32, f32), tp: (f32, f32)) -> AnyView {
|
||||
let (x1, y1) = fp;
|
||||
|
|
@ -515,7 +514,6 @@ pub fn Board(
|
|||
}
|
||||
};
|
||||
|
||||
|
||||
let (tl, tr, bl, br) = if is_white {
|
||||
(&TOP_LEFT_W, &TOP_RIGHT_W, &BOT_LEFT_W, &BOT_RIGHT_W)
|
||||
} else {
|
||||
|
|
@ -524,9 +522,9 @@ pub fn Board(
|
|||
|
||||
// Zone label pairs (top-left, top-right, bot-left, bot-right) per perspective.
|
||||
let (label_tl, label_tr, label_bl, label_br) = if is_white {
|
||||
("jan de retour", "dernier jan", "grand jan", "petit jan")
|
||||
("", "jan de retour", "grand jan", "petit jan")
|
||||
} else {
|
||||
("petit jan", "grand jan", "dernier jan", "jan de retour")
|
||||
("petit jan", "grand jan", "jan de retour", "")
|
||||
};
|
||||
|
||||
view! {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ The board body between triangles becomes visible as the wood/felt surface — th
|
|||
**Proposals**:
|
||||
|
||||
### 2a. Zone labels
|
||||
Add thin labels (`"petit jan"`, `"grand jan"`, `"jan de retour"`, `"dernier jan"`) beneath the board-row (or as a subtle strip above/below the quarter). These should use the serif font at very small size and low opacity — decorative, not noisy.
|
||||
Add thin labels (`"petit jan"`, `"grand jan"`, `"jan de retour"`) beneath the board-row (or as a subtle strip above/below the quarter). These should use the serif font at very small size and low opacity — decorative, not noisy.
|
||||
|
||||
### 2b. Field color shift per zone
|
||||
The physical game uses alternating colors within each quarter, but different quarters can use slightly different base hues:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
This table maps the French game terminology to the English terms used in this codebase (primarily the `store` crate). Where a code identifier exists, it is shown in `monospace`.
|
||||
|
||||
| French | English (code) | Notes |
|
||||
|---|---|---|
|
||||
| -------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| tablier | board | `Board` |
|
||||
| case / flèche | field | `Field` (1–24, 0 = exit); "flèche" (arrow) and "case" both refer to a field/point |
|
||||
| demi-case | half-field | A field occupied by exactly one checker |
|
||||
|
|
@ -14,8 +14,7 @@ This table maps the French game terminology to the English terms used in this co
|
|||
| bande de sortie | exit rail | Same rail, used as an extra field value during exit |
|
||||
| petit jan | small jan | Fields 1–6; `is_field_in_small_jan` |
|
||||
| grand jan | big jan | Fields 7–12 (White's side, opponent's near zone) |
|
||||
| jan de retour | return jan | Fields 13–18; same fields as opponent's small jan |
|
||||
| dernier jan / jan de retour | last jan / last quarter | Fields 19–24; where checkers gather before exiting; `last quarter` |
|
||||
| jan de retour | return jan | Fields 19–24; same fields as opponent's small jan ; where checkers gather before exiting; `last quarter` |
|
||||
| table des petits jans | small jan table | The board half containing both players' small jans (fields 1–12) |
|
||||
| table des grands jans | big jan table | The board half containing both players' big jans (fields 13–24) |
|
||||
| plein (d'un jan) | filled (jan) | All 6 fields of a jan hold ≥ 2 checkers |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue