[asadetris] push by hugoruscitti - actualizando documentacion. on 2010-05-24 02:23 GMT

2 views
Skip to first unread message

codesite...@google.com

unread,
May 23, 2010, 10:24:20 PM5/23/10
to losersjue...@googlegroups.com
Revision: bb4c76125b
Author: Hugo Ruscitti <hugoru...@gmail.com>
Date: Sun May 23 19:23:26 2010
Log: actualizando documentacion.
http://code.google.com/p/asadetris/source/detail?r=bb4c76125b

Added:
/doc/build/html/_images/sdedit-5c710cac00ee7367370513dfc00c6e06aad3aa2f.png

/doc/build/html/_images/thumbnail/sdedit-5c710cac00ee7367370513dfc00c6e06aad3aa2f.png
Modified:
/doc/build/doctrees/diseno_etapa_5.doctree
/doc/build/doctrees/environment.pickle
/doc/build/doctrees/tareas_y_etapas.doctree
/doc/build/html/_sources/diseno_etapa_5.txt
/doc/build/html/diseno_etapa_5.html
/doc/build/html/index.html
/doc/build/html/searchindex.js
/doc/build/html/tareas_y_etapas.html

=======================================
--- /dev/null
+++
/doc/build/html/_images/sdedit-5c710cac00ee7367370513dfc00c6e06aad3aa2f.png
Sun May 23 19:23:26 2010
Binary file, no diff available.
=======================================
--- /dev/null
+++
/doc/build/html/_images/thumbnail/sdedit-5c710cac00ee7367370513dfc00c6e06aad3aa2f.png
Sun May 23 19:23:26 2010
Binary file, no diff available.
=======================================
--- /doc/build/doctrees/diseno_etapa_5.doctree Sun May 23 10:58:24 2010
+++ /doc/build/doctrees/diseno_etapa_5.doctree Sun May 23 19:23:26 2010
@@ -1,99 +1,474 @@
€ cdocutils.nodes
document
q ) q }q (U nametypesq }q (X diseño de la etapa 5q NX velocidad del
juegoq NuU substitution_defsq }q U parse_messagesq
-]q U current_sourceq NU
-decorationq
-NU autofootnote_startq K U nameidsq }q (h U diseno-de-la-etapa-5q h U velocidad-del-juegoq uU childrenq ]q cdocutils.nodes
+ animación al eliminar lineasq NuU substitution_defsq
+}q U parse_messagesq ]q
+U current_sourceq NU
+decorationq NU autofootnote_startq K U nameidsq }q (h U diseno-de-la-etapa-5q h U(mensajes-dentro-del-juego-como-subscenesq h U velocidad-del-juegoq h
U
+animacion-al-eliminar-lineasq uU childrenq ]q cdocutils.nodes
section
-q ) q }q (U rawsourceq U U parentq h U sourceq cdocutils.nodes
+q ) q }q (U rawsourceq
+U U parentq
+h U sourceq
+cdocutils.nodes
reprunicode
-q XD /home/hugoruscitti/proyectos/asadetris/doc/source/diseno_etapa_5.rstq
-
- q
-}q
-bU tagnameq U sectionq U
-attributesq!}q"(U dupnamesq#]q$U classesq%]q&U backrefsq']q(U idsq)]q*h aU namesq+]q,h auU lineq-K U documentq.h h ]q/(cdocutils.nodes
+q XD /home/hugoruscitti/proyectos/asadetris/doc/source/diseno_etapa_5.rstq
+ q!}q"bU tagnameq#U sectionq$U
+attributesq%}q&(U dupnamesq']q(U classesq)]q*U backrefsq+]q,U idsq-]q.h aU namesq/]q0h auU lineq1K U documentq2h h ]q3(cdocutils.nodes
title
-q0) q1}q2(h X Diseño de la etapa 5q3h h h h
-h U titleq4h!}q5(h#]q6h%]q7h']q8h)]q9h+]q:uh-K h.h h ]q;cdocutils.nodes
+q4) q5}q6(h
+X Diseño de la etapa 5q7h
+h h
+h!h#U titleq8h%}q9(h']q:h)]q;h+]q<h-]q=h/]q>uh1K h2h h ]q?cdocutils.nodes
Text
-q<X Diseño de la etapa 5q=
- q>}q?(h h3h h1ubaubh ) q@}qA(h U h h h h
-h h
h!}qB(h#]qCh%]qDh']qEh)]qFh ah+]qGh auh-K h.h h ]qH(h0) qI}qJ(h X Velocidad
del juegoqKh h@h h
-h h4h!}qL(h#]qMh%]qNh']qOh)]qPh+]qQuh-K h.h h ]qRh<X Velocidad del
juegoqS
- qT}qU(h hKh hIubaubcdocutils.nodes
+q@X Diseño de la etapa 5qA
+ qB}qC(h
+h7h
+h5ubaubh ) qD}qE(h
+U h
+h h
+h!h#h$h%}qF(h']qGh)]qHh+]qIh-]qJh ah/]qKh auh1K h2h h ]qL(h4) qM}qN(h
+X Velocidad del juegoqOh
+hDh
+h!h#h8h%}qP(h']qQh)]qRh+]qSh-]qTh/]qUuh1K h2h h ]qVh@X Velocidad del
juegoqW
+ qX}qY(h
+hOh
+hMubaubcdocutils.nodes
paragraph
-qV) qW}qX(h X£ Cuando el usuario realiza 10 lineas buscamos que el juego
aumente
-de velocidad. Esto se logra mediante la interacción de los
-objectos `Display`, `Game` y `Piece`.qYh h@h h
-h U paragraphqZh!}q[(h#]q\h%]q]h']q^h)]q_h+]q`uh-K h.h h ]qa(h<X‡ Cuando
el usuario realiza 10 lineas buscamos que el juego aumente
-de velocidad. Esto se logra mediante la interacción de los
-objectos qb
- qc}qd(h X‡ Cuando el usuario realiza 10 lineas buscamos que el juego
aumente
-de velocidad. Esto se logra mediante la interacción de los
-objectos qeh hWubcdocutils.nodes
+qZ) q[}q\(h
+X£ Cuando el usuario realiza 10 lineas buscamos que el juego aumente
+de velocidad. Esto se logra mediante la interacción de los objectos
`Display`, `Game` y `Piece`.q]h
+hDh
+h!h#U
paragraphq^h%}q_(h']q`h)]qah+]qbh-]qch/]qduh1K h2h h ]qe(h@X‡ Cuando el
usuario realiza 10 lineas buscamos que el juego aumente
+de velocidad. Esto se logra mediante la interacción de los objectos qf
+ qg}qh(h
+X‡ Cuando el usuario realiza 10 lineas buscamos que el juego aumente
+de velocidad. Esto se logra mediante la interacción de los objectos qih
+h[ubcdocutils.nodes
title_reference
-qf) qg}qh(h X
`Display`qih!}qj(h#]qkh%]qlh']qmh)]qnh+]qouh hWh ]qph<X Displayqq
- qr}qs(h U h hgubah U title_referenceqtubh<X , qu
- qv}qw(h X , qxh hWubhf) qy}qz(h X `Game`q{h!}q|
(h#]q}h%]q~h']q h)]q€h+]q uh hWh ]q‚h<X Gameqƒ
- q„}q
-(h U h hyubah htubh<X y q†
- q‡}qˆ(h X y
q‰h hWubhf) qŠ}q‹(h X `Piece`qŒh!}q (h#]qŽh%]q h']q h)]q‘h+]q’uh hWh ]q“h<X Pieceq”
- q•}q–(h U h hŠubah htubh<X .
- q—}q˜(h X .h hWubeubhV) q™}qš(h Xw Básicamente quien coordina la
velocidad del juego es la clase
+qj) qk}ql(h
+X `Display`qmh%}qn(h']qoh)]qph+]qqh-]qrh/]qsuh
+h[h ]qth@X Displayqu
+ qv}qw(h
+U h
+hkubah#U title_referenceqxubh@X , qy
+ qz}q{(h
+X , q|h
+h[ubhj) q}}q~(h
+X `Game`q h%}q€(h']q h)]q‚h+]qƒh-]q„h/]q
+uh
+h[h ]q†h@X Gameq‡
+ qˆ}q‰(h
+U h
+h}ubah#hxubh@X y qŠ
+ q‹}qŒ(h
+X y q h
+h[ubhj) qŽ}q (h
+X `Piece`q h%}q‘(h']q’h)]q“h+]q”h-]q•h/]q–uh
+h[h ]q—h@X Pieceq˜
+ q™}qš(h
+U h
+hŽubah#hxubh@X .
+ q›}qœ(h
+X .h
+h[ubeubhZ) q }qž(h
+Xv Básicamente quien coordina la velocidad del juego es la clase
`Game`. Mientras el usuario está jugando el objeto `Game` almacena
-en su atributo `speed` la velocidad que le tiene que asignar
+en su atributo `speed` la veocidad que le tiene que asignar
a cada pieza que genera. Este atributo de velocidad depende de
lo que le diga la clase `Display`, que conoce cuantas lineas
-del juego a realiza el usuario y en qué nivel se encuenta.q›h h@h h
-h hZh!}qœ(h#]q h%]qžh']qŸh)]q h+]q¡uh-K h.h h ]q¢(h<X? Básicamente
quien coordina la velocidad del juego es la clase
-q£
- q¤}q¥(h X? Básicamente quien coordina la velocidad del juego es la
clase
-q¦h h™ubhf) q§}q¨(h X `Game`q©h!}qª(h#]q«h%]q¬h']q­h)]q®h+]q¯uh h™h ]q°h<X Gameq±
- q²}q³(h U h h§ubah htubh<X. . Mientras el usuario está jugando el
objeto q´
- qµ}q¶(h X. . Mientras el usuario está jugando el objeto
q·h h™ubhf) q¸}q¹(h X `Game`qºh!}q»(h#]q¼h%]q½h']q¾h)]q¿h+]qÀuh h™h ]qÁh<X GameqÂ
- qÃ}qÄ(h U h h¸ubah htubh<X almacena
-en su atributo qÅ
- qÆ}qÇ(h X almacena
-en su atributo
qÈh h™ubhf) qÉ}qÊ(h X `speed`qËh!}qÌ(h#]qÍh%]qÎh']qÏh)]qÐh+]qÑuh h™h ]qÒh<X speedqÓ
- qÔ}qÕ(h U h hÉubah htubh<X~ la velocidad que le tiene que asignar
+del juego a realiza el usuario y en qué nivel se encuenta.qŸh
+hDh
+h!h#h^h%}q (h']q¡h)]q¢h+]q£h-]q¤h/]q¥uh1K
+h2h h ]q¦(h@X? Básicamente quien coordina la velocidad del juego es la
clase
+q§
+ q¨}q©(h
+X? Básicamente quien coordina la velocidad del juego es la clase
+qªh
+h ubhj) q«}q¬(h
+X `Game`q­h%}q®(h']q¯h)]q°h+]q±h-]q²h/]q³uh
+h h ]q´h@X Gameqµ
+ q¶}q·(h
+U h
+h«ubah#hxubh@X. . Mientras el usuario está jugando el objeto q¸
+ q¹}qº(h
+X. . Mientras el usuario está jugando el objeto q»h
+h ubhj) q¼}q½(h
+X `Game`q¾h%}q¿(h']qÀh)]qÁh+]qÂh-]qÃh/]qÄuh
+h h ]qÅh@X GameqÆ
+ qÇ}qÈ(h
+U h
+h¼ubah#hxubh@X almacena
+en su atributo qÉ
+ qÊ}qË(h
+X almacena
+en su atributo qÌh
+h ubhj) qÍ}qÎ(h
+X `speed`qÏh%}qÐ(h']qÑh)]qÒh+]qÓh-]qÔh/]qÕuh
+h h ]qÖh@X speedq×
+ qØ}qÙ(h
+U h
+hÍubah#hxubh@X} la veocidad que le tiene que asignar
a cada pieza que genera. Este atributo de velocidad depende de
-lo que le diga la clase qÖ
- q×}qØ(h X~ la velocidad que le tiene que asignar
+lo que le diga la clase qÚ
+ qÛ}qÜ(h
+X} la veocidad que le tiene que asignar
a cada pieza que genera. Este atributo de velocidad depende de
-lo que le diga la clase qÙh h™ubhf) qÚ}qÛ(h X
`Display`qÜh!}qÝ(h#]qÞh%]qßh']qàh)]qáh+]qâuh h™h ]qãh<X Displayqä
- qå}qæ(h U h hÚubah htubh<XW , que conoce cuantas lineas
-del juego a realiza el usuario y en qué nivel se encuenta.qç
- qè}qé(h XW , que conoce cuantas lineas
-del juego a realiza el usuario y en qué nivel se
encuenta.qêh h™ubeubhV) që}qì(h XC El nivel, es simplemente la parte
decimal de la cantidad de lineas:qíh h@h h
-h hZh!}qî(h#]qïh%]qðh']qñh)]qòh+]qóuh-K h.h h ]qôh<XC El nivel, es
simplemente la parte decimal de la cantidad de lineas:qõ
- qö}q÷(h híh hëubaubcdocutils.nodes
+lo que le diga la clase qÝh
+h ubhj) qÞ}qß(h
+X `Display`qàh%}qá(h']qâh)]qãh+]qäh-]qåh/]qæuh
+h h ]qçh@X Displayqè
+ qé}qê(h
+U h
+hÞubah#hxubh@XW , que conoce cuantas lineas
+del juego a realiza el usuario y en qué nivel se encuenta.që
+ qì}qí(h
+XW , que conoce cuantas lineas
+del juego a realiza el usuario y en qué nivel se encuenta.qîh
+h ubeubhZ) qï}qð(h
+XC El nivel, es simplemente la parte decimal de la cantidad de lineas:qñh
+hDh
+h!h#h^h%}qò(h']qóh)]qôh+]qõh-]qöh/]q÷uh1K h2h h ]qøh@XC El nivel, es
simplemente la parte decimal de la cantidad de lineas:qù
+ qú}qû(h
+hñh
+hïubaubcdocutils.nodes
literal_block
-qø) qù}qú(h X nivel = lineas / 10qûh h@h h
-h U
-literal_blockqüh!}qý(U
xml:spaceqþU preserveqÿh)]r h']r h#]r h%]r h+]r uh-K h.h h ]r h<X nivel
= lineas / 10r
- r }r (h U h hùubaubeubeubah U U transformerr NU
-footnote_refsr
+qü) qý}qþ(h
+X nivel = lineas / 10qÿh
+hDh
+h!h#U
+literal_blockr h%}r (U
xml:spacer U preserver h-]r h+]r h']r h)]r h/]r uh1K h2h h ]r
h@X nivel = lineas / 10r
}r U refnamesr }r
+ r }r (h
+U h
+hýubaubeubh ) r

U symbol_footnotesr ]r U autofootnote_refsr ]r U symbol_footnote_refsr ]r U
citationsr ]r h.h U current_liner NU transform_messagesr ]r U reporterr NU id_startr K U
-autofootnotesr ]r
+U h
+h h
+h!h#h$h%}r (h']r h)]r h+]r h-]r h ah/]r h auh1K h2h h ]r (h4) r }r (h
+X( Mensajes dentro del juego como subscenesr h
+j
U
-citation_refsr
+h!h#h8h%}r (h']r h)]r h+]r
}r
U indirect_targetsr ]r U settingsr! (cdocutils.frontend
+ uh1K h2h h ]r h@X( Mensajes dentro del juego como subscenesr
+ r! }r" (h
+j h
+j ubaubhZ) r# }r$ (h
+Xl Mientras estás jugando es importante que el juego que
+marque claramente cuando pierdes o comienza el nivel.r% h
+j
+ h
+h!h#h^h%}r& (h']r' h)]r( h+]r) h-]r* h/]r+ uh1K h2h h ]r, h@Xl Mientras
estás
jugando es importante que el juego que
+marque claramente cuando pierdes o comienza el nivel.r-
+ r. }r/ (h
+j% h
+j# ubaubhZ) r0 }r1 (h
+Xý Por eso, se ha creado la posibilidad de que la clase
+``game`` pueda presentar distintos mensajes durante la
+sesión de juego. Por ejemplo, cuando se inicia el
+juego se presenta un mensaje de tipo ``listo... ya!!`` para
+indicar que el juego ha comenzado.r2 h
+j
+ h
+h!h#h^h%}r3 (h']r4 h)]r5 h+]r6 h-]r7 h/]r8 uh1K
+h2h h ]r9 (h@X5 Por eso, se ha creado la posibilidad de que la clase
+r:
+ r; }r< (h
+X5 Por eso, se ha creado la posibilidad de que la clase
+r= h
+j0 ubcdocutils.nodes
+literal
+r> ) r? }r@ (h
+X ``game``rA h%}rB (h']rC h)]rD h+]rE h-]rF h/]rG uh
+j0 h ]rH h@X gamerI
+ rJ }rK (h
+U h
+j? ubah#U literalrL ubh@X‡ pueda presentar distintos mensajes
durante la
+sesión de juego. Por ejemplo, cuando se inicia el
+juego se presenta un mensaje de tipo rM
+ rN }rO (h
+X‡ pueda presentar distintos mensajes durante la
+sesión de juego. Por ejemplo, cuando se inicia el
+juego se presenta un mensaje de tipo rP h
+j0 ubj> ) rQ }rR (h
+X ``listo...
ya!!``rS h%}rT (h']rU h)]rV h+]rW h-]rX h/]rY uh
+j0 h ]rZ h@X
+ listo... ya!!r[
+ r\ }r] (h
+U h
+jQ ubah#jL ubh@X( para
+indicar que el juego ha comenzado.r^
+ r_ }r` (h
+X( para
+indicar que el juego ha comenzado.ra h
+j0 ubeubhZ) rb }rc (h
+XV Los mensajes se han incoporado como objetos dentro
+del modulo ``game_scene_messages``.rd h
+j
+ h
+h!h#h^h%}re (h']rf h)]rg h+]rh h-]ri h/]rj uh1K$h2h h ]rk (h@X> Los
mensajes
se han incoporado como objetos dentro
+del modulo rl
+ rm }rn (h
+X> Los mensajes se han incoporado como objetos dentro
+del modulo ro h
+jb ubj> ) rp }rq (h
+X ``game_scene_messages``rr h%}rs (h']rt h)]ru h+]rv h-]rw h/]rx uh
+jb h ]ry h@X game_scene_messagesrz
+ r{ }r| (h
+U h
+jp ubah#jL ubh@X .
+ r} }r~ (h
+X .h
+jb ubeubhZ) r }r€ (h
+Xó Cuando el objeto ``GameScene`` quiere mostrar un mensaje, solo
+tiene que llamar al método ``show_graphic_message`` y pasarle
+como argumento la instancia de un objeto del módulo
+``game_scene_messages``. Por ejemplo, cuando se inicia el
+juego.r h
+j
+ h
+h!h#h^h%}r‚ (h']rƒ h)]r„ h+]r
+ h-]r† h/]r‡ uh1K'h2h h ]rˆ (h@X Cuando el objeto r‰
+ rŠ }r‹ (h
+X Cuando el objeto rŒ h
+j ubj> ) r }rŽ (h
+X
+ ``GameScene``r h%}r (h']r‘ h)]r’ h+]r“ h-]r” h/]r• uh
+j h ]r– h@X GameScener—
+ r˜ }r™ (h
+U h
+j ubah#jL ubh@X= quiere mostrar un mensaje, solo
+tiene que llamar al método rš
+ r› }rœ (h
+X= quiere mostrar un mensaje, solo
+tiene que llamar al método r h
+j ubj> ) rž }rŸ (h
+X ``show_graphic_message``r  h%}r¡ (h']r¢ h)]r£ h+]r¤ h-]r¥ h/]r¦ uh
+j h ]r§ h@X show_graphic_messager¨
+ r© }rª (h
+U h
+jž ubah#jL ubh@X@ y pasarle
+como argumento la instancia de un objeto del módulo
+r«
+ r¬ }r­ (h
+X@ y pasarle
+como argumento la instancia de un objeto del módulo
+r® h
+j ubj> ) r¯ }r° (h
+X ``game_scene_messages``r± h%}r² (h']r³ h)]r´ h+]rµ h-]r¶ h/]r· uh
+j h ]r¸ h@X game_scene_messagesr¹
+ rº }r» (h
+U h
+j¯ ubah#jL ubh@X) . Por ejemplo, cuando se inicia el
+juego.r¼
+ r½ }r¾ (h
+X) . Por ejemplo, cuando se inicia el
+juego.r¿ h
+j ubeubhZ) rÀ }rÁ (h
+X© Algo similar ocurre cuando el jugador pierde. Simplemente se
+llama al método ``on_game_over`` de la clase ``GameScene`` y
+desde ahí se invoca a la siguiente sentencia.r h
+j
+ h
+h!h#h^h%}rà (h']rÄ h)]rÅ h+]rÆ h-]rÇ h/]rÈ uh1K.h2h h ]rÉ (h@XN Algo
similar
ocurre cuando el jugador pierde. Simplemente se
+llama al método rÊ
+ rË }rÌ (h
+XN Algo similar ocurre cuando el jugador pierde. Simplemente se
+llama al método rÍ h
+jÀ ubj> ) rÎ }rÏ (h
+X ``on_game_over``rÐ h%}rÑ (h']rÒ h)]rÓ h+]rÔ h-]rÕ h/]rÖ uh
+jÀ h ]r× h@X on_game_overrØ
+ rÙ }rÚ (h
+U h
+jÎ ubah#jL ubh@X
+ de la clase rÛ
+ rÜ }rÝ (h
+X
+ de la clase rÞ h
+jÀ ubj> ) rß }rà (h
+X
+ ``GameScene``rá h%}râ (h']rã h)]rä h+]rå h-]ræ h/]rç uh
+jÀ h ]rè h@X GameSceneré
+ rê }rë (h
+U h
+jß ubah#jL ubh@X1 y
+desde ahí se invoca a la siguiente sentencia.rì
+ rí }rî (h
+X1 y
+desde ahí se invoca a la siguiente sentencia.rï h
+jÀ ubeubhü) rð }rñ (h
+X` def on_game_over(self):
+
self.show_graphic_message(game_scene_messages.GameOverMessage(self))rò h
+j
+ h
+h!h#j h%}ró (U linenosrô ‰U languagerõ X pythonrö j j h-]r÷ h+]rø h']rù h)]rú h/]rû uh1K7h2h h ]rü h@X` def
on_game_over(self):
+
self.show_graphic_message(game_scene_messages.GameOverMessage(self))rý
+ rþ }rÿ (h
+U h
+jð ubaubeubh ) r }r (h
+U h
+h h
+h!h#h$h%}r (h']r h)]r h+]r h-]r h ah/]r h
auh1K9h2h h ]r (h4) r }r
+ (h
+X
+ Animación al eliminar lineasr h
+j h
+h!h#h8h%}r (h']r
+ h)]r h+]r h-]r h/]r uh1K9h2h h ]r h@X
+ Animación al eliminar lineasr
+ r }r (h
+j h
+j ubaubhZ) r }r (h
+Xe En esta estapa también se ha incorporado una animación sencilla
+cuando se elimina una o mas lineas.r h
+j h
+h!h#h^h%}r (h']r h)]r h+]r
+ h-]r
+ h/]r
+ uh1K;h2h h ]r h@Xe En esta estapa también se ha incorporado una
animación sencilla
+cuando se elimina una o mas lineas.r
+ r! }r" (h
+j h
+j ubaubhZ) r# }r$ (h
+Xq Para crear el efecto se optó lo mas sencillo, mostrar un
+rectángulo intermitente sobre la linea que desaparece.r% h
+j h
+h!h#h^h%}r& (h']r' h)]r( h+]r) h-]r* h/]r+ uh1K>h2h h ]r, h@Xq Para
crear
el efecto se optó lo mas sencillo, mostrar un
+rectángulo intermitente sobre la linea que desaparece.r-
+ r. }r/ (h
+j% h
+j# ubaubhZ) r0 }r1 (h
+X. El encargado del efecto es el objeto ``LineAnimation`` dentro
+del archivo ``gamescene.py``. Este objeto se genera cada vez
+que se realizan lineas. Por ejemplo, el siguiente
+fragmento de código se ejecuta cuando el usuario realiza
+una o mas lineas (el que invoca a este método es el
+objeto ``Board``):r2 h
+j h
+h!h#h^h%}r3 (h']r4 h)]r5 h+]r6 h-]r7 h/]r8 uh1KAh2h h ]r9 (h@X% El
encargado
del efecto es el objeto r:
+ r; }r< (h
+X% El encargado del efecto es el objeto r= h
+j0 ubj> ) r> }r? (h
+X ``LineAnimation``r@ h%}rA (h']rB h)]rC h+]rD h-]rE h/]rF uh
+j0 h ]rG h@X
+ LineAnimationrH
+ rI }rJ (h
+U h
+j> ubah#jL ubh@X dentro
+del archivo rK
+ rL }rM (h
+X dentro
+del archivo rN h
+j0 ubj> ) rO }rP (h
+X ``gamescene.py``rQ h%}rR (h']rS h)]rT h+]rU h-]rV h/]rW uh
+j0 h ]rX h@X gamescene.pyrY
+ rZ }r[ (h
+U h
+jO ubah#jL ubh@XÉ . Este objeto se genera cada vez
+que se realizan lineas. Por ejemplo, el siguiente
+fragmento de código se ejecuta cuando el usuario realiza
+una o mas lineas (el que invoca a este método es el
+objeto r\
+ r] }r^ (h
+XÉ . Este objeto se genera cada vez
+que se realizan lineas. Por ejemplo, el siguiente
+fragmento de código se ejecuta cuando el usuario realiza
+una o mas lineas (el que invoca a este método es el
+objeto r_ h
+j0 ubj> ) r` }ra (h
+X ``Board``rb h%}rc (h']rd h)]re h+]rf h-]rg h/]rh uh
+j0 h ]ri h@X Boardrj
+ rk }rl (h
+U h
+j` ubah#jL ubh@X ):rm
+ rn }ro (h
+X ):rp h
+j0 ubeubhü) rq }rr (h
+Xô def on_line_complete(self, lines):
+ self.line_animation = LineAnimation(lines)
+
+ # aumenta la velocidad del juego
+ self.game_speed = (self.display.level * 2) * len(lines)
+ self.delay_showing_line_animation = DELAY_LINE_COMPLE_EFFECTrs h
+j h
+h!h#j h%}rt (jô ‰jõ X pythonru j j h-]rv h+]rw h']rx h)]ry h/]rz uh1KPh2h h ]r{ h@Xô def
on_line_complete(self,
lines):
+ self.line_animation = LineAnimation(lines)
+
+ # aumenta la velocidad del juego
+ self.game_speed = (self.display.level * 2) * len(lines)
+ self.delay_showing_line_animation = DELAY_LINE_COMPLE_EFFECTr|
+ r} }r~ (h
+U h
+jq ubaubhZ) r }r€ (h
+XP Aquí hay dos sentencias importantes, la primera genera el objeto
+``LineAnimation`` indicando las lineas que se van a eliminar. Y la
+segunda sentencia es la que le da valor al atributo
``delay_showing_line_animation``,
+este atributo indica que el juego debe detenerse unos pocos milisegundos
+para que el usuario pueda ver la animación.r h
+j h
+h!h#h^h%}r‚ (h']rƒ h)]r„ h+]r
+ h-]r† h/]r‡ uh1KQh2h h ]rˆ (h@XB Aquí hay dos sentencias
importantes, la primera genera el objeto
+r‰
+ rŠ }r‹ (h
+XB Aquí hay dos sentencias importantes, la primera genera el objeto
+rŒ h
+j ubj> ) r }rŽ (h
+X ``LineAnimation``r h%}r (h']r‘ h)]r’ h+]r“ h-]r” h/]r• uh
+j h ]r– h@X
+ LineAnimationr—
+ r˜ }r™ (h
+U h
+j ubah#jL ubh@Xf indicando las lineas que se van a eliminar. Y la
+segunda sentencia es la que le da valor al atributo rš
+ r› }rœ (h
+Xf indicando las lineas que se van a eliminar. Y la
+segunda sentencia es la que le da valor al atributo r h
+j ubj> ) rž }rŸ (h
+X
``delay_showing_line_animation``r  h%}r¡ (h']r¢ h)]r£ h+]r¤ h-]r¥ h/]r¦ uh
+j h ]r§ h@X
+ delay_showing_line_animationr¨
+ r© }rª (h
+U h
+jž ubah#jL ubh@Xw ,
+este atributo indica que el juego debe detenerse unos pocos milisegundos
+para que el usuario pueda ver la animación.r«
+ r¬ }r­ (h
+Xw ,
+este atributo indica que el juego debe detenerse unos pocos milisegundos
+para que el usuario pueda ver la animación.r® h
+j ubeubhZ) r¯ }r° (h
+Xv Cuando este contador llega a cero, el juego continúa y el tablero se
limpia
+de efectos para que pueda seguir jugando.r± h
+j h
+h!h#h^h%}r² (h']r³ h)]r´ h+]rµ h-]r¶ h/]r· uh1KWh2h h ]r¸ h@Xv Cuando
este
contador llega a cero, el juego continúa y el tablero se limpia
+de efectos para que pueda seguir jugando.r¹
+ rº }r» (h
+j± h
+j¯ ubaubeubeubah
+U U transformerr¼ NU
+footnote_refsr½ }r¾ U refnamesr¿ }rÀ U symbol_footnotesrÁ ]r U autofootnote_refsrà ]rÄ U symbol_footnote_refsrÅ ]rÆ U
citationsrÇ ]rÈ h2h U current_linerÉ NU transform_messagesrÊ ]rË U reporterrÌ NU id_startrÍ K U
+autofootnotesrÎ ]rÏ U
+citation_refsrÐ }rÑ U indirect_targetsrÒ ]rÓ U settingsrÔ (cdocutils.frontend
Values
-r" or# }r$ (U footnote_backlinksr% K U record_dependenciesr& NU rfc_base_urlr' U http://tools.ietf.org/html/r( U
tracebackr) K U pep_referencesr* NU strip_commentsr+ NU
-toc_backlinksr, U entryr- U
-language_coder. U enr/ U
datestampr0 NU report_levelr1 K U _destinationr2 NU
-halt_levelr3 K U
-strip_classesr4 Nh4NU
-error_encoding_error_handlerr5 U backslashreplacer6 U debugr7 NU embed_stylesheetr8 ‰U
-output_encoding_error_handlerr9 U strictr: U
-sectnum_xformr; K U dump_transformsr< NU
-docinfo_xformr= K U warning_streamr> NU pep_file_url_templater? U pep-%04dr@ U exit_status_levelrA K U configrB NU strict_visitorrC NU cloak_email_addressesrD ˆU
-trim_footnote_reference_spacerE ‰U envrF NU dump_pseudo_xmlrG NU expose_internalsrH NU sectsubtitle_xformrI ‰U source_linkrJ NU rfc_referencesrK NU output_encodingrL U utf-8rM U
-source_urlrN NU input_encodingrO U
utf-8-sigrP U _disable_configrQ NU id_prefixrR U U
tab_widthrS K U error_encodingrT U UTF-8rU U _sourcerV UD/home/hugoruscitti/proyectos/asadetris/doc/source/diseno_etapa_5.rstrW U
generatorrX NU dump_internalsrY NU pep_base_urlrZ U http://www.python.org/dev/peps/r[ U
-input_encoding_error_handlerr\ j: U auto_id_prefixr] U idr^ U doctitle_xformr_ ‰U strip_elements_with_classesr` NU
-_config_filesra ]rb U file_insertion_enabledrc K U raw_enabledrd K U
-dump_settingsre NubU symbol_footnote_startrf K U idsrg }rh (h h h h@uU substitution_namesri }rj h h.h!}rk (h#]rl h)]rm h']rn U sourcero h
-h%]rp h+]rq uU footnotesrr ]rs U refidsrt }ru ub.
+rÕ orÖ }r× (U footnote_backlinksrØ K U record_dependenciesrÙ NU rfc_base_urlrÚ U http://tools.ietf.org/html/rÛ U
tracebackrÜ K U pep_referencesrÝ NU strip_commentsrÞ NU
+toc_backlinksrß U entryrà U
+language_coderá U enrâ U
datestamprã NU report_levelrä K U _destinationrå NU
+halt_levelræ K U
+strip_classesrç Nh8NU
+error_encoding_error_handlerrè U backslashreplaceré U debugrê NU embed_stylesheetrë ‰U
+output_encoding_error_handlerrì U strictrí U
+sectnum_xformrî K U dump_transformsrï NU
+docinfo_xformrð K U warning_streamrñ NU pep_file_url_templaterò U pep-%04dró U exit_status_levelrô K U configrõ NU strict_visitorrö NU cloak_email_addressesr÷ ˆU
+trim_footnote_reference_spacerø ‰U envrù NU dump_pseudo_xmlrú NU expose_internalsrû NU sectsubtitle_xformrü ‰U source_linkrý NU rfc_referencesrþ NU output_encodingrÿ U utf-8r U
+source_urlr NU input_encodingr U
utf-8-sigr U _disable_configr NU id_prefixr U U
tab_widthr K U error_encodingr U UTF-8r U _sourcer
UD/home/hugoruscitti/proyectos/asadetris/doc/source/diseno_etapa_5.rstr
+ U generatorr NU dump_internalsr NU pep_base_urlr
+ U http://www.python.org/dev/peps/r U
+input_encoding_error_handlerr jí U auto_id_prefixr U idr U doctitle_xformr ‰U strip_elements_with_classesr NU
+_config_filesr ]r U file_insertion_enabledr K U raw_enabledr K U
+dump_settingsr NubU symbol_footnote_startr K U idsr }r (h h h j h hDh j
+ uU substitution_namesr
+ }r
+ h#h2h%}r
+ (h']r h-]r h+]r! U sourcer" h!h)]r# h/]r$ uU
footnotesr% ]r& U refidsr' }r( ub.
=======================================
--- /doc/build/doctrees/environment.pickle Sun May 23 10:58:24 2010
+++ /doc/build/doctrees/environment.pickle Sun May 23 19:23:26 2010
Binary file, no diff available.
=======================================
--- /doc/build/doctrees/tareas_y_etapas.doctree Sun May 23 10:58:24 2010
+++ /doc/build/doctrees/tareas_y_etapas.doctree Sun May 23 19:23:26 2010
@@ -39,27 +39,31 @@
donde registramos cada uno de los cambios que realizamos en base
a la planificación.qmh hMubeubcdocutils.nodes
literal_block
-qn) qo}qp(h X‡ : Este documento enumera todas las tareas y etapas que se
relizarán
+qn) qo}qp(h XŸ : Este documento enumera todas las tareas y etapas que se
relizarán
: para concluir el desarrollo del juego.

: Note que este archivo se modifica con frecuencia, en este momento
: no está completo.

-[_] 38% Etapa 5 (actual)
+☠38% Etapa 5 (actual)
: Se agregan mejoras como las animaciones
- [X] mostrar la siguiente pieza que va a caer.
- [X] aumentar la velocidad de caída cuando completa mas de 10 lineas.
- [_] crear presentacion del juego
- [_] mejorar la escena de creditos
- [_] cambiar el tema visual de las piezas
- [_] crear efectos visuales en la transición entre escenas
- [_] Colocar sonidos
- [_] crear animación a la eliminación de lineas
- [X] aplicar animaciones a la rotación de las piezas
- [X] permite aternar entre pantalla completa y ventana.
- [X] soporte para jugar con joystick.
- [_] probar en otros sistemas operativos como windows.
- [_] genera version ejecutable en formato .exe
+ ☑ mostrar la siguiente pieza que va a caer.
+ ☑ aumentar la velocidad de caída cuando completa mas de 10 lineas.
+ ☠crear presentacion del juego
+ ☑ mejorar la escena de creditos
+ ☠cambiar el tema visual de las piezas
+ ☠crear efectos visuales en la transición entre escenas
+ ☠Colocar sonidos
+ ☠crear animación a la eliminación de lineas
+ ☑ aplicar animaciones a la rotación de las piezas
+ ☑ permite aternar entre pantalla completa y ventana.
+ ☑ soporte para jugar con joystick.
+ ☠probar en otros sistemas operativos como windows.
+ ☠genera version ejecutable en formato .exe
+ ☑ mejorar la escena de juego
+ ☑ crear un mensaje al inicio que diga "listo, ya!!"
+ ☑ mostrar un mensaje de game over con una imagen
+ ☑ Crear un efecto cuando se elimina una linea.



@@ -67,7 +71,7 @@
=================


-[X] 100% Etapa 1
+☑ 100% Etapa 1
: El propósito de esta etapa es tener una ventana principal con
: un fondo de pantalla y una leyenda de texto. El usuario tiene
: que poder cerrar la ventana pulsando una tecla o haciendo click
@@ -77,25 +81,25 @@
: con la organización del proyecto, la documentación, los directorios y
: las funciones iniciales.

- [X] crear repositorio
- [X] definir la estructura de directorios a utilizar
- [X] crear el directorio 'doc' con la documentación en formato sphinx
- [X] crear una ventana
- [X] gestionar los eventos de mouse y teclado
- [X] crear el sistema de escenas básico
- [X] explicar la estrategia a desarrollar
- [X] mejorar el programa principal
- [X] crear la escena abstracta
- [X] crear una escena de implementación (presentación)
- [X] crear función para cargar imagenes
- [X] mostrar una imagen con el titulo del juego.
- [X] definir un archivo setup.py inicial
- [X] publicar URL de la documentación en el foro
- [X] 100% desarrollar un sistema de fuentes tipograficas
- [X] crear función para cargar e imprimir fuentes
- [X] mostrar el mensaje "pulse una tecla para salir" en la pantalla
principal.
- [X] proponer un estilo de codificación
-[X] 100% Etapa 2
+ ☑ crear repositorio
+ ☑ definir la estructura de directorios a utilizar
+ ☑ crear el directorio 'doc' con la documentación en formato sphinx
+ ☑ crear una ventana
+ ☑ gestionar los eventos de mouse y teclado
+ ☑ crear el sistema de escenas básico
+ ☑ explicar la estrategia a desarrollar
+ ☑ mejorar el programa principal
+ ☑ crear la escena abstracta
+ ☑ crear una escena de implementación (presentación)
+ ☑ crear función para cargar imagenes
+ ☑ mostrar una imagen con el titulo del juego.
+ ☑ definir un archivo setup.py inicial
+ ☑ publicar URL de la documentación en el foro
+ ☑ 100% desarrollar un sistema de fuentes tipograficas
+ ☑ crear función para cargar e imprimir fuentes
+ ☑ mostrar el mensaje "pulse una tecla para salir" en la pantalla
principal.
+ ☑ proponer un estilo de codificación
+☑ 100% Etapa 2
: Se desarrollan los movimientos básicos de las piezas, el usuario
: tiene que poder mover una pieza por la pantalla usando los
: direccionales del teclado y rotar las mismas con las teclas 'x' y
@@ -110,22 +114,22 @@

: Hay solo un tipo de pieza (la "L").

- [X] Extender el sistema de fuentes
- [X] crear un directorio para recursos de fuentes tipograficas
- [X] que la función de imprimir cadenas soporte saltos de linea.
- [X] crear escena de juego
- [X] crear una ficha
- [X] permitir el movimiento de la ficha
- [X] aplicar restricciones de movimiento como los bordes
- [X] colisiones sencillas con el centro de la pieza.
- [X] colisiones logradas con los bordes.
- [X] implementar las rotaciones hacia izquiera o derecha
- [X] restringir las rotaciones en los bordes
- [X] mejorar el sistema de escenas para permitir cambios de una a otra
- [X] hacer que el usuario pueda ir a otra escena (la de la etapa anterior)
pulsando la tecla ESC.
- [X] Imprimir un mensaje que indique esto en la ventana.
- [X] Asignar el cambio a la tecla ESCAPE.
-[X] 100% Etapa 3
+ ☑ Extender el sistema de fuentes
+ ☑ crear un directorio para recursos de fuentes tipograficas
+ ☑ que la función de imprimir cadenas soporte saltos de linea.
+ ☑ crear escena de juego
+ ☑ crear una ficha
+ ☑ permitir el movimiento de la ficha
+ ☑ aplicar restricciones de movimiento como los bordes
+ ☑ colisiones sencillas con el centro de la pieza.
+ ☑ colisiones logradas con los bordes.
+ ☑ implementar las rotaciones hacia izquiera o derecha
+ ☑ restringir las rotaciones en los bordes
+ ☑ mejorar el sistema de escenas para permitir cambios de una a otra
+ ☑ hacer que el usuario pueda ir a otra escena (la de la etapa anterior)
pulsando la tecla ESC.
+ ☑ Imprimir un mensaje que indique esto en la ventana.
+ ☑ Asignar el cambio a la tecla ESCAPE.
+☑ 100% Etapa 3
: En esta etapa ya se puede comenzar a apilar fichas. El usuario tiene
: que poder hacer bajar una pieza, que permanezca en el suelo y que
: llegue otra nueva para poder mover.
@@ -138,39 +142,40 @@

: No se pueden hacer lineas en esta versión, solamente apilar.

- [X] Detener piezas cuando llegan abajo
- [X] Crear nuevas piezas cuando deja una en el suelo
- [X] Implementar colisiones entre las piezas
- [X] Crear las piezas que faltan.
- [X] Mostrar las piezas aleatoriamente.
- [X] Permitir que el usuario pueda bajar una pieza directamente (y no
progresivamente)
+ ☑ Detener piezas cuando llegan abajo
+ ☑ Crear nuevas piezas cuando deja una en el suelo
+ ☑ Implementar colisiones entre las piezas
+ ☑ Crear las piezas que faltan.
+ ☑ Mostrar las piezas aleatoriamente.
+ ☑ Permitir que el usuario pueda bajar una pieza directamente (y no
progresivamente)
: se agrega la tecla SPACE al control del juego.
- [X] Mostrar las piezas reposando si tocan el suelo
+ ☑ Mostrar las piezas reposando si tocan el suelo
: primero mostrar rectangulos de cualquier color en donde
: existe una colisión. Luego se puede pintar la pieza tal y
: como es.
-[X] 100% Etapa 4
+☑ 100% Etapa 4
: Aquí se implementan la creación de lineas y la asignación de puntaje.
- [X] permitir que el usuario pueda hacer lineas
- [X] hacer que las piezas bajen a una determinada velocidad.
- [X] implementar un contador de lineas
- [X] imprimir un mensaje de GameOver cuando llega a la parte superior.
+ ☑ permitir que el usuario pueda hacer lineas
+ ☑ hacer que las piezas bajen a una determinada velocidad.
+ ☑ implementar un contador de lineas
+ ☑ imprimir un mensaje de GameOver cuando llega a la parte superior.

Siguientes etapas
=================

-[_] % Etapa 6
- [X] permitir que el usuario use el mouse para seleccionar en el menu.
- [_] crear la escena de ayuda explicando los controles.
- [_] crear la escena de configuración del juego
- [_] opción para des/habilitar sonidos
- [_] opción para des/habilitar musica
- [X] alternar entre ventana y pantalla completa.
- [_] selección del tema visual a utilizar.
- [_] administrar los puntajes del juego
- [_] crear escena para mostrar los puntajes de los mejores jugadores
- [_] crear escena para quien logra un puntaje muy bueno
- [_] crear paquete .deb para distribuciones como Debian y Ubuntu.
+☠% Etapa 6
+ ☑ permitir que el usuario use el mouse para seleccionar en el menu.
+ ☠crear la escena de ayuda explicando los controles.
+ ☠crear la escena de configuración del juego
+ ☠opción para des/habilitar sonidos
+ ☠opción para des/habilitar musica
+ ☑ alternar entre ventana y pantalla completa.
+ ☒ selección del tema visual a utilizar.
+ : No se ve necesario utilizar varios temas.
+ ☠administrar los puntajes del juego
+ ☠crear escena para mostrar los puntajes de los mejores jugadores
+ ☠crear escena para quien logra un puntaje muy bueno
+ ☠crear paquete .deb para distribuciones como Debian y Ubuntu.
qqh h h h h
U
literal_blockqrh }qs(h!]qtU
xml:spacequU preserveqvh']qwh%]qxU sourceqyX? /home/hugoruscitti/proyectos/asadetris/doc/source/../etapas.otlqzh#]q{h)]q|
uh+K h,h h ]q}h:X‡ : Este documento enumera todas las tareas y etapas que
se relizarán
@@ -179,21 +184,25 @@
: Note que este archivo se modifica con frecuencia, en este momento
: no está completo.

-[_] 38% Etapa 5 (actual)
+☠38% Etapa 5 (actual)
: Se agregan mejoras como las animaciones
- [X] mostrar la siguiente pieza que va a caer.
- [X] aumentar la velocidad de caída cuando completa mas de 10 lineas.
- [_] crear presentacion del juego
- [_] mejorar la escena de creditos
- [_] cambiar el tema visual de las piezas
- [_] crear efectos visuales en la transición entre escenas
- [_] Colocar sonidos
- [_] crear animación a la eliminación de lineas
- [X] aplicar animaciones a la rotación de las piezas
- [X] permite aternar entre pantalla completa y ventana.
- [X] soporte para jugar con joystick.
- [_] probar en otros sistemas operativos como windows.
- [_] genera version ejecutable en formato .exe
+ ☑ mostrar la siguiente pieza que va a caer.
+ ☑ aumentar la velocidad de caída cuando completa mas de 10 lineas.
+ ☠crear presentacion del juego
+ ☑ mejorar la escena de creditos
+ ☠cambiar el tema visual de las piezas
+ ☠crear efectos visuales en la transición entre escenas
+ ☠Colocar sonidos
+ ☠crear animación a la eliminación de lineas
+ ☑ aplicar animaciones a la rotación de las piezas
+ ☑ permite aternar entre pantalla completa y ventana.
+ ☑ soporte para jugar con joystick.
+ ☠probar en otros sistemas operativos como windows.
+ ☠genera version ejecutable en formato .exe
+ ☑ mejorar la escena de juego
+ ☑ crear un mensaje al inicio que diga "listo, ya!!"
+ ☑ mostrar un mensaje de game over con una imagen
+ ☑ Crear un efecto cuando se elimina una linea.



@@ -201,7 +210,7 @@
=================


-[X] 100% Etapa 1
+☑ 100% Etapa 1
: El propósito de esta etapa es tener una ventana principal con
: un fondo de pantalla y una leyenda de texto. El usuario tiene
: que poder cerrar la ventana pulsando una tecla o haciendo click
@@ -211,25 +220,25 @@
: con la organización del proyecto, la documentación, los directorios y
: las funciones iniciales.

- [X] crear repositorio
- [X] definir la estructura de directorios a utilizar
- [X] crear el directorio 'doc' con la documentación en formato sphinx
- [X] crear una ventana
- [X] gestionar los eventos de mouse y teclado
- [X] crear el sistema de escenas básico
- [X] explicar la estrategia a desarrollar
- [X] mejorar el programa principal
- [X] crear la escena abstracta
- [X] crear una escena de implementación (presentación)
- [X] crear función para cargar imagenes
- [X] mostrar una imagen con el titulo del juego.
- [X] definir un archivo setup.py inicial
- [X] publicar URL de la documentación en el foro
- [X] 100% desarrollar un sistema de fuentes tipograficas
- [X] crear función para cargar e imprimir fuentes
- [X] mostrar el mensaje "pulse una tecla para salir" en la pantalla
principal.
- [X] proponer un estilo de codificación
-[X] 100% Etapa 2
+ ☑ crear repositorio
+ ☑ definir la estructura de directorios a utilizar
+ ☑ crear el directorio 'doc' con la documentación en formato sphinx
+ ☑ crear una ventana
+ ☑ gestionar los eventos de mouse y teclado
+ ☑ crear el sistema de escenas básico
+ ☑ explicar la estrategia a desarrollar
+ ☑ mejorar el programa principal
+ ☑ crear la escena abstracta
+ ☑ crear una escena de implementación (presentación)
+ ☑ crear función para cargar imagenes
+ ☑ mostrar una imagen con el titulo del juego.
+ ☑ definir un archivo setup.py inicial
+ ☑ publicar URL de la documentación en el foro
+ ☑ 100% desarrollar un sistema de fuentes tipograficas
+ ☑ crear función para cargar e imprimir fuentes
+ ☑ mostrar el mensaje "pulse una tecla para salir" en la pantalla
principal.
+ ☑ proponer un estilo de codificación
+☑ 100% Etapa 2
: Se desarrollan los movimientos básicos de las piezas, el usuario
: tiene que poder mover una pieza por la pantalla usando los
: direccionales del teclado y rotar las mismas con las teclas 'x' y
@@ -244,22 +253,22 @@

: Hay solo un tipo de pieza (la "L").

- [X] Extender el sistema de fuentes
- [X] crear un directorio para recursos de fuentes tipograficas
- [X] que la función de imprimir cadenas soporte saltos de linea.
- [X] crear escena de juego
- [X] crear una ficha
- [X] permitir el movimiento de la ficha
- [X] aplicar restricciones de movimiento como los bordes
- [X] colisiones sencillas con el centro de la pieza.
- [X] colisiones logradas con los bordes.
- [X] implementar las rotaciones hacia izquiera o derecha
- [X] restringir las rotaciones en los bordes
- [X] mejorar el sistema de escenas para permitir cambios de una a otra
- [X] hacer que el usuario pueda ir a otra escena (la de la etapa anterior)
pulsando la tecla ESC.
- [X] Imprimir un mensaje que indique esto en la ventana.
- [X] Asignar el cambio a la tecla ESCAPE.
-[X] 100% Etapa 3
+ ☑ Extender el sistema de fuentes
+ ☑ crear un directorio para recursos de fuentes tipograficas
+ ☑ que la función de imprimir cadenas soporte saltos de linea.
+ ☑ crear escena de juego
+ ☑ crear una ficha
+ ☑ permitir el movimiento de la ficha
+ ☑ aplicar restricciones de movimiento como los bordes
+ ☑ colisiones sencillas con el centro de la pieza.
+ ☑ colisiones logradas con los bordes.
+ ☑ implementar las rotaciones hacia izquiera o derecha
+ ☑ restringir las rotaciones en los bordes
+ ☑ mejorar el sistema de escenas para permitir cambios de una a otra
+ ☑ hacer que el usuario pueda ir a otra escena (la de la etapa anterior)
pulsando la tecla ESC.
+ ☑ Imprimir un mensaje que indique esto en la ventana.
+ ☑ Asignar el cambio a la tecla ESCAPE.
+☑ 100% Etapa 3
: En esta etapa ya se puede comenzar a apilar fichas. El usuario tiene
: que poder hacer bajar una pieza, que permanezca en el suelo y que
: llegue otra nueva para poder mover.
@@ -272,39 +281,40 @@

: No se pueden hacer lineas en esta versión, solamente apilar.

- [X] Detener piezas cuando llegan abajo
- [X] Crear nuevas piezas cuando deja una en el suelo
- [X] Implementar colisiones entre las piezas
- [X] Crear las piezas que faltan.
- [X] Mostrar las piezas aleatoriamente.
- [X] Permitir que el usuario pueda bajar una pieza directamente (y no
progresivamente)
+ ☑ Detener piezas cuando llegan abajo
+ ☑ Crear nuevas piezas cuando deja una en el suelo
+ ☑ Implementar colisiones entre las piezas
+ ☑ Crear las piezas que faltan.
+ ☑ Mostrar las piezas aleatoriamente.
+ ☑ Permitir que el usuario pueda bajar una pieza directamente (y no
progresivamente)
: se agrega la tecla SPACE al control del juego.
- [X] Mostrar las piezas reposando si tocan el suelo
+ ☑ Mostrar las piezas reposando si tocan el suelo
: primero mostrar rectangulos de cualquier color en donde
: existe una colisión. Luego se puede pintar la pieza tal y
: como es.
-[X] 100% Etapa 4
+☑ 100% Etapa 4
: Aquí se implementan la creación de lineas y la asignación de puntaje.
- [X] permitir que el usuario pueda hacer lineas
- [X] hacer que las piezas bajen a una determinada velocidad.
- [X] implementar un contador de lineas
- [X] imprimir un mensaje de GameOver cuando llega a la parte superior.
+ ☑ permitir que el usuario pueda hacer lineas
+ ☑ hacer que las piezas bajen a una determinada velocidad.
+ ☑ implementar un contador de lineas
+ ☑ imprimir un mensaje de GameOver cuando llega a la parte superior.

Siguientes etapas
=================

-[_] % Etapa 6
- [X] permitir que el usuario use el mouse para seleccionar en el menu.
- [_] crear la escena de ayuda explicando los controles.
- [_] crear la escena de configuración del juego
- [_] opción para des/habilitar sonidos
- [_] opción para des/habilitar musica
- [X] alternar entre ventana y pantalla completa.
- [_] selección del tema visual a utilizar.
- [_] administrar los puntajes del juego
- [_] crear escena para mostrar los puntajes de los mejores jugadores
- [_] crear escena para quien logra un puntaje muy bueno
- [_] crear paquete .deb para distribuciones como Debian y Ubuntu.
+☠% Etapa 6
+ ☑ permitir que el usuario use el mouse para seleccionar en el menu.
+ ☠crear la escena de ayuda explicando los controles.
+ ☠crear la escena de configuración del juego
+ ☠opción para des/habilitar sonidos
+ ☠opción para des/habilitar musica
+ ☑ alternar entre ventana y pantalla completa.
+ ☒ selección del tema visual a utilizar.
+ : No se ve necesario utilizar varios temas.
+ ☠administrar los puntajes del juego
+ ☠crear escena para mostrar los puntajes de los mejores jugadores
+ ☠crear escena para quien logra un puntaje muy bueno
+ ☠crear paquete .deb para distribuciones como Debian y Ubuntu.
q~
q }q€(h U h houbaubeubah U U transformerq NU
footnote_refsq‚}qƒU refnamesq„}q
=======================================
--- /doc/build/html/_sources/diseno_etapa_5.txt Thu Sep 17 04:03:39 2009
+++ /doc/build/html/_sources/diseno_etapa_5.txt Sun May 23 19:23:26 2010
@@ -5,12 +5,11 @@
-------------------

Cuando el usuario realiza 10 lineas buscamos que el juego aumente
-de velocidad. Esto se logra mediante la interacción de los
-objectos `Display`, `Game` y `Piece`.
+de velocidad. Esto se logra mediante la interacción de los objectos
`Display`, `Game` y `Piece`.

Básicamente quien coordina la velocidad del juego es la clase
`Game`. Mientras el usuario está jugando el objeto `Game` almacena
-en su atributo `speed` la velocidad que le tiene que asignar
+en su atributo `speed` la veocidad que le tiene que asignar
a cada pieza que genera. Este atributo de velocidad depende de
lo que le diga la clase `Display`, que conoce cuantas lineas
del juego a realiza el usuario y en qué nivel se encuenta.
@@ -21,3 +20,69 @@

nivel = lineas / 10

+
+Mensajes dentro del juego como subscenes
+----------------------------------------
+
+Mientras estás jugando es importante que el juego que
+marque claramente cuando pierdes o comienza el nivel.
+
+Por eso, se ha creado la posibilidad de que la clase
+``game`` pueda presentar distintos mensajes durante la
+sesión de juego. Por ejemplo, cuando se inicia el
+juego se presenta un mensaje de tipo ``listo... ya!!`` para
+indicar que el juego ha comenzado.
+
+Los mensajes se han incoporado como objetos dentro
+del modulo ``game_scene_messages``.
+
+Cuando el objeto ``GameScene`` quiere mostrar un mensaje, solo
+tiene que llamar al método ``show_graphic_message`` y pasarle
+como argumento la instancia de un objeto del módulo
+``game_scene_messages``. Por ejemplo, cuando se inicia el
+juego.
+
+
+Algo similar ocurre cuando el jugador pierde. Simplemente se
+llama al método ``on_game_over`` de la clase ``GameScene`` y
+desde ahí se invoca a la siguiente sentencia.
+
+.. code-block:: python
+
+ def on_game_over(self):
+
self.show_graphic_message(game_scene_messages.GameOverMessage(self))
+
+
+Animación al eliminar lineas
+----------------------------
+
+En esta estapa también se ha incorporado una animación sencilla
+cuando se elimina una o mas lineas.
+
+Para crear el efecto se optó lo mas sencillo, mostrar un
+rectángulo intermitente sobre la linea que desaparece.
+
+El encargado del efecto es el objeto ``LineAnimation`` dentro
+del archivo ``gamescene.py``. Este objeto se genera cada vez
+que se realizan lineas. Por ejemplo, el siguiente
+fragmento de código se ejecuta cuando el usuario realiza
+una o mas lineas (el que invoca a este método es el
+objeto ``Board``):
+
+.. code-block:: python
+
+ def on_line_complete(self, lines):
+ self.line_animation = LineAnimation(lines)
+
+ # aumenta la velocidad del juego
+ self.game_speed = (self.display.level * 2) * len(lines)
+ self.delay_showing_line_animation = DELAY_LINE_COMPLE_EFFECT
+
+Aquí hay dos sentencias importantes, la primera genera el objeto
+``LineAnimation`` indicando las lineas que se van a eliminar. Y la
+segunda sentencia es la que le da valor al atributo
``delay_showing_line_animation``,
+este atributo indica que el juego debe detenerse unos pocos milisegundos
+para que el usuario pueda ver la animación.
+
+Cuando este contador llega a cero, el juego continúa y el tablero se limpia
+de efectos para que pueda seguir jugando.
=======================================
--- /doc/build/html/diseno_etapa_5.html Sun May 23 10:58:24 2010
+++ /doc/build/html/diseno_etapa_5.html Sun May 23 19:23:26 2010
@@ -51,11 +51,10 @@
<div class="section" id="velocidad-del-juego">
<h2>Velocidad del juego<a class="headerlink" href="#velocidad-del-juego"
title="Enlazar permanentemente con este título">¶</a></h2>
<p>Cuando el usuario realiza 10 lineas buscamos que el juego aumente
-de velocidad. Esto se logra mediante la interacción de los
-objectos <cite>Display</cite>, <cite>Game</cite> y <cite>Piece</cite>.</p>
+de velocidad. Esto se logra mediante la interacción de los objectos
<cite>Display</cite>, <cite>Game</cite> y <cite>Piece</cite>.</p>
<p>Básicamente quien coordina la velocidad del juego es la clase
<cite>Game</cite>. Mientras el usuario está jugando el objeto
<cite>Game</cite> almacena
-en su atributo <cite>speed</cite> la velocidad que le tiene que asignar
+en su atributo <cite>speed</cite> la veocidad que le tiene que asignar
a cada pieza que genera. Este atributo de velocidad depende de
lo que le diga la clase <cite>Display</cite>, que conoce cuantas lineas
del juego a realiza el usuario y en qué nivel se encuenta.</p>
@@ -64,7 +63,59 @@
</pre></div>
</div>
</div>
+<div class="section" id="mensajes-dentro-del-juego-como-subscenes">
+<h2>Mensajes dentro del juego como subscenes<a class="headerlink"
href="#mensajes-dentro-del-juego-como-subscenes" title="Enlazar
permanentemente con este título">¶</a></h2>
+<p>Mientras estás jugando es importante que el juego que
+marque claramente cuando pierdes o comienza el nivel.</p>
+<p>Por eso, se ha creado la posibilidad de que la clase
+<tt class="docutils literal"><span class="pre">game</span></tt> pueda
presentar distintos mensajes durante la
+sesión de juego. Por ejemplo, cuando se inicia el
+juego se presenta un mensaje de tipo <tt class="docutils literal"><span
class="pre">listo...</span> <span class="pre">ya!!</span></tt> para
+indicar que el juego ha comenzado.</p>
+<p>Los mensajes se han incoporado como objetos dentro
+del modulo <tt class="docutils literal"><span
class="pre">game_scene_messages</span></tt>.</p>
+<p>Cuando el objeto <tt class="docutils literal"><span
class="pre">GameScene</span></tt> quiere mostrar un mensaje, solo
+tiene que llamar al método <tt class="docutils literal"><span
class="pre">show_graphic_message</span></tt> y pasarle
+como argumento la instancia de un objeto del módulo
+<tt class="docutils literal"><span
class="pre">game_scene_messages</span></tt>. Por ejemplo, cuando se inicia
el
+juego.</p>
+<p>Algo similar ocurre cuando el jugador pierde. Simplemente se
+llama al método <tt class="docutils literal"><span
class="pre">on_game_over</span></tt> de la clase <tt class="docutils
literal"><span class="pre">GameScene</span></tt> y
+desde ahí se invoca a la siguiente sentencia.</p>
+<div class="highlight-python"><div class="highlight"><pre><span
class="k">def</span> <span class="nf">on_game_over</span><span
class="p">(</span><span class="bp">self</span><span class="p">):</span>
+ <span class="bp">self</span><span class="o">.</span><span
class="n">show_graphic_message</span><span class="p">(</span><span
class="n">game_scene_messages</span><span class="o">.</span><span
class="n">GameOverMessage</span><span class="p">(</span><span
class="bp">self</span><span class="p">))</span>
+</pre></div>
</div>
+</div>
+<div class="section" id="animacion-al-eliminar-lineas">
+<h2>Animación al eliminar lineas<a class="headerlink"
href="#animacion-al-eliminar-lineas" title="Enlazar permanentemente con
este título">¶</a></h2>
+<p>En esta estapa también se ha incorporado una animación sencilla
+cuando se elimina una o mas lineas.</p>
+<p>Para crear el efecto se optó lo mas sencillo, mostrar un
+rectángulo intermitente sobre la linea que desaparece.</p>
+<p>El encargado del efecto es el objeto <tt class="docutils literal"><span
class="pre">LineAnimation</span></tt> dentro
+del archivo <tt class="docutils literal"><span
class="pre">gamescene.py</span></tt>. Este objeto se genera cada vez
+que se realizan lineas. Por ejemplo, el siguiente
+fragmento de código se ejecuta cuando el usuario realiza
+una o mas lineas (el que invoca a este método es el
+objeto <tt class="docutils literal"><span
class="pre">Board</span></tt>):</p>
+<div class="highlight-python"><div class="highlight"><pre><span
class="k">def</span> <span class="nf">on_line_complete</span><span
class="p">(</span><span class="bp">self</span><span class="p">,</span>
<span class="n">lines</span><span class="p">):</span>
+ <span class="bp">self</span><span class="o">.</span><span
class="n">line_animation</span> <span class="o">=</span> <span
class="n">LineAnimation</span><span class="p">(</span><span
class="n">lines</span><span class="p">)</span>
+
+ <span class="c"># aumenta la velocidad del juego</span>
+ <span class="bp">self</span><span class="o">.</span><span
class="n">game_speed</span> <span class="o">=</span> <span
class="p">(</span><span class="bp">self</span><span class="o">.</span><span
class="n">display</span><span class="o">.</span><span
class="n">level</span> <span class="o">*</span> <span
class="mi">2</span><span class="p">)</span> <span class="o">*</span> <span
class="nb">len</span><span class="p">(</span><span
class="n">lines</span><span class="p">)</span>
+ <span class="bp">self</span><span class="o">.</span><span
class="n">delay_showing_line_animation</span> <span class="o">=</span>
<span class="n">DELAY_LINE_COMPLE_EFFECT</span>
+</pre></div>
+</div>
+<p>Aquí hay dos sentencias importantes, la primera genera el objeto
+<tt class="docutils literal"><span class="pre">LineAnimation</span></tt>
indicando las lineas que se van a eliminar. Y la
+segunda sentencia es la que le da valor al atributo <tt class="docutils
literal"><span class="pre">delay_showing_line_animation</span></tt>,
+este atributo indica que el juego debe detenerse unos pocos milisegundos
+para que el usuario pueda ver la animación.</p>
+<p>Cuando este contador llega a cero, el juego continúa y el tablero se
limpia
+de efectos para que pueda seguir jugando.</p>
+</div>
+</div>


</div>
@@ -76,6 +127,8 @@
<ul>
<li><a class="reference external" href="#">Diseño de la etapa 5</a><ul>
<li><a class="reference external" href="#velocidad-del-juego">Velocidad
del juego</a></li>
+<li><a class="reference external"
href="#mensajes-dentro-del-juego-como-subscenes">Mensajes dentro del juego
como subscenes</a></li>
+<li><a class="reference external"
href="#animacion-al-eliminar-lineas">Animación al eliminar lineas</a></li>
</ul>
</li>
</ul>
=======================================
--- /doc/build/html/index.html Sun May 23 10:58:24 2010
+++ /doc/build/html/index.html Sun May 23 19:23:26 2010
@@ -103,6 +103,8 @@
</li>
<li class="toctree-l1"><a class="reference external"
href="diseno_etapa_5.html">Diseño de la etapa 5</a><ul>
<li class="toctree-l2"><a class="reference external"
href="diseno_etapa_5.html#velocidad-del-juego">Velocidad del juego</a></li>
+<li class="toctree-l2"><a class="reference external"
href="diseno_etapa_5.html#mensajes-dentro-del-juego-como-subscenes">Mensajes
dentro del juego como subscenes</a></li>
+<li class="toctree-l2"><a class="reference external"
href="diseno_etapa_5.html#animacion-al-eliminar-lineas">Animación al
eliminar lineas</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference external"
href="modules.html">Módulos</a><ul>
=======================================
--- /doc/build/html/searchindex.js Sun May 23 10:58:24 2010
+++ /doc/build/html/searchindex.js Sun May 23 19:23:26 2010
@@ -1,1 +1,1 @@
-Search.setIndex({desctypes:{"0":"function"},terms:{code:4,directorio:[8,9,1],ampliando:[0,10],cargar:1,breve:4,uno:[5,9,1],actualizar:10,alt:[],superfici:[8,3],precisament:10,atributo:[6,8],buscamo:[2,6],operar:10,medida:5,decim:6,vez:[5,9,1,10],otra:[4,9,1,10],igual:[9,10],estructura:[0,1,4,8,9,10],aplicar:1,caracter:[0,4],distingu:4,relaciona:1,"soluci\u00f3n":10,solicitado:4,solament:[9,1,10],"b\u00e1sico":1,"c\u00f3mo":[5,9,10],"eval\u00faa":5,naturalidad:4,previs:10,fuent:1,mous:[5,1],ejecut:[10,1],"interacci\u00f3n":[0,6,9],heredar:9,valioso:5,anotar:2,lacabra25:11,colorkei:3,bajen:[7,1],brevement:5,tre:[2,5],haber:10,"dise\u00f1o":[0,5,6,7,8,9,10],recib:[8,10],elegir:[2,5],pygam:4,especifica:2,"habr\u00e1":10,"dise\u00f1ar":10,"m\u00fasica":2,cosa:10,agrega:[8,1],consistent:4,ejemplo:[5,4,9,1,10],"bot\u00f3n":5,entr:[0,1,2,4,8,9,10],video:5,comienza:9,pass:4,carlo:11,click:[5,1],sentencia:4,aleatoriament:1,porqu:[5,9,1],tipo:1,usando:[4,1],manejar:[9,10],acceso:5,"l\u00f3gica":9,uniform:4,version:1,"dif\u00edcil":[5,10],"m\u00e9todo":[7,10],"new":10,net:4,"animaci\u00f3n":1,otro:[5,4,9,1,10],cambiar:[5,10,1],gener:10,component:10,objecto:6,indiqu:1,internament:[7,8,9],ubuntu:1,depend:6,interna:9,activa:10,invis:[8,9],"implementaci\u00f3n":[0,1],root:[],gent:5,tocado:8,resto:[5,8,1],def:4,permit:[5,4,1],bajan:5,izquiera:1,"espa\u00f1ol":4,restriccion:[9,1],texto:[4,10,1],creado:4,"configuraci\u00f3n":[2,1],"diferenciaci\u00f3n":5,sirv:5,palabra:4,"m\u00f3dulo":[0,4,3],txt:8,refleja:8,from:4,finalizar:10,fondo:1,diagrama:[0,8,10],meno:4,criterio:8,utilizando:10,representada:9,funciona:10,"programaci\u00f3n":[0,4,10],"mayor\u00eda":4,incluir:[4,10],visual:[5,0,8,9,1],"d\u00f3nde":2,"selecci\u00f3n":1,animacion:[2,1],bajar:[2,5,7,1],"ejecuci\u00f3n":10,pierd:5,setup:[5,1],concepto:10,del:[0,1,2,3,4,5,6,7,8,9,10],can:[],pero:[2,8,9,1,10],deb:1,tampoco:10,facilitar:2,sabe:[0,10],control:[5,0,10,1],almacenan:[3,9],figura:[5,9],quickstart:[],patron:10,cierra:1,funcionalidad:[5,4,10],atend:10,indic:0,apilar:1,perder:2,dokan:11,inicial:1,lograr:4,tal:1,presentacion:[10,1],ficha:[2,5,1],identando:4,llegu:1,surfac:4,mapa:8,end:[],objeto:[0,4,6,8,9,10],divid:1,utiliza:8,colocar:[4,1],hugo:11,"inspiraci\u00f3n":5,reposo:8,aument:6,fals:3,dividida:1,musica:[2,1],mejorar:1,retorna:4,cual:5,simpl:[2,4,9,10],sin:5,updat:7,tien:[6,8,9,1,10],escenario:[2,5,8,1],adoptado:4,implementada:7,variant:4,create_displai:4,salto:1,"informaci\u00f3n":8,dato:[8,4],construy:4,sistema:[5,0,4,10,1],estrategia:[10,1],horizontal:5,sonido:[2,10,1],tetri:5,distribucion:1,coordina:6,correspond:10,redundant:4,hasta:2,linea:[1,2,5,6,7,9],primero:1,"representaci\u00f3n":9,rotar:[2,1],acelera:5,compuesta:[5,9],move:[],girar:5,ingresa:[2,5],compuesto:10,operativo:1,hacia:[5,1],nombr:[2,0,4,5,10],retornando:3,mayor:[2,4,10],direccional:[5,9,1],ambientado:5,superior:[7,1],forma:[5,7,4,9],"tambi\u00e9n":[5,8,9],cerrar:1,asignar:[6,1],jugando:[5,6],tendremo:10,personaj:4,window:1,interesant:10,llega:[2,7,10,1],"asignaci\u00f3n":1,main:5,anim:4,elegido:5,imprimirla:10,python:4,mientra:[5,6],"opci\u00f3n":[5,1],difier:5,"est\u00e9":4,contador:[7,1],dar:5,"qu\u00e9":6,realiza:6,desarrollan:1,transparent:8,"as\u00ed":1,completar:2,realacionada:1,name:3,dividido:5,soportan:4,permanezca:1,representa:[8,4,9,10],"b\u00e1sicament":[2,6,10],enumeran:5,modo:[2,5,4],documento:[5,0,4,10,1],bueno:1,prohibir:9,resum:[3,9],idea:[2,10],toda:[8,10,1],meta:2,acomodar:5,pulsar:[5,4,1],giro:5,todo:[5,8,4,9,10],falta:10,variabl:[4,10],"documentaci\u00f3n":[0,4,1],"r\u00e1pido":5,convencion:4,matriz:[8,9],leyenda:1,adapt:[],"relizar\u00e1n":1,print:4,red:2,"peque\u00f1o":10,"aplicaci\u00f3n":[10,1],alcanc:[2,0],situar:9,"planificaci\u00f3n":1,"peque\u00f1a":10,inici:[5,0,1],base:1,que:[0,1,2,3,4,5,6,7,8,9,10,11],basa:10,entrar:5,realizar:2,luego:[10,1],probar:1,integrant:[0,11],deja:[8,1],asignamo:4,oper:10,mucha:10,agregan:1,"est\u00e1":[1,5,6,7,9,10],organiza:3,scena:10,videojuego:5,scene:9,rank:10,mucho:[5,10],cada:[1,5,4,6,7,8,9,10],participan:11,dond:[1,5,4,8,9,10],adicionalment:5,rutina:[4,10],size:4,gpl:5,"\u00fanico":5,"est\u00e1n":9,realidad:10,gestionar:[10,1],least:[],verifica:8,master:[],llegan:1,htm:4,juanxo:11,animado:4,pintar:1,para:[1,2,4,5,8,9,10],orden:[8,9,10],segunda:10,copi:5,direct:[],part:[0,1,6,7,8,10],avanza:[5,7],bajo:[4,10],necesitamo:10,"convenci\u00f3n":4,lista:11,diga:6,incorrecto:9,"colisi\u00f3n":[8,9,1],recurso:1,situado:4,colisionar:8,abstracta:1,"versi\u00f3n":1,aumentar:[7,1],"intensi\u00f3n":4,interactivo:2,colisionan:9,sigu:1,"rotaci\u00f3n":1,esta:[1,5,3,4,7,8,9,10,11],observar:[8,10],planificar:2,"return":4,teclado:[5,9,1],efecto:1,blit:4,"inicializaci\u00f3n":[0,9],simplificado:10,dentro:[8,3],imprim:10,poner:2,paquet:[3,1],blanco:[0,4],"despu\u00e9":4,self:4,tienen:5,note:1,nota:[5,4],separado:[9,10],licencia:5,funcion:[0,4,3,1],lugar:[9,10],nivel:[2,0,6,7,5],explicando:1,dibujar:10,clase:[0,4,6,7,8,9,10],centro:1,can_put_this_piece_her:[],horizontalment:5,cualquier:[10,1],diferent:[2,5,1],digestivo:5,contain:[],"class":4,set_mod:4,encargado:10,audio:[2,5],usuario:[1,2,5,6,7,8,9,10],url:1,doc:1,alguna:8,adopt:4,sola:[5,9,10],repositorio:1,resumimo:4,cambio:[8,4,10,1],"ser\u00e1":5,visualment:8,cambia:2,inmediatament:[2,5],cantidad:[5,6],usamo:4,ingresando:5,indispens:4,comenzar:1,realizada:5,enumera:1,manera:[4,9,10],carga:[4,3],realizado:5,help:5,pulsando:[5,9,1],durant:5,"funci\u00f3n":1,dice:10,menu:[4,10,1],llamar:[7,10],configur:[2,4],varia:[4,10,1],escena:[5,0,9,1,10],jugar:[5,1],should:[],lograda:1,separarla:4,png:4,rectangulo:[3,1],velazquez:11,separacion:[0,4],controla:8,ocupado:8,"introducci\u00f3n":[5,0],"alg\u00fan":1,implementan:1,genera:[6,4,10,1],suel:10,"creaci\u00f3n":1,constantement:10,tecla:[5,4,1],imprimir:[7,1],inclusion:[0,4],relacionan:10,"aqu\u00ed":[5,8,4,10,1],escriben:4,consist:[5,10],go_to_next_piec:[],utilidad:[0,3],partir:[7,10],utilizamo:[4,3],gameov:[7,1],intercambian:10,respond:[9,10],conform:[7,8],put_one_piece_her:[],caida:7,"autom\u00e1tica":7,frame:4,queda:1,individual:10,sea:[4,9],dividir:10,bloqueada:1,"\u00edndice":0,descarta:10,fullscreen:4,extend:1,"men\u00fa":[2,5,10],contenido:[0,8,10,1],certeza:[2,10],suelta:8,bien:[8,10],score:5,"estar\u00e1":10,"import":4,mui:[5,9,1,10],amba:2,alguien:5,llamado:10,solo:[1,2,4,5,8,10],realizamo:1,medio:[2,5],reemplazarlo:10,screen:4,constituyen:9,obligatorio:10,punto:5,evitamo:4,como:[1,2,4,5,9,10],opcion:[5,10],"m\u00ednimo":10,eliminar:10,instant:7,"peri\u00f3dicament":10,necesario:[4,10],operador:4,quier:[5,4,10],utilizan:5,utilizar:[5,1],una:[1,5,3,4,7,8,9,10],sencilla:[10,1],quien:[6,1],proyecto:[0,1,2,3,4,5,11],encarga:[7,10],sencillo:[9,10],"com\u00fan":2,con:[1,2,4,5,8,9,10],load:4,"se\u00f1alan":4,"colaboraci\u00f3n":10,por:[1,2,4,5,8,9,10],height:4,coma:4,complejidad:10,path:4,recomendamo:4,guion:4,guia:4,"min\u00fascula":4,interesa:10,creat:[],faltan:1,actualiza:10,conjunto:10,"incluir\u00e1":[2,0],"presentaci\u00f3n":[10,1],administrar:[10,1],walter:11,"pel\u00edcula":[0,10],esto:[1,2,4,5,6,10],otl:1,sprite:4,atien:10,pueden:[10,1],restant:8,xxx:9,intercambio:8,reposan:8,abajo:[5,1],"c\u00f3digo":[0,4,3,10],reposar:8,caer:1,deten:1,"ca\u00edda":[5,7,1],observa:5,modifica:1,inspecciona:9,marcado:9,present:5,representativo:4,implementar:[2,7,8,1],formato:1,defin:[2,4],orientada:10,marcador:2,sobr:[5,0,8,10],bueh:5,exist:[4,9,1],"situaci\u00f3n":8,buen:[2,5],analizar:10,permiten:4,responsabilidad:10,velocidad:[0,1,2,5,6,7],espacio:4,experto:[2,5],archivo:[4,3,9,1],origin:5,ofrec:9,ambient:2,consulta:[8,9],"f\u00e1cil":[2,5,4],tablero:[5,0,8,9],"__init__":4,evento:[10,1],alternar:1,etc:[4,10],pueda:[7,8,1],juan:11,"eligi\u00e9ramo":10,concluir:1,juego:[0,1,2,5,6,7,9,10,11],hecho:10,grand:[5,8,10],document:[],complet:[],"llegar\u00edamo":10,tiempo:10,persona:[5,11],"posici\u00f3n":[8,4],siempr:2,utf8:4,ella:8,director:[0,10],"se\u00f1ala":8,caen:1,hacer:[2,5,7,4,1],propon:1,lib:3,"a\u00fan":1,thu:[],game:[5,6,7],"cl\u00e1sico":5,radica:10,obligatoriament:10,implementa:8,programa:1,thi:[],conoc:[6,4,10],"prop\u00f3sito":1,joystick:1,dificultad:[5,10],desacoplamiento:[0,10],"ingl\u00e9":4,letra:9,incluso:10,vamo:10,visual_matrix:8,verificar:9,load_imag:[4,3],progresivament:[2,5,1],desd:[5,1],mantien:10,momento:[9,1,10],"may\u00fascula":4,desarrollar:1,brindar:5,habilidad:5,speed:6,comentario:4,nuestro:2,hai:[5,10,1],mundogeek:4,han:8,simpleanim:4,utilizado:9,detal:[5,4],suelen:4,color:[5,1],arriba:1,relativament:5,board:[0,8,9],"transici\u00f3n":1,colision:[0,8,9,1,10],ambo:8,formar:5,puedan:2,cuando:[6,7,8,10,1],piec:[0,6,7,9],camelcas:4,"codificaci\u00f3n":[0,4,1],igualment:1,tanto:[2,5,9,10],aspecto:[5,0,8,4],libr:8,"patr\u00f3n":10,porcion:5,"tama\u00f1o":4,desarrollo:[2,11,1],like:[],restringir:1,"t\u00e9rmino":10,incorpora:9,princip:[5,0,10,1],utilizaremo:10,escribir:[4,10],regresar:[5,9],comida:5,desacoplarlo:10,consultar:5,resolv:10,pieza:[0,1,2,5,6,7,8,9,10],bloqu:[5,8,4,9],toctre:[],salir:1,bord:1,tarea:[0,1],hace:[5,10],est:[1,5,4,6,8,9,10,11],mostrar:1,ilustrativo:10,definir:[5,4,9,1,10],tipografica:1,analiza:8,esc:1,mejora:1,esa:[8,10],eso:5,inicia:[5,10],jugador:[2,5,1],pued:[1,2,5,8,9,10],"b\u00fasqueda":0,aumenta:7,tocan:[9,1],suelo:[8,9,1],aumento:5,clarament:2,credito:1,mediant:6,nuevo:8,dibuja:[8,10],thepoi:11,usar:[5,10],losersjuego:5,habilitar:[2,1],nueva:[0,8,9,1,10],about:5,"enumeraci\u00f3n":2,actual:1,colaborativo:11,ocupar:8,descarga:7,http:4,explicar:1,queremo:[2,5,10],cadena:1,iniciando:4,"ser\u00e1n":5,algo:10,misma:[5,4,1],mismo:[2,10],ingresar:5,anterior:[9,1,10],encuentra:[9,10],traduccion:4,dibujan:9,cambiarla:10,agradecimiento:5,objetivo:[5,0,9],ruscitti:11,encod:4,son:[5,3,10],determina:2,ventana:[5,4,10,1],pantalla:[1,2,4,5,9,10],ayuda:[2,1],soport:1,your:[],ver:4,imagen:[1,5,3,4,8,9],puntaj:[2,0,5,1,10],agrupar:10,rotacion:1,incluy:[2,0],almacena:6,ello:[5,10],direccion:[2,5],"expl\u00edcita":4,width:4,resulten:4,contien:10,parec:5,editor:4,unidad:10,poder:[10,1],explica:[5,10],completa:[5,4,1],destello:2,haciendo:1,foro:1,realizando:5,jul:[],completo:[8,4,9,1,10],desarrollador:5,titulo:1,sphinx:1,mejor:1,utf:4,seleccionar:1,tab:4,notar:10,caja:10,josknet:11,intercambiarla:10,documentamo:4,displai:[6,4],comienzan:[7,4],tener:[2,10,1],tema:[5,1],permitir:[7,1],similar:[5,9],puls:1,crear:[8,9,1,10],definen:[4,10],cuatro:5,etapa:[0,1,6,7,8,9,10],inicialment:8,posibilidad:[5,9],funcionamiento:10,estilo:[0,4,10,1],generan:8,necesita:8,"ah\u00ed":5,salen:9,opci:10,registramo:1,"dise\u00f1ado":10,file:[],logo:[5,4],mover:[5,9,1],originalment:5,muestra:[5,10],leer:4,directament:[5,1],movimiento:[9,1,10],involucra:1,cuenta:[2,5],derecha:[5,9,1],reposando:1,significativo:3,componen:4,perfil:2,"podr\u00eda":8,parecida:10,podemo:10,parecido:8,you:[],set_scen:10,imag:4,frecuencia:1,draw:10,rasgo:[5,10],asadetri:[5,0],publicar:1,docstr:4,representan:9,optar:10,siguient:[5,9,1],"eliminaci\u00f3n":1,representar:10,important:[5,4,9,10],modelo:9,aternar:1,debe:[5,8,9,10],determinada:[5,7,1],grupo:5,auxiliar:3,debian:1,elemento:4,update_matrix_putting_a_new_piec:[],logra:[6,1],mensaj:[8,7,4,10,1],manten:10,util:[4,3],"organizaci\u00f3n":1,space:[5,1],mask:[8,9],cuanta:6,preliminar:9,izquierda:[5,9,1],"p\u00e1gina":[0,3],simplement:6,escap:[5,1],estrictament:4,decision:10,encuenta:6},titles:["Asadetris","Tareas
y
etapas","Alcance del proyecto","M\u00f3dulos","Estilo de
programaci\u00f3n","Documento de dise\u00f1o","Dise\u00f1o de la etapa
5","Dise\u00f1o de la etapa 4","Dise\u00f1o de la etapa 3","Dise\u00f1o de
la etapa 2","Dise\u00f1o de la etapa
1","Integrantes"],modules:{},descrefs:{"lib.utils":{load_images:[3,0]}},filenames:["index","tareas_y_etapas","alcance","modules","estilo","documento_de_diseno","diseno_etapa_5","diseno_etapa_4","diseno_etapa_3","diseno_etapa_2","diseno_etapa_1","integrantes"]})
+Search.setIndex({desctypes:{"0":"function"},terms:{code:4,directorio:[8,9,1],ampliando:[0,10],cargar:1,observa:5,actualizar:10,alt:[],superfici:[8,3],precisament:10,presenta:6,atributo:[6,8],buscamo:[2,6],marcado:9,decim:6,vez:[5,6,9,1,10],otra:[4,9,1,10],igual:[9,10],estructura:[0,1,4,8,9,10],aplicar:1,distingu:4,relaciona:1,"soluci\u00f3n":10,solament:[9,1,10],titulo:1,"c\u00f3mo":[5,9,10],"eval\u00faa":5,esa:[8,10],naturalidad:4,previs:10,fuent:1,mous:[5,1],jugador:[2,5,6,1],ejecut:[10,1],compuesta:[5,9],compuesto:10,valioso:5,anotar:2,colorkei:3,bajen:[7,1],necesita:8,level:6,brevement:5,tre:[2,5],haber:10,"dise\u00f1o":[0,5,6,7,8,9,10],recib:[8,10],elegir:[2,5],pygam:4,especifica:2,"habr\u00e1":10,"dise\u00f1ar":10,"m\u00fasica":2,cosa:10,agrega:[8,1],consistent:4,ejemplo:[1,5,4,6,9,10],"bot\u00f3n":5,entr:[0,1,2,4,8,9,10],video:5,comienza:[6,9],pass:4,direccion:[2,5],carlo:11,click:[5,1],sentencia:[6,4],incoporado:6,aleatoriament:1,porqu:[5,9,1],tipo:[6,1],realizado:5,manejar:[9,10],acceso:5,"l\u00f3gica":9,uniform:4,version:1,"dif\u00edcil":[5,10],"m\u00e9todo":[6,7,10],"new":10,net:4,"animaci\u00f3n":[0,6,1],estapa:6,otro:[5,4,9,1,10],cambiar:[5,10,1],orientada:10,gener:10,component:10,durant:[5,6],len:6,objecto:6,bueh:5,internament:[7,8,9],ubuntu:1,depend:6,interna:9,activa:10,invis:[8,9],"implementaci\u00f3n":[0,1],root:[],gent:5,indicando:6,"patr\u00f3n":10,tocado:8,resto:[5,8,1],facilitar:2,permit:[5,4,1],bajan:5,izquiera:1,line_anim:6,varia:[4,10,1],restriccion:[9,1],texto:[4,10,1],creado:[6,4],"configuraci\u00f3n":[2,1],"diferenciaci\u00f3n":5,sirv:5,palabra:4,usar:[5,10],"m\u00f3dulo":[0,4,3,6],txt:8,refleja:8,from:4,finalizar:10,"contin\u00faa":6,espacio:4,diagrama:[0,8,10],incluso:10,lograda:1,criterio:8,utilizando:10,representada:9,funciona:10,"programaci\u00f3n":[0,4,10],"mayor\u00eda":4,incluir:[4,10],visual:[5,0,8,9,1],"selecci\u00f3n":1,animacion:[2,1],consulta:[8,9],bajar:[2,5,7,1],"ejecuci\u00f3n":10,pierd:[5,6],setup:[5,1],concepto:10,mover:[5,9,1],del:[0,1,2,3,4,5,6,7,8,9,10],can:[],pero:[2,8,9,1,10],deb:1,tampoco:10,probar:1,"opt\u00f3":6,sabe:[0,10],control:[5,0,10,1],almacenan:[3,9],figura:[5,9],quickstart:[],patron:10,cierra:1,funcionalidad:[5,4,10],atend:10,indic:0,perder:2,"llegar\u00edamo":10,tab:4,lograr:4,tal:1,presentacion:[10,1],ficha:[2,5,1],"introducci\u00f3n":[5,0],llegu:1,surfac:4,mapa:8,end:[],objeto:[0,4,6,8,9,10],divid:1,utiliza:8,colocar:[4,1],hugo:11,"ser\u00e1n":5,aument:6,fals:3,dividida:1,llega:[2,6,7,10,1],retorna:4,cual:5,dividido:5,sin:5,updat:7,tien:[6,8,9,1,10],escenario:[2,5,8,1],adoptado:4,"relizar\u00e1n":1,variant:4,create_displai:4,salto:1,mismo:[2,10],dato:[8,4],construy:4,sistema:[5,0,4,10,1],estrategia:[10,1],horizontal:5,sonido:[2,10,1],tetri:5,centro:1,coordina:6,correspond:10,redundant:4,hasta:2,primera:6,milisegundo:6,linea:[0,1,2,5,6,7,9],primero:1,"representaci\u00f3n":9,archivo:[4,6,3,9,1],rotar:[2,1],acelera:5,"interacci\u00f3n":[0,6,9],over:1,move:[],girar:5,ingresa:[2,5],heredar:9,operativo:1,hacia:[5,1],nombr:[2,0,4,5,10],retornando:3,mayor:[2,4,10],direccional:[5,9,1],ambientado:5,superior:[7,1],forma:[5,7,4,9],"tambi\u00e9n":[5,6,8,9],subscen:[0,6],cerrar:1,asignar:[6,1],jugando:[5,6],tendremo:10,personaj:4,window:1,interesant:10,instancia:6,musica:[2,1],"asignaci\u00f3n":1,main:5,anim:4,elegido:5,hecho:10,python:4,mientra:[5,6],"opci\u00f3n":[5,1],difier:5,scene:9,contador:[6,7,1],dar:5,"qu\u00e9":6,realiza:6,son:[5,3,10],transparent:8,"as\u00ed":1,completar:2,realacionada:1,name:3,simpl:[2,4,9,10],soportan:4,permanezca:1,representa:[8,4,9,10],"b\u00e1sicament":[2,6,10],enumeran:5,generan:8,modo:[2,5,4],bueno:1,distinto:6,prohibir:9,resum:[3,9],idea:[2,10],toda:[8,10,1],meta:2,acomodar:5,pulsar:[5,4,1],ingresar:5,giro:5,on_game_ov:6,todo:[5,8,4,9,10],falta:10,variabl:[4,10],"documentaci\u00f3n":[0,4,1],ayuda:[2,1],matriz:[8,9],your:[],poco:6,adapt:[],implementada:7,print:4,red:2,"peque\u00f1o":10,"aplicaci\u00f3n":[10,1],alcanc:[2,0],situar:9,"planificaci\u00f3n":1,"peque\u00f1a":10,inici:[5,0,1],base:1,que:[0,1,2,3,4,5,6,7,8,9,10,11],basa:10,entrar:5,contien:10,realizar:2,luego:[10,1],show_graphic_messag:6,integrant:[0,11],logo:[5,4],deja:[8,1],asignamo:4,set_scen:10,"cl\u00e1sico":5,realizan:6,"sesi\u00f3n":6,oper:10,mucha:10,agregan:1,"est\u00e1":[1,5,6,7,9,10],organiza:3,scena:10,videojuego:5,"est\u00e9":4,rank:10,mucho:[5,10],cada:[1,5,4,6,7,8,9,10],participan:11,dond:[1,5,4,8,9,10],concluir:1,adicionalment:5,rutina:[4,10],size:4,gpl:5,"\u00fanico":5,inicial:1,"est\u00e1n":9,elimina:[6,1],realidad:10,gestionar:[10,1],least:[],verifica:8,master:[],llegan:1,htm:4,juanxo:11,animado:4,para:[1,2,4,5,6,8,9,10],orden:[8,9,10],segunda:[6,10],copi:5,direct:[],listo:[6,1],part:[0,1,6,7,8,10],def:[6,4],bajo:[4,10],necesitamo:10,"convenci\u00f3n":4,lista:11,diga:[6,1],incorrecto:9,suelo:[8,9,1],"colisi\u00f3n":[8,9,1],"a\u00fan":1,situado:4,gameov:[7,1],colisionar:8,abstracta:1,"versi\u00f3n":1,aumentar:[7,1],"intensi\u00f3n":4,interactivo:2,colisionan:9,sigu:1,"rotaci\u00f3n":1,esta:[1,5,3,4,6,7,8,9,10,11],observar:[8,10],planificar:2,teclado:[5,9,1],efecto:[6,1],blit:4,programa:1,bloqueada:1,destello:2,simplificado:10,dentro:[0,6,8,3],imprim:10,poner:2,paquet:[3,1],blanco:[0,4],"despu\u00e9":4,self:[6,4],tienen:5,note:1,colision:[0,8,9,1,10],nota:[5,4],gamescen:6,separado:[9,10],licencia:5,documento:[5,0,4,10,1],lugar:[9,10],nivel:[2,0,6,7,5],explicando:1,dibujar:10,clase:[0,4,6,7,8,9,10],mediant:6,can_put_this_piece_her:[],horizontalment:5,cualquier:[10,1],diferent:[2,5,1],digestivo:5,"class":4,set_mod:4,encargado:[6,10],verificar:9,dificultad:[5,10],funcionamiento:10,usuario:[1,2,5,6,7,8,9,10],url:1,doc:1,alguna:8,adopt:4,reposar:8,repositorio:1,cambio:[8,4,10,1],con:[1,2,4,5,8,9,10],"ser\u00e1":5,visualment:8,cambia:2,avanza:[5,7],"m\u00ednimo":10,inmediatament:[2,5],cantidad:[5,6],usamo:4,ingresando:5,indispens:4,comenzar:1,realizada:5,enumera:1,manera:[4,9,10],carga:[4,3],usando:[4,1],help:5,pulsando:[5,9,1],vario:1,"funci\u00f3n":1,dice:10,"ca\u00edda":[5,7,1],menu:[4,10,1],configur:[2,4],"espa\u00f1ol":4,escena:[5,0,9,1,10],jugar:[5,1],should:[],meno:4,separarla:4,png:4,rectangulo:[3,1],velazquez:11,controla:8,ocupado:8,desaparec:6,identando:4,"alg\u00fan":1,genera:[6,4,10,1],suel:10,"creaci\u00f3n":1,constantement:10,tecla:[5,4,1],imprimir:[7,1],relacionan:10,"aqu\u00ed":[1,5,4,6,8,10],escriben:4,go_to_next_piec:[],partir:[7,10],mantien:10,contain:[],dibujan:9,intercambian:10,respond:[9,10],conform:[7,8],modulo:6,solo:[1,2,4,5,6,8,10],frame:4,individual:10,sea:[4,9],formato:1,dividir:10,pintar:1,"\u00edndice":0,descarta:10,fullscreen:4,reemplazarlo:10,"men\u00fa":[2,5,10],contenido:[0,8,10,1],certeza:[2,10],suelta:8,bien:[8,10],score:5,"estar\u00e1":10,"import":4,mui:[5,9,1,10],amba:2,alguien:5,llamado:10,caida:7,realizamo:1,extend:1,screen:4,constituyen:9,sola:[5,9,10],evitamo:4,como:[0,1,2,4,5,6,9,10],opcion:[5,10],punto:5,instant:7,"peri\u00f3dicament":10,necesario:[4,10,1],operador:4,quier:[5,6,4,10],utilizan:5,space:[5,1],utilizar:[5,1],una:[1,5,3,4,6,7,8,9,10],operar:10,quien:[6,1],proyecto:[0,1,2,3,4,5,11],encarga:[7,10],sencillo:[6,9,10],"com\u00fan":2,uno:[5,6,9,1],load:4,indica:6,"se\u00f1alan":4,"colaboraci\u00f3n":10,por:[1,2,4,5,6,8,9,10],height:4,coma:4,complejidad:10,path:4,recomendamo:4,guion:4,guia:4,"min\u00fascula":4,interesa:10,inicialment:8,faltan:1,actualiza:10,conjunto:10,"incluir\u00e1":[2,0],"presentaci\u00f3n":[10,1],administrar:[10,1],walter:11,"pel\u00edcula":[0,10],esto:[1,2,4,5,6,10],otl:1,sprite:4,atien:10,pueden:[10,1],restant:8,valor:6,intercambio:8,veocidad:6,abajo:[5,1],"c\u00f3digo":[0,4,3,6,10],distribucion:1,deten:1,file:[],encuenta:6,on_line_complet:6,breve:4,inspecciona:9,medida:5,present:5,representativo:4,opci:10,escribir:[4,10],intermitent:6,defin:[2,4],"autom\u00e1tica":7,marcador:2,sobr:[5,0,6,8,10],cero:6,indiqu:1,"dise\u00f1ado":10,"situaci\u00f3n":8,buen:[2,5],analizar:10,permiten:4,responsabilidad:10,velocidad:[0,1,2,5,6,7],fondo:1,experto:[2,5],comenzado:6,delay_showing_line_anim:6,origin:5,ofrec:9,definir:[5,4,9,1,10],ambient:2,"return":4,"f\u00e1cil":[2,5,4],tablero:[5,0,6,8,9],"__init__":4,evento:[10,1],put_one_piece_her:[],alternar:1,etc:[4,10],pueda:[6,7,8,1],argumento:6,juan:11,"eligi\u00e9ramo":10,parecido:8,sencilla:[6,10,1],juego:[0,1,2,5,6,7,9,10,11],"rect\u00e1ngulo":6,grand:[5,8,10],game_spe:6,document:[],cambiarla:10,complet:[],caer:1,tiempo:10,persona:[5,11],"posici\u00f3n":[8,4],siempr:2,utf8:4,ella:8,director:[0,10],"se\u00f1ala":8,caen:1,hacer:[2,5,7,4,1],propon:1,incorporado:6,lib:3,recurso:1,thu:[],game:[5,6,7,1],modifica:1,radica:10,obligatoriament:10,implementa:8,dokan:11,thi:[],conoc:[6,4,10],"prop\u00f3sito":1,joystick:1,audio:[2,5],desacoplamiento:[0,10],"ingl\u00e9":4,letra:9,reposo:8,vamo:10,visual_matrix:8,desarrollan:1,load_imag:[4,3],progresivament:[2,5,1],imagen:[1,5,3,4,8,9],aspecto:[5,0,8,4],utilizamo:[4,3],momento:[9,1,10],"may\u00fascula":4,desarrollar:1,brindar:5,comienzan:[7,4],habilidad:5,speed:6,comentario:4,nuestro:2,hai:[5,6,10,1],mundogeek:4,han:[6,8],simpleanim:4,utilizado:9,detal:[5,4],suelen:4,color:[5,1],arriba:1,relativament:5,board:[0,6,8,9],"transici\u00f3n":1,imprimirla:10,ambo:8,formar:5,puedan:2,desarrollo:[2,11,1],cuando:[6,7,8,10,1],piec:[0,6,7,9],marqu:6,camelcas:4,"codificaci\u00f3n":[0,4,1],igualment:1,tanto:[2,5,9,10],desd:[5,6,1],libr:8,invoca:6,porcion:5,"tama\u00f1o":4,ejecuta:6,like:[],"t\u00e9rmino":10,incorpora:9,princip:[5,0,10,1],utilizaremo:10,funcion:[0,4,3,1],regresar:[5,9],auxiliar:3,presentar:6,consultar:5,ocurr:6,resolv:10,delay_line_comple_effect:6,pieza:[0,1,2,5,6,7,8,9,10],bloqu:[5,8,4,9],toctre:[],salir:1,bord:1,tarea:[0,1],hace:[5,10],est:[1,5,4,6,8,9,10,11],fragmento:6,mostrar:[6,1],ilustrativo:10,decision:10,tipografica:1,deteners:6,analiza:8,esc:1,mejora:1,gameovermessag:6,inicio:1,eso:[5,6],inicia:[5,6,10],eliminar:[0,6,10],pued:[1,2,5,8,9,10],"b\u00fasqueda":0,aumenta:[6,7],tocan:[9,1],queda:1,aumento:5,clarament:[2,6],credito:1,llamar:[6,7,10],nuevo:8,dibuja:[8,10],thepoi:11,lacabra25:11,losersjuego:5,llama:6,habilitar:[2,1],nueva:[0,8,9,1,10],siguient:[5,6,9,1],about:5,"enumeraci\u00f3n":2,actual:1,colaborativo:11,ocupar:8,descarga:7,http:4,explicar:1,queremo:[2,5,10],cadena:1,iniciando:4,"inspiraci\u00f3n":5,algo:[6,10],misma:[5,4,1],"informaci\u00f3n":8,separacion:[0,4],anterior:[9,1,10],encuentra:[9,10],traduccion:4,medio:[2,5],inclusion:[0,4],agradecimiento:5,objetivo:[5,0,9],ruscitti:11,encod:4,game_scene_messag:6,determina:2,ventana:[5,4,10,1],pantalla:[1,2,4,5,9,10],agrupar:10,"r\u00e1pido":5,soport:1,leyenda:1,ver:[6,4],desacoplarlo:10,puntaj:[2,0,5,1,10],van:6,rotacion:1,incluy:[2,0],almacena:6,ello:[5,10],comida:5,"expl\u00edcita":4,width:4,resulten:4,solicitado:4,parec:5,editor:4,unidad:10,poder:[10,1],explica:[5,10],completa:[5,4,1],"inicializaci\u00f3n":[0,9],haciendo:1,foro:1,realizando:5,jul:[],completo:[8,4,9,1,10],seguir:6,desarrollador:5,pasarl:6,logra:[6,1],line:6,utf:4,seleccionar:1,consist:[5,10],notar:10,caja:10,josknet:11,intercambiarla:10,documentamo:4,displai:[6,4],limpia:6,mejorar:1,tener:[2,10,1],indicar:6,tema:[5,1],permitir:[7,1],similar:[5,6,9],puls:1,crear:[6,8,9,1,10],definen:[4,10],cuatro:5,etapa:[0,1,6,7,8,9,10],creat:[],posibilidad:[5,6,9],"d\u00f3nde":2,estilo:[0,4,10,1],implementan:1,convencion:4,"ah\u00ed":[5,6],salen:9,implementar:[2,7,8,1],registramo:1,exist:[4,9,1],mejor:1,caracter:[0,4],obligatorio:10,originalment:5,muestra:[5,10],leer:4,directament:[5,1],movimiento:[9,1,10],involucra:1,cuenta:[2,5],derecha:[5,9,1],reposando:1,significativo:3,componen:4,perfil:2,"podr\u00eda":8,parecida:10,podemo:10,resumimo:4,you:[],utilidad:[0,3],imag:4,frecuencia:1,draw:10,xxx:9,rasgo:[5,10],asadetri:[5,0],publicar:1,docstr:4,representan:9,reposan:8,optar:10,"eliminaci\u00f3n":1,representar:10,important:[5,6,4,9,10],modelo:9,aternar:1,escap:[5,1],debe:[5,6,8,9,10],determinada:[5,7,1],grupo:5,restringir:1,debian:1,elemento:4,update_matrix_putting_a_new_piec:[],sphinx:1,mensaj:[0,1,4,6,7,8,10],manten:10,util:[4,3],"organizaci\u00f3n":1,apilar:1,mask:[8,9],cuanta:6,izquierda:[5,9,1],"p\u00e1gina":[0,3],simplement:6,lineanim:6,estrictament:4,preliminar:9,"b\u00e1sico":1},titles:["Asadetris","Tareas
y
etapas","Alcance del proyecto","M\u00f3dulos","Estilo de
programaci\u00f3n","Documento de dise\u00f1o","Dise\u00f1o de la etapa
5","Dise\u00f1o de la etapa 4","Dise\u00f1o de la etapa 3","Dise\u00f1o de
la etapa 2","Dise\u00f1o de la etapa
1","Integrantes"],modules:{},descrefs:{"lib.utils":{load_images:[3,0]}},filenames:["index","tareas_y_etapas","alcance","modules","estilo","documento_de_diseno","diseno_etapa_5","diseno_etapa_4","diseno_etapa_3","diseno_etapa_2","diseno_etapa_1","integrantes"]})
=======================================
--- /doc/build/html/tareas_y_etapas.html Sun May 23 10:58:24 2010
+++ /doc/build/html/tareas_y_etapas.html Sun May 23 19:23:26 2010
@@ -59,21 +59,25 @@
: Note que este archivo se modifica con frecuencia, en este momento
: no está completo.

-[_] 38% Etapa 5 (actual)
+☐ 38% Etapa 5 (actual)
: Se agregan mejoras como las animaciones
- [X] mostrar la siguiente pieza que va a caer.
- [X] aumentar la velocidad de caída cuando completa mas de 10 lineas.
- [_] crear presentacion del juego
- [_] mejorar la escena de creditos
- [_] cambiar el tema visual de las piezas
- [_] crear efectos visuales en la transición entre escenas
- [_] Colocar sonidos
- [_] crear animación a la eliminación de lineas
- [X] aplicar animaciones a la rotación de las piezas
- [X] permite aternar entre pantalla completa y ventana.
- [X] soporte para jugar con joystick.
- [_] probar en otros sistemas operativos como windows.
- [_] genera version ejecutable en formato .exe
+ ☑ mostrar la siguiente pieza que va a caer.
+ ☑ aumentar la velocidad de caída cuando completa mas de 10 lineas.
+ ☐ crear presentacion del juego
+ ☑ mejorar la escena de creditos
+ ☐ cambiar el tema visual de las piezas
+ ☐ crear efectos visuales en la transición entre escenas
+ ☐ Colocar sonidos
+ ☐ crear animación a la eliminación de lineas
+ ☑ aplicar animaciones a la rotación de las piezas
+ ☑ permite aternar entre pantalla completa y ventana.
+ ☑ soporte para jugar con joystick.
+ ☐ probar en otros sistemas operativos como windows.
+ ☐ genera version ejecutable en formato .exe
+ ☑ mejorar la escena de juego
+ ☑ crear un mensaje al inicio que diga "listo, ya!!"
+ ☑ mostrar un mensaje de game over con una imagen
+ ☑ Crear un efecto cuando se elimina una linea.



@@ -81,7 +85,7 @@
=================


-[X] 100% Etapa 1
+☑ 100% Etapa 1
: El propósito de esta etapa es tener una ventana principal con
: un fondo de pantalla y una leyenda de texto. El usuario tiene
: que poder cerrar la ventana pulsando una tecla o haciendo click
@@ -91,25 +95,25 @@
: con la organización del proyecto, la documentación, los directorios y
: las funciones iniciales.

- [X] crear repositorio
- [X] definir la estructura de directorios a utilizar
- [X] crear el directorio 'doc' con la documentación en formato sphinx
- [X] crear una ventana
- [X] gestionar los eventos de mouse y teclado
- [X] crear el sistema de escenas básico
- [X] explicar la estrategia a desarrollar
- [X] mejorar el programa principal
- [X] crear la escena abstracta
- [X] crear una escena de implementación (presentación)
- [X] crear función para cargar imagenes
- [X] mostrar una imagen con el titulo del juego.
- [X] definir un archivo setup.py inicial
- [X] publicar URL de la documentación en el foro
- [X] 100% desarrollar un sistema de fuentes tipograficas
- [X] crear función para cargar e imprimir fuentes
- [X] mostrar el mensaje "pulse una tecla para salir" en la pantalla
principal.
- [X] proponer un estilo de codificación
-[X] 100% Etapa 2
+ ☑ crear repositorio
+ ☑ definir la estructura de directorios a utilizar
+ ☑ crear el directorio 'doc' con la documentación en formato sphinx
+ ☑ crear una ventana
+ ☑ gestionar los eventos de mouse y teclado
+ ☑ crear el sistema de escenas básico
+ ☑ explicar la estrategia a desarrollar
+ ☑ mejorar el programa principal
+ ☑ crear la escena abstracta
+ ☑ crear una escena de implementación (presentación)
+ ☑ crear función para cargar imagenes
+ ☑ mostrar una imagen con el titulo del juego.
+ ☑ definir un archivo setup.py inicial
+ ☑ publicar URL de la documentación en el foro
+ ☑ 100% desarrollar un sistema de fuentes tipograficas
+ ☑ crear función para cargar e imprimir fuentes
+ ☑ mostrar el mensaje "pulse una tecla para salir" en la pantalla
principal.
+ ☑ proponer un estilo de codificación
+☑ 100% Etapa 2
: Se desarrollan los movimientos básicos de las piezas, el usuario
: tiene que poder mover una pieza por la pantalla usando los
: direccionales del teclado y rotar las mismas con las teclas 'x' y
@@ -124,22 +128,22 @@

: Hay solo un tipo de pieza (la "L").

- [X] Extender el sistema de fuentes
- [X] crear un directorio para recursos de fuentes tipograficas
- [X] que la función de imprimir cadenas soporte saltos de linea.
- [X] crear escena de juego
- [X] crear una ficha
- [X] permitir el movimiento de la ficha
- [X] aplicar restricciones de movimiento como los bordes
- [X] colisiones sencillas con el centro de la pieza.
- [X] colisiones logradas con los bordes.
- [X] implementar las rotaciones hacia izquiera o derecha
- [X] restringir las rotaciones en los bordes
- [X] mejorar el sistema de escenas para permitir cambios de una a otra
- [X] hacer que el usuario pueda ir a otra escena (la de la etapa anterior)
pulsando la tecla ESC.
- [X] Imprimir un mensaje que indique esto en la ventana.
- [X] Asignar el cambio a la tecla ESCAPE.
-[X] 100% Etapa 3
+ ☑ Extender el sistema de fuentes
+ ☑ crear un directorio para recursos de fuentes tipograficas
+ ☑ que la función de imprimir cadenas soporte saltos de linea.
+ ☑ crear escena de juego
+ ☑ crear una ficha
+ ☑ permitir el movimiento de la ficha
+ ☑ aplicar restricciones de movimiento como los bordes
+ ☑ colisiones sencillas con el centro de la pieza.
+ ☑ colisiones logradas con los bordes.
+ ☑ implementar las rotaciones hacia izquiera o derecha
+ ☑ restringir las rotaciones en los bordes
+ ☑ mejorar el sistema de escenas para permitir cambios de una a otra
+ ☑ hacer que el usuario pueda ir a otra escena (la de la etapa anterior)
pulsando la tecla ESC.
+ ☑ Imprimir un mensaje que indique esto en la ventana.
+ ☑ Asignar el cambio a la tecla ESCAPE.
+☑ 100% Etapa 3
: En esta etapa ya se puede comenzar a apilar fichas. El usuario tiene
: que poder hacer bajar una pieza, que permanezca en el suelo y que
: llegue otra nueva para poder mover.
@@ -152,39 +156,40 @@

: No se pueden hacer lineas en esta versión, solamente apilar.

- [X] Detener piezas cuando llegan abajo
- [X] Crear nuevas piezas cuando deja una en el suelo
- [X] Implementar colisiones entre las piezas
- [X] Crear las piezas que faltan.
- [X] Mostrar las piezas aleatoriamente.
- [X] Permitir que el usuario pueda bajar una pieza directamente (y no
progresivamente)
+ ☑ Detener piezas cuando llegan abajo
+ ☑ Crear nuevas piezas cuando deja una en el suelo
+ ☑ Implementar colisiones entre las piezas
+ ☑ Crear las piezas que faltan.
+ ☑ Mostrar las piezas aleatoriamente.
+ ☑ Permitir que el usuario pueda bajar una pieza directamente (y no
progresivamente)
: se agrega la tecla SPACE al control del juego.
- [X] Mostrar las piezas reposando si tocan el suelo
+ ☑ Mostrar las piezas reposando si tocan el suelo
: primero mostrar rectangulos de cualquier color en donde
: existe una colisión. Luego se puede pintar la pieza tal y
: como es.
-[X] 100% Etapa 4
+☑ 100% Etapa 4
: Aquí se implementan la creación de lineas y la asignación de puntaje.
- [X] permitir que el usuario pueda hacer lineas
- [X] hacer que las piezas bajen a una determinada velocidad.
- [X] implementar un contador de lineas
- [X] imprimir un mensaje de GameOver cuando llega a la parte superior.
+ ☑ permitir que el usuario pueda hacer lineas
+ ☑ hacer que las piezas bajen a una determinada velocidad.
+ ☑ implementar un contador de lineas
+ ☑ imprimir un mensaje de GameOver cuando llega a la parte superior.

Siguientes etapas
=================

-[_] % Etapa 6
- [X] permitir que el usuario use el mouse para seleccionar en el menu.
- [_] crear la escena de ayuda explicando los controles.
- [_] crear la escena de configuración del juego
- [_] opción para des/habilitar sonidos
- [_] opción para des/habilitar musica
- [X] alternar entre ventana y pantalla completa.
- [_] selección del tema visual a utilizar.
- [_] administrar los puntajes del juego
- [_] crear escena para mostrar los puntajes de los mejores jugadores
- [_] crear escena para quien logra un puntaje muy bueno
- [_] crear paquete .deb para distribuciones como Debian y Ubuntu.
+☐ % Etapa 6
+ ☑ permitir que el usuario use el mouse para seleccionar en el menu.
+ ☐ crear la escena de ayuda explicando los controles.
+ ☐ crear la escena de configuración del juego
+ ☐ opción para des/habilitar sonidos
+ ☐ opción para des/habilitar musica
+ ☑ alternar entre ventana y pantalla completa.
+ ☒ selección del tema visual a utilizar.
+ : No se ve necesario utilizar varios temas.
+ ☐ administrar los puntajes del juego
+ ☐ crear escena para mostrar los puntajes de los mejores jugadores
+ ☐ crear escena para quien logra un puntaje muy bueno
+ ☐ crear paquete .deb para distribuciones como Debian y Ubuntu.
</pre>
</div>
</div>

--
Has recibido este mensaje porque estás suscrito al grupo "losersjuegos-alerts" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a losersjue...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a losersjuegos-al...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/losersjuegos-alerts?hl=es.

Reply all
Reply to author
Forward
0 new messages