I nomi dei crediti escono in ordine casuale a ogni apertura

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ApqNBvNbNCwXqR2RLo8QJh
This commit is contained in:
2026-10-24 17:41:00 +02:00
co-authored by Claude Opus 5.5
parent 224c066322
commit 1d73139d46
3 changed files with 40 additions and 10 deletions
+12
View File
@@ -38,6 +38,18 @@ export const miniature = src => src?.replace(/([^/]+)$/, 'mini/$1') ?? null;
// Una riga dell'introduzione: un testo, oppure { rione: { id: testo } } con la riga del rione scelto.
export const introText = (line, rione) => typeof line === 'string' ? line : line.rione[rione] ?? Object.values(line.rione)[0];
// I crediti con i nomi di ogni voce in ordine casuale: nessuno viene sempre per primo.
export function shuffledCredits(credits, random = Math.random) {
return credits.map(({ role, names }) => {
const list = [...names];
for (let i = list.length - 1; i > 0; i--) {
const j = Math.floor(random() * (i + 1));
[list[i], list[j]] = [list[j], list[i]];
}
return { role, names: list };
});
}
export const sayTime = text => Math.max(1.6, 0.9 + text.length * 0.055);
export function newState(story) {