Newsgroup: it.comp.giochi.avventure.testuali
Titolo: Inform 7 non butta i bambini nella pattummiera D:

OK scusatemi per l'ironia :D
 
~~~~~~~~~~~~~~
The pattumaio is a room.
 
The pattummiera is a container in pattumaio.
 
Understand "butta il/la/lo/i/le/gli/l/quei/quella/quello/quelle/quegli/quei/quell [something] nel/nello/nella/nei/negli/nelle/nell/dentro il/la/lo/i/le/gli/l/quei/quella/quello/quelle/quegli/quei/quell [something]" as inserting it into.
 
The bambino is a thing.
 
The player carry bambino.
~~~~~~~~~~~~~~
 
Azione 1 (OK): "butta il bambino dentro la pattummiera"
 
Ed Inform 7 va in crash :D Capita anche a voi? Cosa sbaglio?


Cosa interessante, togliendo il penultimo nel/nello/nella eccetera e sostituendolo con soltanto "dentro":
 
~~~~~~~~~~~~~~
The pattumaio is a room.
 
The pattummiera is a container in pattumaio.
 
Understand "butta il/la/lo/i/le/gli/l/quei/quella/quello/quelle/quegli/quei/quell [something] dentro il/la/lo/i/le/gli/l/quei/quella/quello/quelle/quegli/quei/quell [something]" as inserting it into.
 
The bambino is a thing.
 
The player carry bambino.
~~~~~~~~~~~~~~
 
Azione 1: "butta il bambino dentro la pattummiera"
 
Ricevo:
 
 
[** Programming error: tried to write to -->32 in the array "pattern", which has entries 0 up to 31 **]
 
[** Programming error: tried to read from -->32 in the array "line_token", which has entries 0 up to 31 **]
You put the bambino into the pattummiera.
 
 
Quindi in questo caso ci è riuscito alla fine dopo tutto ad andare contro alla sua volontà. Però "combattendo parecchio" XD
 
Sbaglio qualcosa nel pattern?

 Sbaglio qualcosa nel pattern?
 
Caspita! Non mi era mai capitato nulla di simile. Evidentemente c'è un limite nelle "parole alternative" che si possono inserire in un comando. Dovresti spezzarlo in vari "or". Per esempio:
 
Understand
"butta [something] dentro [something]" or
"butta [something] in/nel/nello/nella/nei/negli/nelle/nell [something]" or
"butta il/lo/la/i/gli/le/l [something] dentro il/lo/la(i/gli/le/l [something]" or
"butta il/lo/la/i/gli/le/l [something] in/nel/nello/nella/nei/negli/nelle/nell [something]"
as inserting it into.
 
Inoltre, inserisci anche delle versioni semplificate senza articoli (come la prima o la seconda dell'elenco sopra). Chi non ama scrivere molto le apprezza.


Il problema credo viene quando si ha due serie consecutive di parole alternative.
 
Infatti avevo consecutivamente: nel/nello/nella/nei/negli/nelle/nell/dentro       e    il/la/lo/i/le/gli/l/quei/quella/quello/quelle/quegli/quei/quell. E quando invece le ho unite in una invece che inchiodarsi, il programma è andato avanti lasciando solo un'errore.
 
In ogni caso questa sì che è una cosa strana :)
 
Comunque grazie del consiglio: già inserisco sempre delle versioni ridottissime perchè dopo due giocate viene spontaneo inserirle :)
 
In ogni caso devo andare incontro a molti miei amici che pensano di poterci parlare con la mia storia che sto facendo :D Però qui Inform 7 mi frena un po'. Pazienza per ora è una cosa che mi interessa poco.
 
Dubito che uno si suicida perchè non riesce a dire "butta subito il mio bambino all'interno di codesta finestra" :)

 Dubito che uno si suicida perchè non riesce a dire "butta subito il mio bambino all'interno di codesta finestra" :)
 
Ne dubito anch'io ;)
 
Comunque si potrebbe eseguire un'analisi preliminare del comando in modo da togliere le parole "inutili" e sovrabbondanti. Dato che potrebbero essere davvero tante ("subito", "all interno" e chissà cos'altro), si potrebbe fare almeno con articoli e preposizioni articolate. Per esempio "il/lo..." potrebbero essere eliminati e "nel/nello..." trasformati in "in". In questo modo i comandi definiti in "Italian Language" potrebbero essere semplificati molto (rimarrebbero solo le versioni ridotte) e magari le avventure in italiano potrebbero essere interpretate da una z-machine, invece di ricorrere necessariamente a glulx.

 Comunque si potrebbe eseguire un'analisi preliminare del comando in modo da togliere le parole "inutili" e sovrabbondanti.
 
Aggiungo che una cosa simile la fa Aaron Reed nell'estensione "Smarter Parser" (la cui descrizione è "Understands a broader range of input than the standard parser, and can direct new players towards proper syntax"). Purtroppo è scritta per l'inglese e non è facile adattarla all'italiano.