Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d13a4ef25 | ||
|
|
22f408cc60 |
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "leggenda-del-regolo",
|
"name": "leggenda-del-regolo",
|
||||||
"version": "0.1.38",
|
"version": "0.1.39",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+8
-7
@@ -2781,13 +2781,6 @@ export const story = {
|
|||||||
speakers: { chiaru: [520, 214] },
|
speakers: { chiaru: [520, 214] },
|
||||||
people: [{ who: 'chiaru', at: [520, 318], facing: -1, idle: 'stand', talk: ['talk', 'explain'], blink: 'blink', every: 3.7 }],
|
people: [{ who: 'chiaru', at: [520, 318], facing: -1, idle: 'stand', talk: ['talk', 'explain'], blink: 'blink', every: 3.7 }],
|
||||||
hotspots: [
|
hotspots: [
|
||||||
{
|
|
||||||
id: 'chiaru', name: 'il Chiaru', box: [500, 240, 40, 78], at: [470, 330], face: 'right', default: 'talk',
|
|
||||||
actions: {
|
|
||||||
look: [{ say: 'Il Chiaru, con le ginocchia bianche di gesso e una Formula 1 blu in mano.' }],
|
|
||||||
talk: [{ dialogue: 'chiaru' }],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: 'parcheggio', name: 'parcheggio', box: [356, 262, 280, 60], at: [450, 330], face: 'right',
|
id: 'parcheggio', name: 'parcheggio', box: [356, 262, 280, 60], at: [450, 330], face: 'right',
|
||||||
actions: {
|
actions: {
|
||||||
@@ -2830,6 +2823,14 @@ export const story = {
|
|||||||
{
|
{
|
||||||
id: 'al_trappola', name: 'a sinistra, dal Trappola', box: [0, 236, 50, 104], at: [20, 352], exit: { scene: 'via_liguri_magelli', at: [264, 202], face: 'down' },
|
id: 'al_trappola', name: 'a sinistra, dal Trappola', box: [0, 236, 50, 104], at: [20, 352], exit: { scene: 'via_liguri_magelli', at: [264, 202], face: 'down' },
|
||||||
},
|
},
|
||||||
|
// In fondo all'elenco, così sta sopra a parcheggio e casa: il clic sul Chiaru è suo (l'ultimo della lista vince).
|
||||||
|
{
|
||||||
|
id: 'chiaru', name: 'il Chiaru', box: [498, 212, 46, 106], at: [470, 330], face: 'right', default: 'talk',
|
||||||
|
actions: {
|
||||||
|
look: [{ say: 'Il Chiaru, con le ginocchia bianche di gesso e una Formula 1 blu in mano.' }],
|
||||||
|
talk: [{ dialogue: 'chiaru' }],
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
// L'ingresso della scuola, giù per la strada dalla salita di Villa Adami: dal cancello alle porte a vetri.
|
// L'ingresso della scuola, giù per la strada dalla salita di Villa Adami: dal cancello alle porte a vetri.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// La versione del gioco: la cambia scripts/bump.sh, insieme a package.json.
|
// La versione del gioco: la cambia scripts/bump.sh, insieme a package.json.
|
||||||
export const VERSION = '0.1.38';
|
export const VERSION = '0.1.39';
|
||||||
|
|
||||||
// Immagini, musiche e voci con ?v=<versione>: a ogni versione l'indirizzo cambia e il browser le riscarica,
|
// Immagini, musiche e voci con ?v=<versione>: a ogni versione l'indirizzo cambia e il browser le riscarica,
|
||||||
// mentre fra una versione e l'altra le tiene in cache a lungo (nginx.conf).
|
// mentre fra una versione e l'altra le tiene in cache a lungo (nginx.conf).
|
||||||
|
|||||||
@@ -169,6 +169,8 @@ test('il disegno: gesso, macchinine, guida e risultato; lo stato non cambia', ()
|
|||||||
test('il Chiaru al parcheggio di Cardetole: si chiacchiera, si sceglie il livello e si corre', () => {
|
test('il Chiaru al parcheggio di Cardetole: si chiacchiera, si sceglie il livello e si corre', () => {
|
||||||
assert.ok(MINIGAMES.micro);
|
assert.ok(MINIGAMES.micro);
|
||||||
const g = new Game(story); g.go('cardetole'); settle(g);
|
const g = new Game(story); g.go('cardetole'); settle(g);
|
||||||
|
// Il clic su tutto il Chiaru (testa, pancia, gambe) è suo, anche dove sta sopra al parcheggio.
|
||||||
|
for (const y of [222, 260, 300, 314]) assert.equal(g.hotspotAt([520, y])?.id, 'chiaru', `clic a y=${y}`);
|
||||||
g.act('talk', 'chiaru'); settle(g);
|
g.act('talk', 'chiaru'); settle(g);
|
||||||
assert.ok(!g.options().some(o => o.text === 'Seria.'), 'il livello non si sceglie subito');
|
assert.ok(!g.options().some(o => o.text === 'Seria.'), 'il livello non si sceglie subito');
|
||||||
g.choose(g.options().findIndex(o => o.text === 'Si corre?')); settle(g);
|
g.choose(g.options().findIndex(o => o.text === 'Si corre?')); settle(g);
|
||||||
|
|||||||
Reference in New Issue
Block a user