Il Taglia (Andrea Tagliaferri, col suo consenso) al campone delle poste, più alto di Andrea, sprite di Codex dalla sua foto: si gareggia con la Condor parlandogli (Andrea)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GiECd9KMfjthRUnujCGSzZ
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"image": "taglia.png",
|
||||
"height": 120,
|
||||
"frames": {
|
||||
"stand": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"w": 54,
|
||||
"h": 120,
|
||||
"ax": 27.7,
|
||||
"ay": 120
|
||||
},
|
||||
"blink": {
|
||||
"x": 56,
|
||||
"y": 0,
|
||||
"w": 54,
|
||||
"h": 120,
|
||||
"ax": 27.7,
|
||||
"ay": 120
|
||||
},
|
||||
"talk": {
|
||||
"x": 112,
|
||||
"y": 0,
|
||||
"w": 75,
|
||||
"h": 120,
|
||||
"ax": 32.2,
|
||||
"ay": 120
|
||||
},
|
||||
"explain": {
|
||||
"x": 189,
|
||||
"y": 0,
|
||||
"w": 64,
|
||||
"h": 120,
|
||||
"ax": 33.6,
|
||||
"ay": 120
|
||||
},
|
||||
"laugh": {
|
||||
"x": 255,
|
||||
"y": 0,
|
||||
"w": 59,
|
||||
"h": 121,
|
||||
"ax": 25.2,
|
||||
"ay": 121
|
||||
},
|
||||
"aim": {
|
||||
"x": 316,
|
||||
"y": 0,
|
||||
"w": 97,
|
||||
"h": 114,
|
||||
"ax": 55.6,
|
||||
"ay": 114
|
||||
},
|
||||
"shrug": {
|
||||
"x": 415,
|
||||
"y": 0,
|
||||
"w": 91,
|
||||
"h": 117,
|
||||
"ax": 44.2,
|
||||
"ay": 117
|
||||
},
|
||||
"throw": {
|
||||
"x": 508,
|
||||
"y": 0,
|
||||
"w": 71,
|
||||
"h": 120,
|
||||
"ax": 30.3,
|
||||
"ay": 120
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 102 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -683,6 +683,10 @@
|
||||
"file": "andrea-c716ab2381.mp3",
|
||||
"sec": 7.95
|
||||
},
|
||||
"andrea|Il Taglia. Io sono un metro e ottanta, e lui mi guarda dall'alto. Con la Condor in mano.": {
|
||||
"file": "andrea-f1663e7892.mp3",
|
||||
"sec": 8.52
|
||||
},
|
||||
"andrea|Il giardino coi cedri e le panchine. All'ombra, d'estate, ci si fa la siesta a turno.": {
|
||||
"file": "andrea-4fd811d0c7.mp3",
|
||||
"sec": 6.43
|
||||
@@ -2791,6 +2795,54 @@
|
||||
"file": "pierino_parigi-8104163151.mp3",
|
||||
"sec": 3.3
|
||||
},
|
||||
"andrea|Taglia! Si fa una gara con la Condor?": {
|
||||
"file": "andrea-99f683209e.mp3",
|
||||
"sec": 3.41
|
||||
},
|
||||
"andrea|A cosa si tira?": {
|
||||
"file": "andrea-3f77b83f35.mp3",
|
||||
"sec": 0.87
|
||||
},
|
||||
"andrea|Ma quanto sei alto, Taglia?": {
|
||||
"file": "andrea-01ecdf3ed8.mp3",
|
||||
"sec": 1.96
|
||||
},
|
||||
"andrea|Ci si vede, Taglia.": {
|
||||
"file": "andrea-5d4d911c06.mp3",
|
||||
"sec": 1.42
|
||||
},
|
||||
"taglia|Io ho già tirato: ora tocca a te. Dodici pallini gialli, e devi fare più di me.": {
|
||||
"file": "taglia-2658ec8482.mp3",
|
||||
"sec": 6.05
|
||||
},
|
||||
"taglia|Come la vuoi?": {
|
||||
"file": "taglia-32a067db10.mp3",
|
||||
"sec": 0.62
|
||||
},
|
||||
"taglia|Il cartone sull'albero, le lattine sulla panchina, le bottigliette sulla porta e il palloncino all'altalena.": {
|
||||
"file": "taglia-670f9b4ef8.mp3",
|
||||
"sec": 7.15
|
||||
},
|
||||
"taglia|E se la vuoi seria, ogni tanto ti tiro una lattina in aria.": {
|
||||
"file": "taglia-ac012a1066.mp3",
|
||||
"sec": 4.21
|
||||
},
|
||||
"taglia|Abbastanza da vedere i pallini arrivare prima di te.": {
|
||||
"file": "taglia-d99c875252.mp3",
|
||||
"sec": 2.57
|
||||
},
|
||||
"taglia|Alla bona: ti faccio vedere dove arriva il pallino.": {
|
||||
"file": "taglia-757564b65e.mp3",
|
||||
"sec": 3.12
|
||||
},
|
||||
"taglia|Seria. Occhio alla lattina in aria.": {
|
||||
"file": "taglia-06abe0c427.mp3",
|
||||
"sec": 3.06
|
||||
},
|
||||
"taglia|A fassi male? Allora tiro più forte, e più spesso.": {
|
||||
"file": "taglia-4117f6613d.mp3",
|
||||
"sec": 4.84
|
||||
},
|
||||
"andrea|Si fa una gara alle macchinine?!?!": {
|
||||
"file": "andrea-17216997e2.mp3",
|
||||
"sec": 2.74
|
||||
@@ -3233,15 +3285,27 @@
|
||||
},
|
||||
"andrea|Battuto il Taglia! Con la sua Condor, per giunta.": {
|
||||
"file": "andrea-3ff6547461.mp3",
|
||||
"sec": 10.2
|
||||
"sec": 3.73
|
||||
},
|
||||
"taglia|Fortuna. Domani la rivinco.": {
|
||||
"file": "taglia-39627c5b3a.mp3",
|
||||
"sec": 2.78
|
||||
},
|
||||
"andrea|Il Taglia ha la mano ferma. Io ho il fiatone.": {
|
||||
"file": "andrea-6eabf3443c.mp3",
|
||||
"sec": 3.83
|
||||
},
|
||||
"andrea|Pari. Si rifà, tanto i pallini gialli un mancano mai.": {
|
||||
"file": "andrea-6e4ba77b44.mp3",
|
||||
"sec": 5.67
|
||||
"taglia|Si torna quando vuoi. I pallini gialli un mancano mai.": {
|
||||
"file": "taglia-bb0a942c0e.mp3",
|
||||
"sec": 4.42
|
||||
},
|
||||
"andrea|Pari. Si rifà?": {
|
||||
"file": "andrea-5625b5f1fd.mp3",
|
||||
"sec": 2.21
|
||||
},
|
||||
"taglia|Si rifà.": {
|
||||
"file": "taglia-18973374a5.mp3",
|
||||
"sec": 0.76
|
||||
},
|
||||
"andrea|La Condor la rendo al Taglia. Per ora.": {
|
||||
"file": "andrea-aba12c5241.mp3",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -31,6 +31,7 @@ ne è un'opera derivata. Le foto scattate da Andrea non hanno problemi; quelle p
|
||||
| `provinciale-pignone.png`, `piazzetta-cambray-digny.png`, `via-cipriani.png`, `via-massorondinaio.png`, `mozzete.png`, `ponticino-mozzete.png`, `coldaia.png`, `falegnameria-coldaia.png`, `gabbiano.png` | Codex | screenshot di Google Street View | Google | **no**: da rifare con foto di Andrea |
|
||||
| `closeups/micro-parcheggio.png`, `closeups/micro/*.png` (macchinine) | Codex, solo testo | nessuna | — | sì |
|
||||
| `characters/chiaru.png` | Codex | `foto/chiaru.jpg` | Andrea (29 ottobre) | sì (il Chiaru consenziente) |
|
||||
| `characters/taglia.png` | Codex | `foto/taglia.png` | Andrea (29 ottobre) | sì (il Taglia consenziente) |
|
||||
| `via-liguri-magelli-muro.png` | Codex, ritocco di `via-liguri-magelli.png` con la Ghiacciomobile nel muro | come `via-liguri-magelli.png` | Street View | **no**: come lo sfondo da cui viene |
|
||||
| `characters/zio_mario.png` | Codex | `foto/zio-mario.png` | Andrea (29 ottobre) | sì (famiglia di Andrea) |
|
||||
| `terrazza-cardetole.png` | Codex (dalla foto, poi il terrazzo davanti) | `cardetole-finestra.jpg` | Andrea (29 ottobre) | **da decidere**: come `cardetole.png`, dice dove abita Andrea |
|
||||
|
||||
+2
-1
@@ -24,7 +24,8 @@ Online su 50037.manzolo.it tutto fino agli effetti ambientali di Codex. Aperto,
|
||||
spara, troppo e il colpo parte da solo. Il pallino cala con la distanza (alla porta in fondo si mira sopra). Il
|
||||
cartone sull'albero (10/5/2), le lattine sulla panchina (3), le bottigliette sulla traversa (5), il palloncino
|
||||
all'altalena (6), la lattina tirata in aria dal Taglia a seria e a fassi male (8). Si deve battere il punteggio del
|
||||
Taglia (22, 34, 44 secondo il livello, ±3). [DA ANDREA] la foto del Taglia per lo sprite, e le battute.
|
||||
Taglia (22, 34, 44 secondo il livello, ±3). Il Taglia sta al campone (sprite di Codex dalla sua foto, più alto di Andrea); si gareggia
|
||||
parlandogli. [DA ANDREA] le battute.
|
||||
- **La macchina del tempo e il pokerino del 1997 (29 ottobre)**: dall'Arcu sotto la tenda del Trappola, «Bei tempi
|
||||
quando qui si faceva i pokerini…»: compare la macchina del tempo in Via Liguri Magelli. Dentro, il cruscotto (Codex)
|
||||
compone 10/07/1997 18:30, poi tremori, lampi e il bianco (primo piano `viaggio`, `src/engine/viaggio.js`, tempi in
|
||||
|
||||
+42
-3
@@ -276,9 +276,9 @@ export const story = {
|
||||
type: 'condor',
|
||||
picture: 'assets/closeups/campone-condor.png',
|
||||
names: { player: 'Andrea', cpu: 'il Taglia' },
|
||||
win: [{ say: 'Battuto il Taglia! Con la sua Condor, per giunta.' }, { set: 'condor_vinta' }],
|
||||
lose: [{ say: 'Il Taglia ha la mano ferma. Io ho il fiatone.' }],
|
||||
draw: [{ say: 'Pari. Si rifà, tanto i pallini gialli un mancano mai.' }],
|
||||
win: [{ say: 'Battuto il Taglia! Con la sua Condor, per giunta.' }, { say: 'Fortuna. Domani la rivinco.', who: 'taglia', pose: 'shrug' }, { set: 'condor_vinta' }],
|
||||
lose: [{ say: 'Il Taglia ha la mano ferma. Io ho il fiatone.' }, { say: 'Si torna quando vuoi. I pallini gialli un mancano mai.', who: 'taglia', pose: 'laugh' }],
|
||||
draw: [{ say: 'Pari. Si rifà?' }, { say: 'Si rifà.', who: 'taglia', pose: 'explain' }],
|
||||
quit: [{ say: 'La Condor la rendo al Taglia. Per ora.' }],
|
||||
},
|
||||
// Le macchinine sulla pista col gesso, sul parcheggio di Cardetole, contro il Chiaru (Andrea, 28 e 29 ottobre).
|
||||
@@ -368,6 +368,8 @@ export const story = {
|
||||
// Lo zio Mario di Andrea (sprite di Codex dalla foto di Andrea, 29 ottobre), alla Ghiacciomobile nel muro.
|
||||
zio_mario: { name: 'Lo zio Mario', color: '#cfe3ff', sprite: 'assets/characters/zio_mario.json' },
|
||||
chiaru: { name: 'Il Chiaru', color: '#ffd6a0', sprite: 'assets/characters/chiaru.json' },
|
||||
// Andrea Tagliaferri, il Taglia (consenso suo, 29 ottobre): sprite di Codex dalla sua foto.
|
||||
taglia: { name: 'Il Taglia', color: '#ffe36a', sprite: 'assets/characters/taglia.json' },
|
||||
barondeduke: { name: 'Il BaronDeDuke', color: '#e0c090', sprite: 'assets/characters/barondeduke.json' },
|
||||
mariano: { name: 'Mariano', color: '#ffb0a3', sprite: 'assets/characters/mariano.json' },
|
||||
// Non parla: è una cosa, disegnata come un personaggio per stare davanti o dietro ad Andrea.
|
||||
@@ -1337,6 +1339,9 @@ export const story = {
|
||||
walk: [[0, 360], [0, 232], [640, 232], [640, 360]],
|
||||
depth: [[232, 0.55], [360, 1.15]],
|
||||
entry: [580, 340],
|
||||
speakers: { taglia: [470, 214] },
|
||||
// Il Taglia con la sua Condor, più alto di Andrea (che è un metro e ottanta).
|
||||
people: [{ who: 'taglia', at: [470, 296], facing: -1, size: 1.2, idle: 'stand', talk: ['talk', 'explain'], blink: 'blink', every: 3.9 }],
|
||||
hotspots: [
|
||||
{
|
||||
id: 'giochi', name: 'giochi', box: [196, 120, 330, 100], at: [360, 250], face: 'up',
|
||||
@@ -1367,6 +1372,13 @@ export const story = {
|
||||
{
|
||||
id: 'alla_strada', name: 'indietro, sulla strada della stazione', box: [100, 336, 440, 24], at: [300, 352], exit: { scene: 'viale_stazione', at: [620, 280], face: 'left' },
|
||||
},
|
||||
{
|
||||
id: 'taglia', name: 'il Taglia', box: [448, 224, 44, 72], at: [430, 306], face: 'right', default: 'talk',
|
||||
actions: {
|
||||
look: [{ say: 'Il Taglia. Io sono un metro e ottanta, e lui mi guarda dall\'alto. Con la Condor in mano.' }],
|
||||
talk: [{ dialogue: 'taglia' }],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
// Via Calimara: dalla Piazza scende alla farmacia, in Via Provinciale.
|
||||
@@ -3910,6 +3922,33 @@ export const story = {
|
||||
},
|
||||
},
|
||||
},
|
||||
// Il Taglia al campone delle poste, con la Condor (Andrea, 29 ottobre). [DA ANDREA: battute provvisorie]
|
||||
taglia: {
|
||||
nodes: {
|
||||
start: {
|
||||
options: [
|
||||
{ text: 'Taglia! Si fa una gara con la Condor?', next: 'livello', then: [
|
||||
{ say: 'Io ho già tirato: ora tocca a te. Dodici pallini gialli, e devi fare più di me.', who: 'taglia', pose: 'explain' },
|
||||
{ say: 'Come la vuoi?', who: 'taglia', pose: 'talk' },
|
||||
] },
|
||||
{ text: 'A cosa si tira?', then: [
|
||||
{ say: 'Il cartone sull\'albero, le lattine sulla panchina, le bottigliette sulla porta e il palloncino all\'altalena.', who: 'taglia', pose: 'explain' },
|
||||
{ say: 'E se la vuoi seria, ogni tanto ti tiro una lattina in aria.', who: 'taglia', pose: 'laugh' },
|
||||
] },
|
||||
{ text: 'Ma quanto sei alto, Taglia?', then: [{ say: 'Abbastanza da vedere i pallini arrivare prima di te.', who: 'taglia', pose: 'laugh' }] },
|
||||
{ text: 'Ci si vede, Taglia.', next: 'end' },
|
||||
],
|
||||
},
|
||||
livello: {
|
||||
options: [
|
||||
{ text: 'Alla bona.', next: 'end', then: [{ say: 'Alla bona: ti faccio vedere dove arriva il pallino.', who: 'taglia', pose: 'talk' }, { closeup: 'condor', level: 'bona' }] },
|
||||
{ text: 'Seria.', next: 'end', then: [{ say: 'Seria. Occhio alla lattina in aria.', who: 'taglia', pose: 'explain' }, { closeup: 'condor', level: 'seria' }] },
|
||||
{ text: 'A fassi male.', next: 'end', then: [{ say: 'A fassi male? Allora tiro più forte, e più spesso.', who: 'taglia', pose: 'laugh' }, { closeup: 'condor', level: 'male' }] },
|
||||
{ text: 'No, dopo.', next: 'start' },
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
// Il Chiaru al parcheggio di Cardetole, accanto alla pista col gesso (Andrea, 29 ottobre). [DA ANDREA: battute provvisorie]
|
||||
chiaru: {
|
||||
nodes: {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// La Condor nel browser vero: al campone delle poste, mira, fiato trattenuto e tiro col mouse e col dito.
|
||||
// La Condor nel browser vero: dal Taglia al campone delle poste, mira, fiato trattenuto e tiro col mouse e col dito.
|
||||
// npm run browser:condor — schermate in /tmp/regolo-condor.
|
||||
import { chromium } from 'playwright';
|
||||
import { mkdirSync } from 'node:fs';
|
||||
@@ -20,7 +20,9 @@ try {
|
||||
await page.evaluate(async () => {
|
||||
const { settle } = await import('/tests/helpers.mjs');
|
||||
settle(game); game.go('giardini_poste'); settle(game);
|
||||
game.queue.push({ closeup: 'condor', level: 'seria' }); settle(game);
|
||||
game.act('talk', 'taglia'); settle(game);
|
||||
game.choose(game.options().findIndex(o => o.text.startsWith('Taglia! Si fa una gara'))); settle(game);
|
||||
game.choose(game.options().findIndex(o => o.text === 'Seria.')); settle(game);
|
||||
});
|
||||
await page.waitForSelector('#bocce-controls:not([hidden])');
|
||||
await page.waitForFunction(async () => (await import('/src/engine/render.js')).hasBackground('assets/closeups/campone-condor.png'));
|
||||
|
||||
@@ -88,3 +88,16 @@ test('il disegno della Condor non cambia lo stato', () => {
|
||||
assert.ok(calls.some(([op, t]) => op === 'fillText' && t === 'BATTUTO IL TAGLIA!'));
|
||||
assert.ok(MINIGAMES.condor);
|
||||
});
|
||||
|
||||
test('dal Taglia, al campone delle poste: la gara, il livello e la Condor', () => {
|
||||
const g = new Game(story); g.go('giardini_poste'); settle(g);
|
||||
const h = g.hotspot('taglia');
|
||||
assert.equal(g.hotspotAt([h.box[0] + h.box[2] / 2, h.box[1] + h.box[3] / 2]).id, 'taglia');
|
||||
g.act('talk', 'taglia'); settle(g);
|
||||
g.choose(g.options().findIndex(o => o.text.startsWith('Taglia! Si fa una gara'))); settle(g);
|
||||
g.choose(g.options().findIndex(o => o.text === 'A fassi male.')); settle(g);
|
||||
assert.equal(g.closeup?.id, 'condor'); assert.equal(g.closeup.level, 'male');
|
||||
g.closeup.step = 'result'; g.closeup.result = { winner: 'player', points: 50, taglia: 44 };
|
||||
g.closeupClose(); settle(g);
|
||||
assert.ok(g.state.flags.condor_vinta);
|
||||
});
|
||||
|
||||
@@ -70,5 +70,8 @@
|
||||
"pescatori": {
|
||||
"speaker": "Dionisio Schuyler",
|
||||
"filtro": "asetrate=24000*1.08,aresample=24000,atempo=1.04"
|
||||
},
|
||||
"taglia": {
|
||||
"speaker": "Aaron Dreschner"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user