MODVS VIVENDI - SPAC - Club de Aventuras AD
MODVS VIVENDI - SPAC - Club de Aventuras AD
MODVS VIVENDI - SPAC - Club de Aventuras AD
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
TUTORIAL<br />
has female container openable ~open;<br />
class cerillas<br />
with short_name "cerilla",<br />
plural "cerillas",<br />
<strong>de</strong>scription [;<br />
if(self in caja_<strong>de</strong>_cerillas)"Una cerilla que está <strong>de</strong>ntro <strong>de</strong> la caja <strong>de</strong> cerillas.";<br />
"Una cerilla normal y corriente.";<br />
],<br />
parse_name [ i j j2 j3 j4;<br />
j=NextWord();<br />
if (j=='cerilla')i++;<br />
if (j=='cerillas'){i++; parser_action=##PluralFound;}<br />
if (i>0 && action_to_be~=##Take or ##Remove){<br />
j2=NextWord();<br />
j3=NextWord();<br />
j4=NextWord();<br />
if(self in caja_<strong>de</strong>_cerillas){!¿está <strong>de</strong>ntro <strong>de</strong> la caja?<br />
if(j2=='<strong>de</strong>'){if(j3=='la' && j4=='caja')i=i+3;<br />
if (j3=='caja')i=i+2;}<br />
}!¿está <strong>de</strong>ntro <strong>de</strong> la caja?<br />
}<br />
return i;<br />
],<br />
has female;<br />
cerillas c1 "" caja_<strong>de</strong>_cerillas;<br />
cerillas c2 "" caja_<strong>de</strong>_cerillas;<br />
cerillas c3 "" caja_<strong>de</strong>_cerillas;<br />
cerillas c4 "" caja_<strong>de</strong>_cerillas;<br />
cerillas c5 "" caja_<strong>de</strong>_cerillas;<br />
cerillas c6 "" caja_<strong>de</strong>_cerillas;<br />
cerillas c7 "" caja_<strong>de</strong>_cerillas;<br />
cerillas c8 "" caja_<strong>de</strong>_cerillas;<br />
!###########################################<br />
! Proce<strong>de</strong>mos a reemplazar el Parsenoun <strong>de</strong> la librería por el código <strong>de</strong> la<br />
! librería Intnombre que hemos <strong>de</strong>scargado. Con esto conseguimos que los<br />
! adjetivos puntúen previa <strong>de</strong>tección <strong>de</strong> un nombre.<br />
Replace ParseNoun;<br />
Inclu<strong>de</strong> "IntnombreINFSP.h";<br />
#Inclu<strong>de</strong> "SpanishG";<br />
Vamos a analizar este trocito <strong>de</strong> código<br />
<strong>de</strong>l objeto caja_<strong>de</strong>_cerillas para ver lo<br />
que estamos haciendo:<br />
with parse_name [ i j j2 j3 j4;<br />
j=NextWord();<br />
if (j=='caja'){!ee<br />
i++;<br />
j2=NextWord();<br />
j3=NextWord();<br />
j4=NextWord();<br />
if(j2=='<strong>de</strong>'){if(j3=='las'<br />
&& j4=='cerillas')i=i+2;<br />
if<br />
(j3=='cerillas')i=i+2;}<br />
}!ee<br />
return i;<br />
],<br />
En lugar <strong>de</strong> <strong>de</strong>finir los nombres y los<br />
adjetivos <strong>de</strong>finiéndolos previamente<br />
Desambiguando en Inform 6<br />
como <strong>de</strong> costumbre, vamos a mirarlos<br />
paso a paso con la función parse_name.<br />
Nextword(); <strong>de</strong>vuelve el valor <strong>de</strong> la<br />
siguiente palabra escrita,<br />
consecutivamente. Como la primera es<br />
el verbo (o cualquier texto conector <strong>de</strong><br />
la gramática; o cualquier palabra<br />
supérflua que el parser <strong>de</strong>carte, como un<br />
artículo), el primer Nextword() leerá la<br />
<strong>SPAC</strong> – Octubre 2010 / 47