Newsgroup: it.comp.giochi.avventure.testuali
Titolo: LAT versione 0.0.4

Ciao a tutti!
Ecco le ultme novità circa il LAT (le trovate anche sul sito
http://sakya.altervista.org/lat
).
Le ultime modifiche sono state consolidate nella versione 0.0.4
Modificato il sorgente LAT per renderlo più leggibile.
Ecco, ad esempio, la definizione dell'azione "inventario":
  #---------------------------
  #-- INVENTARIO --
  #---------------------------
  v = Vocabolo(avv)
  v.Testo = "INVENTARIO"
  v.Flags.Imposta(["Verbo"]) 
  voc.Aggiungi(v)
  a = Azione(avv)
  a.Codice = "LAT_INVENTARIO"
  a.Descrizione = "Inventario"
  a.Durata = 0
  a.CodiceLuogo = "~"
  a.CodiceVoc_1 = voc.CercaTesto("INVENTARIO").Codice
  def CODE(me, avv, utn, map, voc, ogg, azn, \
           var, seq, msg, LOG, ego, luogo):
      #Stampo gli oggetti posseduti da ego:
      ego.Scrivi("\n")
      ego.Scrivi("Stai trasportando:\n")
      vedi = " Un bel nulla!"
      for o in ego.OggettiContenuti():
          ego.Scrivi(" " + o.Descrizione() + "\n")
          vedi = None
          if o.__class__ != Array:
              #Controllo gli oggetti sostenuti:
              if o.Flags.Impostato("Sostenitore"):
                  for oc in o.OggettiSostenuti():
                      ego.Scrivi(" (sopra) " + oc.Descrizione() + "\n")
              #Controllo gli oggetti contenuti:
              if o.Flags.Impostato("ContenitoreAperto")\
              or o.Flags.Impostato("Trasparente"):
                  for oc in o.OggettiContenuti():
                      ego.Scrivi(" (dentro) " + oc.Descrizione() + "\n")
      if vedi != None:
          ego.Scrivi(vedi)
      ego.Scrivi("\n")
  a.CodicePython = CODE 
  azn.Aggiungi(a)
Ed ecco l'output che genera:
Stai trasportando:
  Una scatola di vetro.
    (dentro) 10 fiammiferi
  Una chiave di vetro.
  1990 fiammiferi
Devo migliorare la gestione di TUTTO, in quanto la parola TUTTO può assumere
significati differenti a seconda della frase nella quale è inserita. Adesso
la situazione è gestibile scrivendo una azione ad hoc per il verbo (es.
PRENDI TUTTO) e filtrando nell'azione gli oggetti  (es. tutti gli oggetti
con flag Trasportabile). Questo lavoro deve farlo il Parser.
Ecco gli obiettivi della prossima versione 0.0.5:
    * Modificatori di Flags (modifica necessaria per gestire meglio TUTTO).
    * Sorgente LAT ancora più leggibile.
    * Oggetti presenti in più luoghi.
    * Debug di tutte le azioni disponibili nel LAT_BASE.
E pensare che manca ancora tutta le gestione dei dialoghi, della
consultazione di libri, degli ordini ad oggetti animati, la documentazione,
una avventura... :-)
Ciao e grazie dell'attenzione
Sakya

 Ciao a tutti!
Spero non mi abbia "mangiato" troppi caratteri, altrimenti il sorgente è
sbagliato! :-)
Se visitate il sito, lo vedete anche colorato. :-))
Ciaoooo
Sakya

Entro le 23:00 ti spedisco il nuovo sito ;-)
-- 
www.italiansaints.it
 - Il Fan Club Italiano Del Southampton f.c.
Hattrick: Red Hill f.c.(549106) - Ita VII.937

Ciao sakya.
Premetto che sono dell'idea che ogni lavoro teso a migliorare il 
panorama IF (italiano) sia assolutamente da apprezzare.
Ed in tal senso, è apprezzabile il tuo lavoro su LAT.
Però non mi sono chiare alcune cose.
1) Che miglioramenti pensi di apportare (con LAT) rispetto ai motori 
attuali? (Inform, Hugo, Adrift, TADS)?
Cioè: che cosa differenzia LAT da Inform, ad esempio?
Hai ben chiaro che cosa si possa fare con Inform (o Inform/Glulx)? o con 
TADS? Hai mai scritto una AT con uno di questi strumenti "collaudati" 
nel tempo?
2) Non credi che LAT possa (nelle migliori delle ipotesi) soltanto 
avvicinarsi lontanamente ad un Inform (o ad un TADS)?
Spero tu abbia provato ad usare uno di questi sistemi per un pò di 
tempo, prima di buttarti in un lavoro che potrebbe (e non te lo auguro 
certamente) perdersi strada facendo.
3) Non ho ben capito in che cosa consista il word model di LAT.
Ben intesi: non è una critica diretta ad un lavoro (che intuisco sia) 
"corposo", ma solo una constatazione.
Anche se non posso dire di aver seguito il mondo IF fin dalla sua 
nascita, ho constatato che in moltissimi casi di "nuovi sistemi per 
l'interactive fiction" gli autori si siano "lasciati prendere" (in senso 
buono) dall'idea di un nuovo "if authoring system" senza preoccuparsi 
dello stato dell'arte (leggi: i sistemi ormai consolidati e stabili come 
Inform, per esempio).
Ribadisco, apprezzo notevolmente il tuo lavoro, ma ti esprimo le 
sensazioni che ho avuto, dopo aver letto i tuoi messaggi relativi a LAT.
Ciao
Alessandro

Mah....
Lat potrebbe sostituire di fatto il mistery adventure creator, deve solo 
riuscire a coniugare una sintassi semplice semplice ad una discreta 
potenza (per quanto mi riguarda dovrebbe pure supportare audio e 
immagini e layout personalizzabili). Non credo che sakya abbia 
intenzione di scalzare Inform (o chi cavolo per esse) dal trono di 
'miglior linguaggio per l'if'.
Ora cedo la parola a lui ;-)


 
Ore 22:48.
Spedita !


 sensazioni che ho avuto, dopo aver letto i tuoi messaggi relativi a LAT.
Apprezzo la critica e lo spunto di riflessione. :-)
Ciaooo
Sakya

 Spedita !
Bravissimo! Ed anche in aticipo. :-)
Mille grazie, veramente. 
Appena ho un po' di tempo gli do una occhiata e ti faccio sapere. 
Grazie ancora grazie.
Sakya

 ho in testa. :-)
personalizzazione dei caratteri di testo? (magari attraverso file TT)

 personalizzazione dei caratteri di testo? (magari attraverso file TT)
Sì, me ne sono dimenticato, ma l'uso di font, colori nel testo è nei miei
programmi. :-)
Tu intendi usare font personalizzati per una avventura, distribuendo anche
il file TT, giusto? Ci penserò quando arriverò a quel punto, ma grazie del
suggerimento.
Ciaooo
Sakya

hey sakya, hai due ore di fuso ;)

 hey sakya, hai due ore di fuso ;)
Perché? Il mio orologio segna le 15:11 e vedo il tuo messaggio come postato
alle 13:05.
Sono io che ho due ore di fuso? :-)
Ciaooo
Sakya

sakya wrote:

strano, io vedo i miei msg postati alle 15 e rotti mentre i tuoi alle 17 e rotti.

Alessandro
se posso introdurmi nella discussione, non ho mai programmato nulla in
lato ma gli ho dato un'occhiata. ho programmato un po' con inform e ne
ho tratto cattive conclusioni. non sono tanto legate al linguaggio in
sè quanto a sue caratteristiche intrinseche di sintassi ed altro. la
differenza fra i due sistemi può essere ridotta a una comparazione,
per esempio, fra il java e il python (non che inform sia java, ben
inteso, ma voglio rendere chiaro quello che intendo come "sintassi
confusa e poco user-friendly". il programma hello world in java è
questo:
___
class myfirstjavaprog
{  
        public static void main(String args[])
        {
           System.out.println("Hello World!");
        }
}
___
in python questo:
___
print "hello world"
___
e pendo che questo esemplifichi bene quale sia la differenza fra i due
linguaggi :P
il tempo e la curva di apprendimento dell'inform fanno sì che, nello
stesso tempo, si possa padroneggiare un linguaggio di programmazione
"generico" (sia anche solo il visual basic, per viaggiare proprio
terra-terra) con il quale è possibile scrivere ANCHE avventure
grafiche, e resta nel bagaglio di competenze la conoscenza di un
linguaggio di programmazione.
è solo la mia opinione, non intendo essere polemico! se poi inform è
il linguaggio di if più diffuso ci sarà un motivo, no? ;)
gustavo

 ___
Ma, questo non č un esempio valido a mio parere...
la curva di apprendimento di un linguaggio non sta  certo nella sintassi
anzi quella č la cosa piů semplice...

anzi quella è la cosa più semplice...
beh, anche il solo dover memorizzare (e ovviamente capire cosa
significa ogni parte) "class x public static void main String args
System.out.println" è più difficile, più impegnativo che ricordare, e
imparare, "print", e questo immagino sia oggettivo. tu vuoi che il
computer stampi una cosa e il metodo più naturale per farlo è dirgli
"STAMPA "questo". doverci mettere un mezzo una definizione di classe,
di scopi, di variabili e chiamate all'oggetto sistem, out, al metodo
print è diverso. e visto che parliamo di avventure grafiche,
l'obbiettivo non è quello di portarle al livello di un ricercatore del
MIT e dirgli "ecco, così puoi fare delle avventure", ma è quello di
portarlo ad un creativo, ad uno scrittore, a un inventore di storie. e
in tal caso dirgli "se vuoi che il computer scriva qualcosa devi
dirgli "SCRIVI 'QUALCOSA'", anchè "se vuoi che il computer scriva
qualcosa basta dichiarare una classe generica main, poi dichiarare...
bla bla bla"!!
poi la sintassi a parentesi è una mia personale idiosincrasia.
gustavo


ciao ancora!
penso possa interessarti vedere questo:
members.nuvox.net/~zt.wolf/PAWS.shtml
 

 
members.nuvox.net/~zt.wolf/PAWS.shtml
Grazie, ma l'avevo già visto. 
A dire il vero ne esiste anche un altro (mi pare si chiamasse P.U.B., Python
Universe Modeler o qualcosa di simile), ma gli ho dato una semplice
occhiata.
Ah, i due programmi li ho visti che già avevo iniziato lo sviluppo. :-)
Ciaoooo
Sakya

Ah, i due programmi li ho visti che già avevo iniziato lo sviluppo. :-)
non volevo mettere in dubbio la tua onestà/oroginalità! eh eh è solo
per segnalarti la "concorrenza" e segnarti un sito da cui poter
attingere qualche idea, tutto qui ;)

Universe Modeler o qualcosa di simile),
ah, per la cronaca.. sarebbe stato P.U.M! eh eh, P.U.B sta per python
universe builder ^__-

 universe builder ^__-
Hai perfettamente ragione. :-)
Ciaoo
Sakya