154 |
|
|
155 |
|
|
156 |
\layout Chapter |
\layout Chapter |
157 |
|
\line_bottom \pagebreak_top \pagebreak_bottom |
158 |
Introducción |
Introducción |
159 |
\layout Standard |
\layout Standard |
160 |
|
|
229 |
Esperamos que de alguna forma u otra (jugando, informando de fallos, escribiendo |
Esperamos que de alguna forma u otra (jugando, informando de fallos, escribiendo |
230 |
áreas o código) disfrutéis de Minë tanto como nosotros. |
áreas o código) disfrutéis de Minë tanto como nosotros. |
231 |
\layout Chapter |
\layout Chapter |
232 |
|
\line_bottom \pagebreak_top \pagebreak_bottom |
233 |
Construcción de un área |
Construcción de un área |
234 |
\layout Standard |
\layout Standard |
235 |
|
|
340 |
|
|
341 |
Salidas posibles |
Salidas posibles |
342 |
\layout Section |
\layout Section |
343 |
|
\pagebreak_top |
344 |
Cómo dar forma a la imaginación |
Cómo dar forma a la imaginación |
345 |
\layout Standard |
\layout Standard |
346 |
|
|
406 |
|
|
407 |
|
|
408 |
\layout Section |
\layout Section |
409 |
|
\pagebreak_top |
410 |
Pasamos a la acción. |
Pasamos a la acción. |
411 |
¿Cómo escribo una habitación? |
¿Cómo escribo una habitación? |
412 |
\layout Standard |
\layout Standard |
611 |
|
|
612 |
|
|
613 |
\layout Section |
\layout Section |
614 |
|
\pagebreak_top |
615 |
¿Qué hay de los objetos? |
¿Qué hay de los objetos? |
616 |
\layout Standard |
\layout Standard |
617 |
|
|
710 |
\series default |
\series default |
711 |
. |
. |
712 |
\layout Chapter |
\layout Chapter |
713 |
|
\line_bottom \pagebreak_top \pagebreak_bottom |
714 |
Contribuir con código |
Contribuir con código |
715 |
\layout Standard |
\layout Standard |
716 |
|
|
752 |
para los ficheros fuente de las salas, PNJs y objetos ya que apostamos |
para los ficheros fuente de las salas, PNJs y objetos ya que apostamos |
753 |
por estándares asentados y versátiles. |
por estándares asentados y versátiles. |
754 |
\layout Section |
\layout Section |
755 |
|
\pagebreak_top |
756 |
El mapa del código |
El mapa del código |
757 |
\layout Standard |
\layout Standard |
758 |
|
|
1005 |
Utils es un módulo "cajón de sastre" para meter funciones sencillitas y |
Utils es un módulo "cajón de sastre" para meter funciones sencillitas y |
1006 |
variadas. |
variadas. |
1007 |
\layout Section |
\layout Section |
1008 |
|
\pagebreak_top |
1009 |
Entendiendo el código |
Entendiendo el código |
1010 |
\layout Standard |
\layout Standard |
1011 |
|
|
1059 |
\size default |
\size default |
1060 |
. |
. |
1061 |
\layout Chapter |
\layout Chapter |
1062 |
|
\line_bottom \pagebreak_top \pagebreak_bottom |
1063 |
Apéndices |
Apéndices |
1064 |
\layout Section |
\layout Section |
1065 |
|
|
1714 |
el cuerpo. |
el cuerpo. |
1715 |
¡Aï! ¡Ese último golpe parece haberte dejado sin respiración!' |
¡Aï! ¡Ese último golpe parece haberte dejado sin respiración!' |
1716 |
\layout Section |
\layout Section |
1717 |
|
\pagebreak_top |
1718 |
Cómo construir una sala |
Cómo construir una sala |
1719 |
\layout Standard |
\layout Standard |
1720 |
|
|
1852 |
<id></id> |
<id></id> |
1853 |
\family default |
\family default |
1854 |
\size default |
\size default |
1855 |
habréis de poner una sola palabra que identifique de forma unívoca al fichero |
habréis de poner un texto |
1856 |
en donde se guarda la sala. |
\series bold |
1857 |
Para ello, la recomendación (por llamarlo de alguna manera) es que escribáis |
que no contenga espacios |
1858 |
|
\series default |
1859 |
|
y que identifique de forma unívoca al fichero en donde se guarda la sala. |
1860 |
|
Para ello, la regla es que escribáis |
1861 |
|
\newline |
1862 |
|
|
1863 |
\layout Standard |
\layout Standard |
1864 |
|
|
1865 |
|
|
1867 |
\size small |
\size small |
1868 |
nombre_de_area-nombre_de_sala. |
nombre_de_area-nombre_de_sala. |
1869 |
|
|
1870 |
|
\newline |
1871 |
|
|
1872 |
|
\layout Standard |
1873 |
|
|
1874 |
|
Es decir, dos partes separadas por un guión |
1875 |
|
\begin_inset Quotes sld |
1876 |
|
\end_inset |
1877 |
|
|
1878 |
|
- |
1879 |
|
\begin_inset Quotes srd |
1880 |
|
\end_inset |
1881 |
|
|
1882 |
|
, la primera coincide con el nombre del área que hemos puesto arriba, y |
1883 |
|
la segunda es un nombre que no se repite dentro de ese área. |
1884 |
|
En cada nombre se pueden usar únicamente letras, números y el signo |
1885 |
|
\begin_inset Quotes sld |
1886 |
|
\end_inset |
1887 |
|
|
1888 |
|
_ |
1889 |
|
\begin_inset Quotes srd |
1890 |
|
\end_inset |
1891 |
|
|
1892 |
|
para separar palabras. |
1893 |
\layout Standard |
\layout Standard |
1894 |
|
|
1895 |
|
|
4211 |
sólo el fichero en donde se guardan esos datos. |
sólo el fichero en donde se guardan esos datos. |
4212 |
|
|
4213 |
\layout Section |
\layout Section |
4214 |
|
\pagebreak_top |
4215 |
Cómo fabricar un objeto |
Cómo fabricar un objeto |
4216 |
\layout Standard |
\layout Standard |
4217 |
|
|
4695 |
\series default |
\series default |
4696 |
, |
, |
4697 |
\series bold |
\series bold |
4698 |
vestir |
poner |
4699 |
\series default |
\series default |
4700 |
(una pieza de ropa, un collar, un anillo, etc), |
(ponerse una pieza de ropa, un collar, un anillo, etc), |
4701 |
\series bold |
\series bold |
4702 |
lanzar |
lanzar |
4703 |
\series default |
\series default |
4725 |
un uso de tipo 'lanzar' explícito en el fichero descriptivo del objeto. |
un uso de tipo 'lanzar' explícito en el fichero descriptivo del objeto. |
4726 |
\layout Standard |
\layout Standard |
4727 |
|
|
4728 |
Las diferentes posiciones posibles son: |
Las diferentes posiciones en las que un objeto se puede |
4729 |
|
\series bold |
4730 |
|
poner |
4731 |
|
\series default |
4732 |
|
son: |
4733 |
\series bold |
\series bold |
4734 |
cabeza, cuello, tronco, brazo-izq, mano-izq, brazo-der, mano-der, dos-manos, |
cabeza, cuello, tronco, brazo-izq, mano-izq, brazo-der, mano-der, dos-manos, |
4735 |
pierna-izq, pierna-der, pie-izq, pie-der |
pierna-izq, pierna-der, pie-izq, pie-der |
4736 |
\series default |
\series default |
4737 |
. |
(para los otros usos no es necesario indicar posición). |
4738 |
Naturalmente, un arma puede empuñarse tanto con la mano derecha como con |
Naturalmente, un arma puede empuñarse tanto con la mano derecha como con |
4739 |
la izquierda así que pondremos dos usos diferentes para las dos manos. |
la izquierda así que pondremos dos usos diferentes para las dos manos. |
4740 |
Suponiendo que los PJs son todos diestros (aunque esto es fácilmente cambiable) |
Suponiendo que los PJs son todos diestros (aunque esto es fácilmente cambiable) |
4742 |
y el efecto en el combate será menor. |
y el efecto en el combate será menor. |
4743 |
\layout Standard |
\layout Standard |
4744 |
|
|
4745 |
El gasto es el número de cargas que gasta este uso. |
El |
4746 |
|
\series bold |
4747 |
|
gasto |
4748 |
|
\series default |
4749 |
|
es el número de cargas que gasta este uso. |
4750 |
0 = no gasta. |
0 = no gasta. |
4751 |
* = gasta todas las que resten. |
* = gasta todas las que resten. |
4752 |
Si se cumplen los requisitos pero no hay suficientes cargas para un uso |
Si se cumplen los requisitos pero no hay suficientes cargas para un uso |
4753 |
concreto Minë avisará al jugador. |
concreto Minë avisará al jugador. |
4754 |
\layout Standard |
\layout Standard |
4755 |
|
|
4756 |
La duración en el efecto se refiere al número de segundos que dura el efecto |
La |
4757 |
(pon 0 si es definitivo, o no pongas |
\series bold |
4758 |
|
duración |
4759 |
|
\series default |
4760 |
|
en el efecto se refiere al número de segundos que dura el efecto (pon 0 |
4761 |
|
si es definitivo, o no pongas |
4762 |
\family typewriter |
\family typewriter |
4763 |
\size footnotesize |
\size footnotesize |
4764 |
duración='' |
duración='' |
4778 |
especiales (encender una antorcha, por ejemplo). |
especiales (encender una antorcha, por ejemplo). |
4779 |
\layout Standard |
\layout Standard |
4780 |
|
|
4781 |
Los requisitos pueden pedir ciertos valores mínimos a los atributos: |
Los |
4782 |
|
\series bold |
4783 |
|
requisitos |
4784 |
|
\series default |
4785 |
|
pueden pedir ciertos valores mínimos a los atributos: |
4786 |
\series bold |
\series bold |
4787 |
Fuerza, Destreza, Constitución, Inteligencia, Sabiduría, Carisma, luz |
Fuerza, Destreza, Constitución, Inteligencia, Sabiduría, Carisma, luz |
4788 |
\series default |
\series default |
4827 |
\begin_inset Quotes erd |
\begin_inset Quotes erd |
4828 |
\end_inset |
\end_inset |
4829 |
|
|
|
posicion= |
|
|
\begin_inset Quotes erd |
|
|
\end_inset |
|
|
|
|
|
mano-der |
|
|
\begin_inset Quotes erd |
|
|
\end_inset |
|
|
|
|
4830 |
gasto= |
gasto= |
4831 |
\begin_inset Quotes erd |
\begin_inset Quotes erd |
4832 |
\end_inset |
\end_inset |
4999 |
|
|
5000 |
\layout Standard |
\layout Standard |
5001 |
|
|
5002 |
En este caso, para beber la poción no hemos especificado dos usos, uno por |
Como vemos, este objeto requiere una mínima coordinación cabeza-mano ( |
|
cada mano, porque resulta irrelevante. |
|
|
Como vemos, este objeto requiere una mínima coordinación cabeza-mano ( |
|
5003 |
\family typewriter |
\family typewriter |
5004 |
\size footnotesize |
\size footnotesize |
5005 |
destreza='3' |
destreza='3' |
5112 |
\begin_inset Quotes erd |
\begin_inset Quotes erd |
5113 |
\end_inset |
\end_inset |
5114 |
|
|
|
posicion= |
|
|
\begin_inset Quotes erd |
|
|
\end_inset |
|
|
|
|
|
mano-der |
|
|
\begin_inset Quotes erd |
|
|
\end_inset |
|
|
|
|
5115 |
gasto= |
gasto= |
5116 |
\begin_inset Quotes erd |
\begin_inset Quotes erd |
5117 |
\end_inset |
\end_inset |
5286 |
\size footnotesize |
\size footnotesize |
5287 |
</objeto> |
</objeto> |
5288 |
\layout Section |
\layout Section |
5289 |
|
\pagebreak_top |
5290 |
Normas de diseño de código fuente en Minë |
Normas de diseño de código fuente en Minë |
5291 |
\layout Itemize |
\layout Itemize |
5292 |
|
|
5310 |
\layout Subsection |
\layout Subsection |
5311 |
|
|
5312 |
Diseño por contrato |
Diseño por contrato |
5313 |
\layout Enumerate |
\layout Paragraph |
5314 |
|
|
5315 |
Tipos Abstractos de Datos |
Tipos Abstractos de Datos |
|
\begin_deeper |
|
5316 |
\layout Standard |
\layout Standard |
5317 |
|
|
5318 |
Según esta técnica, cada clase representa un Tipo Abstracto de Datos, en |
Según esta técnica, cada clase representa un Tipo Abstracto de Datos, en |
5329 |
etc. |
etc. |
5330 |
Sus operaciones son crear una sala nueva, entrar y salir un personaje, |
Sus operaciones son crear una sala nueva, entrar y salir un personaje, |
5331 |
etc. |
etc. |
5332 |
|
\begin_deeper |
5333 |
\layout Standard |
\layout Standard |
5334 |
|
|
5335 |
En Python, el mapa entre T.A.D. |
En Python, el mapa entre T.A.D. |
5353 |
, etc. |
, etc. |
5354 |
son funciones miembro. |
son funciones miembro. |
5355 |
\end_deeper |
\end_deeper |
5356 |
\layout Enumerate |
\layout Paragraph |
5357 |
|
|
5358 |
Requisitos de las propiedades: dominios e invariantes |
Requisitos de las propiedades: dominios e invariantes |
|
\begin_deeper |
|
5359 |
\layout Standard |
\layout Standard |
5360 |
|
|
5361 |
Las propiedades deben cumplir una serie de requisitos. |
Las propiedades deben cumplir una serie de requisitos. |
5365 |
|
|
5366 |
ejemplo El dominio del id de una Sala son los números enteros (int), el |
ejemplo El dominio del id de una Sala son los números enteros (int), el |
5367 |
del autor son las cadenas de caracteres (string), etc. |
del autor son las cadenas de caracteres (string), etc. |
5368 |
|
\begin_deeper |
5369 |
\layout Standard |
\layout Standard |
5370 |
|
|
5371 |
En Python, los tipos existen pero no son declarados (es un lenguaje dinámicament |
En Python, los tipos existen pero no son declarados (es un lenguaje dinámicament |
5595 |
\size footnotesize |
\size footnotesize |
5596 |
> assert self.n_jugadores <= len(self.personajes) |
> assert self.n_jugadores <= len(self.personajes) |
5597 |
\end_deeper |
\end_deeper |
5598 |
\layout Enumerate |
\layout Paragraph |
5599 |
|
|
5600 |
Requisitos de las operaciones: declaración, precondiciones y postcondiciones |
Requisitos de las operaciones: declaración, precondiciones y postcondiciones |
|
\begin_deeper |
|
5601 |
\layout Standard |
\layout Standard |
5602 |
|
|
5603 |
Las operaciones también tienen requisitos. |
Las operaciones también tienen requisitos. |
5609 |
que es la sala y otro que es el personaje que entra; sus tipos son las |
que es la sala y otro que es el personaje que entra; sus tipos son las |
5610 |
clases Sala y Personaje. |
clases Sala y Personaje. |
5611 |
No devuelve ningún valor. |
No devuelve ningún valor. |
5612 |
|
\begin_deeper |
5613 |
\layout Standard |
\layout Standard |
5614 |
|
|
5615 |
En Python los parámetros vienen explícitos, y los tipos se pueden poner |
En Python los parámetros vienen explícitos, y los tipos se pueden poner |
5847 |
\size footnotesize |
\size footnotesize |
5848 |
> """ |
> """ |
5849 |
\end_deeper |
\end_deeper |
5850 |
\layout Enumerate |
\layout Paragraph |
5851 |
|
|
5852 |
El contrato |
El contrato |
|
\begin_deeper |
|
5853 |
\layout Standard |
\layout Standard |
5854 |
|
|
5855 |
El conjunto de requisitos de propiedades y operaciones se conoce como el |
El conjunto de requisitos de propiedades y operaciones se conoce como el |