Mappa a gradini con le miniature; Campomigliaio dalle foto dell'Arcu; Marco Arcuri nei crediti
- la mappa: una scheda per posto con la miniatura del suo sfondo e il nome, in quattro fasce come il paese a gradini, le strade disegnate fra le schede; sta in una schermata sul desktop - tools/miniature.py (make miniature): le miniature 128x72 a 64 colori in assets/scenes/mini/ - tre sfondi di Campomigliaio generati da Codex dalle foto di Marco Arcuri (ponte, Circolo SMS, strada), pronti a 640x360 ma non ancora collegati - Marco Arcuri «l'Arcu» nei crediti, fra le fotografie Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ApqNBvNbNCwXqR2RLo8QJh
This commit is contained in:
+4
-1
@@ -32,6 +32,9 @@ export function check(cond, state) {
|
||||
// Un oggetto è «piccolo» per il dito sotto i 24×24 pixel di scena: col tocco ha la precedenza sui vicini grandi.
|
||||
const SMALL_AREA = 24 * 24;
|
||||
|
||||
// La miniatura di uno sfondo per la mappa (tools/miniature.py): assets/scenes/x.png -> assets/scenes/mini/x.png.
|
||||
export const miniature = src => src?.replace(/([^/]+)$/, 'mini/$1') ?? null;
|
||||
|
||||
export const sayTime = text => Math.max(1.6, 0.9 + text.length * 0.055);
|
||||
|
||||
export function newState(story) {
|
||||
@@ -313,7 +316,7 @@ export class Game {
|
||||
mapPlaces() {
|
||||
return Object.entries(this.story.scenes)
|
||||
.filter(([id, sc]) => sc.map && this.state.flags['visto:' + id])
|
||||
.map(([id, sc]) => ({ id, name: sc.name, at: sc.map, here: id === this.state.scene }));
|
||||
.map(([id, sc]) => ({ id, name: sc.name, at: sc.map, here: id === this.state.scene, mini: miniature(sc.background) }));
|
||||
}
|
||||
mapRoads() {
|
||||
const seen = new Set(this.mapPlaces().map(p => p.id)), roads = new Map();
|
||||
|
||||
Reference in New Issue
Block a user