lunes, 11 de julio de 2011

Video juegos en Python: TortuBros

TortuBros

Realizado por:
Gabriela Prassad
Keileth Santoyo
(Sección A)

Es un avión, es una tortuga, es MarioBros... ¡No! ¡Es TortuBros!


Bombas y frutas caen del cielo: las frutas son buenas, pero las bombas acabarán con la tortuga.  Si quieren averiguar más, descarguen la carpeta comprimida (Nota: Muchachas, les he eliminado los archivos de instalación de Python para Guindous (guacala) y pygame.  Esto afín de hacer más ligera la descarga y no comerme tanto espacio en mi dropbox.  Les pido disculpas de antemano).

38 comentarios:

  1. Hola muchachas..me gustoo mucho su juego...me llamo mucha la atención que en su codigo importaban tkinter me podrian decir en que lo utilizan...junto con py.game Mariam P (Grupo 5)

    ResponderEliminar
  2. (RESPUESTA AL GRUPO 1, el de MARIAM)Hola Mariam, en realidad el tkinter no lo utilizamos xq a ultima hora decidimos quitarles los botones con los q pensabamos hacer el menu, si puedes darte cuenta, tu colocas en comentarios la libreria tkinter q importamos y el juego sigue funcionando igual.. no nos parecio importante dejarla o quitarla jejeje asi q ahi quedo. KAILETH SANTOYO(GRUPO 2)

    ResponderEliminar
  3. Cierto tu me habias comentado algo de eso....bueno seria interesante ver como funciona tkinter con pygame..ustedes expertas en pygame y nosotras en botones..podemos hacer algo por alli..gracias por tu respuesta :D:D

    ResponderEliminar
  4. la verdad es que si... no me quisiera quedar con la dudita. esta vez los botones nos comieron todas pero la idea es aprender y no quedarnos con la duda.

    ResponderEliminar
  5. Sii Mariam... enseñanos a hacer botones!

    ResponderEliminar
  6. Una pregunta a las TortuSisters: ¿En qué diseñaron las imagenes de las frutas, el fondo, la tortuga, etc.? Igual pregunto para la música. Recuerden citar la fuente o pedir permiso para usar un audio o video en caso de que no lo hayan hecho ustedes.

    ResponderEliminar
  7. Hola profe, buenas tardes. Bueno le cuento sobre los sonidos y las imágenes utilizadas en nuestro juego…
    Los sonidos de explosión de la bomba y el de la tortuga al comer alguna fruta fueron descargados en una carpeta comprimida (efectos de sonido wav (350 sonidos wav) - sonidos de animales, cartoon, destruccion, efectos sonoros reales, impactos, percusion, y +.rar). El sonido “come.WAV” esta en la carpeta CARTOON y su nombre original es CATCH.WAV, el sonido "explosión.WAV" esta en la carpeta DESTRUCT y su nombre original es HEAVBRK.WAV. La descarga de la carpeta comprimida esta disponible en: http://www.4shared.com/get/RTNjYbwC/efectos_de_sonido_wav__350_son.html
    El sonido tortuga.mp3 es el perteneciente a Mario3.mp3 y esta disponible en http://www.fileden.com/files/2008/5/11/1906521/mario3.mp3

    Tanto el “1fondomenu.png” como “fondo.png” fueron diseñados por nosotras mismas pero utilizando imágenes de internet, que posteriormente fueron “modificadas” en Paint y PowerPoint 2010, adaptándolas según el diseño que queríamos obtener. Las imágenes originales fueron descargadas desde las siguientes páginas:

    **Grama:
    Andrew. Artes Graficas y Technologia. Crear Grama Cesped o Hierba. grama.jpg Disponible en http://techgrafix.blogspot.com/2009/02/crear-grama-cesped.html. Lunes 2 de febrero de 2009

    **Fondo- CIELO
    FONDOS DE PANTALLA. cielo-azul-90679.jpeg. Disponible en: http://fondosdibujosanimados.com.es/wallpaper/Cielo-Azul/
    **Mata de coco.
    Mario Montilla (administrador). Mata de COCO (coming soon) está en Facebook. Disponible en: http://www.facebook.com/group.php?gid=137503862952626
    **Imagen de la serpiente:
    7905600-ilustraci-n-de-dibujos-animados-de-una-serpiente-verde.jpg. disponible en: http://es.123rf.com/stock-photo/zigzag.html
    **Tortuga:
    María Fernanda Gamboa Vallejo, 6 años, Biblioteca de pequeños creadores. Niñas y niños creadores de Michoacán, Xalapa, Conaculta, Secretaría de Cultura de Michoacán, 2005.] tortuga.png. Disponible en: http://www.justa.com.mx/?p=12889
    **Imágenes de las rosas:
    -Carmen. Blog Aguas Vivas de Carmen. De una rosa roja. Lunes 18 de abril de 2011 rosa roja.jpg. Disponible en: http://charenga.blogspot.com/2011/04/de-una-rosa-roja.html
    -Claves para el cuidado de las rosas rojas. Cuba-Flores-12-Rosas-Rojas-Enlarge.jpg. Disponible en: http://www.visitacasas.com/flores/claves-para-el-cuidado-de-las-rosas-rojas/

    **Imagen rosa amarilla:
    ROSA_AMARILLA.gif. Disponible en: http://www.cronicayanalisis.com.ar/amigos/madre.htm
    **Imagen de explosion:
    Tulio Mendoza belio. explosion.gif. Disponible en: http://www.galeon.com/sechconcepcion/aficiones1477333.html
    **Imagen del cambur:
    Kamilitha. LAS FRUTAS. Lunes 28 de septiembre de 2009. platano.jpg. Disponible en: http://latecnologiaavanzadaenelmundo.blogspot.com/2009_09_01_archive.html

    **Imagen de la manzana:
    Torneo de ajedrez feria de la manzana 2008. manzana.png Disponible en: http://www.farmaciaprincipal.com/ajedrez-feria-manzana/
    **Imagen de la pera:
    pera.png. disponible en: http://www.mercofood.com/esp/productos-pure-concentrado-de-frutas.html
    **Imagen de la bomba:
    Ana Sainz Martín. Audicion y Lenguaje. Juegos Adaptados con pictogramas. Bomba.png Disponible en: http://anasainz78.blogspot.com/
    **Corazón
    Gabito Grupos. De: cpad. Nuestro corazón es una casa. Corazon-3.png. Enviado: 08/04/2010 14:39. Disponible en: http://www.gabitogrupos.com/abuelosmodernos/template.php?nm=1270744668


    Todas estas imagenes fueron editadas para poder obtener el diseño del juego.. En el menu, la nubecita con las letras "JUGUEMOS TORTUBROS" tambien fue diseñada por nosotras en PowerPoint2010. Espero le sirva la informacion. chaito

    ResponderEliminar
  8. Hola profe, buenas tardes. Bueno le cuento sobre los sonidos y las imágenes utilizadas en nuestro juego…
    Los sonidos de explosión de la bomba y el de la tortuga al comer alguna fruta fueron descargados en una carpeta comprimida (efectos de sonido wav (350 sonidos wav) - sonidos de animales, cartoon, destruccion, efectos sonoros reales, impactos, percusion, y +.rar). El sonido “come.WAV” esta en la carpeta CARTOON y su nombre original es CATCH.WAV, el sonido "explosión.WAV" esta en la carpeta DESTRUCT y su nombre original es HEAVBRK.WAV. La descarga de la carpeta comprimida esta disponible en: http://www.4shared.com/get/RTNjYbwC/efectos_de_sonido_wav__350_son.html
    El sonido tortuga.mp3 es el perteneciente a Mario3.mp3 y esta disponible en http://www.fileden.com/files/2008/5/11/1906521/mario3.mp3

    Tanto el “1fondomenu.png” como “fondo.png” fueron diseñados por nosotras mismas pero utilizando imágenes de internet, que posteriormente fueron “modificadas” en Paint y PowerPoint 2010, adaptándolas según el diseño que queríamos obtener. Las imágenes originales fueron descargadas desde las siguientes páginas:

    **Grama:
    Andrew. Artes Graficas y Technologia. Crear Grama Cesped o Hierba. grama.jpg Disponible en http://techgrafix.blogspot.com/2009/02/crear-grama-cesped.html. Lunes 2 de febrero de 2009

    **Fondo- CIELO
    FONDOS DE PANTALLA. cielo-azul-90679.jpeg. Disponible en: http://fondosdibujosanimados.com.es/wallpaper/Cielo-Azul/
    **Mata de coco.
    Mario Montilla (administrador). Mata de COCO (coming soon) está en Facebook. Disponible en: http://www.facebook.com/group.php?gid=137503862952626
    **Imagen de la serpiente:
    7905600-ilustraci-n-de-dibujos-animados-de-una-serpiente-verde.jpg. disponible en: http://es.123rf.com/stock-photo/zigzag.html
    **Tortuga:
    María Fernanda Gamboa Vallejo, 6 años, Biblioteca de pequeños creadores. Niñas y niños creadores de Michoacán, Xalapa, Conaculta, Secretaría de Cultura de Michoacán, 2005.] tortuga.png. Disponible en: http://www.justa.com.mx/?p=12889
    **Imágenes de las rosas:
    -Carmen. Blog Aguas Vivas de Carmen. De una rosa roja. Lunes 18 de abril de 2011 rosa roja.jpg. Disponible en: http://charenga.blogspot.com/2011/04/de-una-rosa-roja.html
    -Claves para el cuidado de las rosas rojas. Cuba-Flores-12-Rosas-Rojas-Enlarge.jpg. Disponible en: http://www.visitacasas.com/flores/claves-para-el-cuidado-de-las-rosas-rojas/

    **Imagen rosa amarilla:
    ROSA_AMARILLA.gif. Disponible en: http://www.cronicayanalisis.com.ar/amigos/madre.htm
    **Imagen de explosion:
    Tulio Mendoza belio. explosion.gif. Disponible en: http://www.galeon.com/sechconcepcion/aficiones1477333.html
    **Imagen del cambur:
    Kamilitha. LAS FRUTAS. Lunes 28 de septiembre de 2009. platano.jpg. Disponible en: http://latecnologiaavanzadaenelmundo.blogspot.com/2009_09_01_archive.html

    **Imagen de la manzana:
    Torneo de ajedrez feria de la manzana 2008. manzana.png Disponible en: http://www.farmaciaprincipal.com/ajedrez-feria-manzana/
    **Imagen de la pera:
    pera.png. disponible en: http://www.mercofood.com/esp/productos-pure-concentrado-de-frutas.html
    **Imagen de la bomba:
    Ana Sainz Martín. Audicion y Lenguaje. Juegos Adaptados con pictogramas. Bomba.png Disponible en: http://anasainz78.blogspot.com/
    **Corazón
    Gabito Grupos. De: cpad. Nuestro corazón es una casa. Corazon-3.png. Enviado: 08/04/2010 14:39. Disponible en: http://www.gabitogrupos.com/abuelosmodernos/template.php?nm=1270744668


    Todas estas imagenes fueron editadas para poder obtener el diseño del juego.. En el menu, la nubecita con las letras "JUGUEMOS TORTUBROS" tambien fue diseñada por nosotras en PowerPoint2010. Espero le sirva la informacion. chaito

    ResponderEliminar
  9. Buenass... una preguntita... ustedes pueden controlar la velocidad en la que van los objetos? porq he notado que las frutas van una velocidad, las bombas a otra y la tortuguita tambien... ¿Como controlan eso? Atte. Malak El Jourdi (Grupo 1 - El Ahorcado)

    ResponderEliminar
  10. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  11. Hola chicas.. malak se me adelanto con esa pregunta de la velocidad de los objetos, veo a la tortuga un poco lenta (claro las tortugas son lentas).. ¿como hicieron para que la tortu subiera hasta cierto punto de la pantalla?

    ResponderEliminar
  12. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  13. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  14. (RESPUESTA AL PROFE PART I)Hola profe. Bueno le cuento sobre los sonidos y las imágenes utilizadas en nuestro juego…
    Los sonidos de explosión de la bomba y el de la tortuga al comer alguna fruta fueron descargados en una carpeta comprimida (efectos de sonido wav (350 sonidos wav) - sonidos de animales, cartoon, destruccion, efectos sonoros reales, impactos, percusion, y +.rar). El sonido “come.WAV” esta en la carpeta CARTOON y su nombre original es CATCH.WAV, el sonido "explosión.WAV" esta en la carpeta DESTRUCT y su nombre original es HEAVBRK.WAV. La descarga de la carpeta comprimida esta disponible en: http://www.4shared.com/get/RTNjYbwC/efectos_de_sonido_wav__350_son.html
    El sonido tortuga.mp3 es el perteneciente a Mario3.mp3 y esta disponible en http://www.fileden.com/files/2008/5/11/1906521/mario3.mp3
    Tanto el “1fondomenu.png” como “fondo.png” fueron diseñados por nosotras mismas pero utilizando imágenes de internet, que posteriormente fueron “modificadas” en Paint y PowerPoint 2010, adaptándolas según el diseño que queríamos obtener. Las imágenes originales fueron descargadas desde las siguientes páginas:
    **Grama:
    Andrew. Artes Graficas y Technologia. Crear Grama Cesped o Hierba. grama.jpg Disponible en http://techgrafix.blogspot.com/2009/02/crear-grama-cesped.html. Lunes 2 de febrero de 2009
    **Fondo- CIELO
    FONDOS DE PANTALLA. cielo-azul-90679.jpeg. Disponible en: http://fondosdibujosanimados.com.es/wallpaper/Cielo-Azul/
    **Mata de coco.
    Mario Montilla (administrador). Mata de COCO (coming soon) está en Facebook. Disponible en: http://www.facebook.com/group.php?gid=137503862952626
    **Imagen de la serpiente:
    7905600-ilustraci-n-de-dibujos-animados-de-una-serpiente-verde.jpg. disponible en: http://es.123rf.com/stock-photo/zigzag.html

    ResponderEliminar
  15. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  16. (RESPUESTA AL PROFE PARTE II)**Tortuga:
    María Fernanda Gamboa Vallejo, 6 años, Biblioteca de pequeños creadores. Niñas y niños creadores de Michoacán, Xalapa, Conaculta, Secretaría de Cultura de Michoacán, 2005.] tortuga.png. Disponible en: http://www.justa.com.mx/?p=12889
    **Imágenes de las rosas:
    -Carmen. Blog Aguas Vivas de Carmen. De una rosa roja. Lunes 18 de abril de 2011 rosa roja.jpg. Disponible en: http://charenga.blogspot.com/2011/04/de-una-rosa-roja.html
    -Claves para el cuidado de las rosas rojas. Cuba-Flores-12-Rosas-Rojas-Enlarge.jpg. Disponible en: http://www.visitacasas.com/flores/claves-para-el-cuidado-de-las-rosas-rojas/
    **Imagen rosa amarilla:
    ROSA_AMARILLA.gif. Disponible en: http://www.cronicayanalisis.com.ar/amigos/madre.htm
    **Imagen de explosion:
    Tulio Mendoza belio. explosion.gif. Disponible en: http://www.galeon.com/sechconcepcion/aficiones1477333.html
    **Imagen del cambur:
    Kamilitha. LAS FRUTAS. Lunes 28 de septiembre de 2009. platano.jpg. Disponible en: http://latecnologiaavanzadaenelmundo.blogspot.com/2009_09_01_archive.html
    **Imagen de la manzana:
    Torneo de ajedrez feria de la manzana 2008. manzana.png Disponible en: http://www.farmaciaprincipal.com/ajedrez-feria-manzana/
    **Imagen de la pera:
    pera.png. disponible en: http://www.mercofood.com/esp/productos-pure-concentrado-de-frutas.html
    **Imagen de la bomba:
    Ana Sainz Martín. Audicion y Lenguaje. Juegos Adaptados con pictogramas. Bomba.png Disponible en: http://anasainz78.blogspot.com/
    **Corazón
    Gabito Grupos. De: cpad. Nuestro corazón es una casa. Corazon-3.png. Enviado: 08/04/2010 14:39. Disponible en: http://www.gabitogrupos.com/abuelosmodernos/template.php?nm=1270744668
    Todas estas imagenes fueron editadas para poder obtener el diseño del juego.. En el menu, la nubecita con las letras "JUGUEMOS TORTUBROS" tambien fue diseñada por nosotras en PowerPoint2010. Espero le sirva la informacion. Chaito

    ResponderEliminar
  17. ¿Y ustedes que querían hacer con los botones a ver?...por que el menú esta bien fino...si es que los querían allí...me parece mejor así..como pygame es mas visual MARIAM N PEREIRA

    ResponderEliminar
  18. Nosotras queriamos colocarlos para que se vieran mas bonito el menu.. pero por puro diseño.. gracias, lo importante es que se puede decir que hace la misma funcion q haria el boton en este caso... KAILETH SANTOYO

    ResponderEliminar
  19. wenasssssss!!! esta bien fino!!! como hacen para que las frutitas siempre caigan en una misma área? uno lo declara es decir uno específica en las función de cada fruta en que área caerán? según lo que vi en el código eso entendí pero no se si estoy en lo cierto?

    ResponderEliminar
  20. Buenas noches bueno tengo una duda como tambien respecto a las frutitas, ¿como hacen para que cuando la tortuga coma una fruta aumente el marcador ds puntaje?

    ResponderEliminar
  21. (RESPUESTA AL GRUPO 1 – DEL GRUPO 2.)
    Hola Maki, gracias por tu pregunta.
    Primero, creamos una clase para cada fruta, la bomba y para la tortuga. El manejo de clases permite manejar de manera independiente parámetros y características por cada fruta, bomba y tortuga, entre ellas la posiciones (x,y) sobre el fondo o pantalla. Si podrás notar, cada clase posee la función “def __init__(self):” en la cual nosotras le damos los parámetros iniciales a las frutas, bomba y tortuga, como por ejemplo en el caso de la manzana, para darle su posición inicial dentro de la pantalla, tenemos las instrucciones:
    self.rect.x = 200
    self.rect.y = 0
    self.x = 200
    self.y = 0
    Con estas instrucciones, dentro de la pantalla (que es una matriz 640 x 480) posicionas la manzana en la columna 200 (x) y la fila 0 (y)
    También tenemos la función “def Update(self,conta,manzana1):” la cual nosotras le damos parámetros durante la ejecución del juego, como por ejemplo el cambio de la posición de los objetos sobre el fondo o pantalla (posición x,y) para cada ciclo de juego.
    Tenemos en el cuerpo principal del programa, un ciclo while, que controla el ciclo del juego mientras jugamos.
    En este ciclo while tenemos el llamado a la funciones update de cada fruta, bomba y tortuga con las siguientes instrucciones:
    tortuga.Update()
    manzana.Update(conta,manzana1)
    pera.Update(conta,pera1)
    cambur.Update(conta,cambur1)
    bomba.Update(conta,bomba1)
    En el caso de la manzana, recuerda su posición x,y en la pantalla fue (200,0). En la función “def Update(self,conta,manzana1):”, cambiamos esa posición, tenemos la instrucción:
    self.manzana_rect.y = self.manzana_rect.y + 1
    Con esta instrucción cambiamos 1 posición en el eje de las y de la pantalla (verticalmente).
    Luego tenemos las instrucciones:
    self.x = self.manzana_rect.x
    self.y = self.manzana_rect.y
    Con estas 2 instrucciones mantenemos la posición horizontal en la x (200) y actualizamos sumándole 1 a la posición vertical en la y (1). Así, sucesivamente, si mantenemos la posición x y cambiamos por cada ciclo la posición y, se da el efecto de que la manzana esta cayendo, iniciando en la posición x,y (200,0) hasta llegar a la posición x,y (200,480).
    Finalmente para cada ciclo y actualización de las posiciones, aplicamos la instrucción:
    screen.blit(self.manzana_rotate, self.manzana_rect)
    Así actualizamos por cada ciclo la posición x,y de la manzana en la pantalla,
    En el caso del cambur, el ciclo funciona igual que el de la manzana, ya que en su función def Update(self,conta,cambur1):, posee la instrucción
    self.cambur_rect.y = self.cambur_rect.y + 1
    En el caso de la pera, el ciclo funciona igual que las anteriores con la función “def Update(self,conta,pera1):” , pero el incremento de la posición y es de 2 en 2, como se indica en la instrucción
    self.pera_rect.y = self.pera_rect.y + 2
    Es decir, baja de 2 en 2 verticalmente, por eso baja mas rápido que la manzana y el cambur que baja de 1 en 1.
    Asi mismo funciona la bomba, pero en su función def Update(self,conta,bomba1):, el incremento es de 4 en 4, por eso cae muy rápido que todas las anteriores, con la instrucción:
    self.bomba_rect.y = self.bomba_rect.y + 4

    En el caso de la tortuga, te lo respondemos en la pregunta de Senra…

    ResponderEliminar
  22. A la pregunta de Malak y Jose Senra sobre la diferencia entre las velocidades de las frutas y la bomba:

    Eso se logra fácilmente- solo tienes que poner distintos valores de desplazamiento para los distintos objetos. Por ejemplo, la manzana y el cambur caen con un desplazamiento de +1, la pera con un desplazamiento de +2 y la bomba +4. Lo que yo no entiendo es como controlan la velocidad global del juego, por tanto me imagino que en mi mini con un atom de 1.6Ghz corre mas lento que en una pc de escritorio a 4gHz.

    ResponderEliminar
  23. (RESPUESTA AL GRUPO 6 – DEL GRUPO 2.)
    A Luis Quijada.
    Buenas noches Luis.
    Si revisas el código, en el cuerpo principal del programa (iniciando) tenemos declarada una variable de tipo global llamada puntos, la cual inicializamos en cero, con la instrucción:
    puntos = 0
    De igual manera, tenemos la siguiente función:
    def Puntaje_Panta(texto, font, superficie, x, y, color=TEXTCOLOR):
    Esta función nos permite mostrar en la parte superior izquierda de la pantalla el texto (incluyendo el puntaje) a mostrar, el tipo o fuente de la letra, la pantalla y con el color que deseamos.
    Antes de iniciar el ciclo de juego, llamamos la función:
    Puntaje_Panta('Puntos: %s' % puntos, font, screen, 0, 0, BLANCO)
    A esta función se pasan los parámetros puntos, el cual es igual a 0 al inicio del juego, el parámetro font, escreen, 0,0 y BLANCO.
    El parámetro font es una variable que declaramos así:
    font = pygame.font.SysFont(None, 32), que significa que se tome la fuente original del sistema, utilizando pygame y con tamaño 32.
    El parámetro Screen, contiene el tamaño de la pantalla de juego, la cual es una variable que le asignamos lo siguiente:
    screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)).
    Los parámetros (SCREEN_WIDTH, SCREEN_HEIGHT) significan el ancho y alto de la pantalla y son variables que están declarados al inicio del programa de la siguiente manera:
    SCREEN_WIDTH = 640
    SCREEN_HEIGHT = 480
    0, 0, es la posición dentro de la pantalla donde queremos mostrar el mensaje, es decir, que se ubicara en la posición x,y (0, 0) (esquina superior izquierda)
    BLANCO , que es el color blanco de las letras, se asigna con la instrucción:
    BLANCO = (255, 255, 255)
    Luego del llamado a dicha función, ejecutamos la instrucción:
    pygame.display.update()
    La cual muestra y actualiza todo en pantalla..
    Al entrar al ciclo del juego (ciclo while), si la tortuga en algún momento del ciclo colisiona (se come) con alguno de los objetos (frutas), a la variable puntos se le suma un valor, de acuerdo a las frutas con la que colisiono. Por ejemplo, vamos al caso de que la tortuga colisiona (come) con la manzana:
    Vemos el código:
    # Si come la manzana
    if tortuga.tortuga_rect.colliderect(manzana.manzana_rect):
    ……
    puntos = puntos + 10
    Como podrás ver, si la tortuga colisiona con la manzana (es decir se la come), suma 10 puntos a los puntos acumulados.
    De igual manera, colocamos las instrucciones de validación (if) en el caso que la tortuga colisione (coma) con la pera y con el cambur, los cuales acumularían a la variable puntos, el valor de 20 puntos y 30 respectivamente.
    Luego al final del ciclo, encontramos las instrucciones:
    Puntaje_Panta('Puntos: %s' % puntos, font, screen, 0, 0, BLANCO)
    Con esta instrucción, se llama nuevamente a la función puntaje_panta, pasándole todos los parámetros actualizados (incluyendo el nuevo puntaje acumulado).
    Luego con las instrucciones pygame.display.update() y pygame.display.flip() actualizamos la pantalla y así podemos ver siempre actualizado los puntos en todo momento, durante la ejecución del juego.

    ResponderEliminar
  24. (RESPUESTA AL GRUPO 1 – DEL GRUPO 2.)
    Buenas noches Senra… Lógica tu primera respuesta no? jejejeje.
    Siguiendo el comentario de la pregunta hecha por MAKI, te comento lo siguiente:
    Se creo la clase para la tortuga, con sus funciones def __init__(self): y def Update(self):, ya explicadas a Maki.
    Antes del ciclo While del programa, llamamos la función def __init__(self):, a través de la instrucción:
    tortuga = tortuga()
    Con esta instrucción, colocamos los parámetros iniciales, como leer la imagen de la tortuga y colocarla en la posición inicial del juego con las siguientes instrucciones:
    self.x = SCREEN_WIDTH/2
    donde SCREEN_WIDTH es la variable que contiene el ancho de la pantalla, y al dividirlo entre 2 la estamos centrando horizontalmente (x)
    self.y = 390
    Con esta instrucción, posicionamos la Tortuga casi al final de la pantalla (abajo) (y), quedando entonces centrada en la parte de abajo.
    Desde el cuerpo principal del programa, en el ciclo while, que controla el ciclo del juego mientras jugamos, llamamos la función def Update(self): de la clase class tortuga(pygame.sprite.Sprite):, con la siguiente instrucción:
    tortuga.Update()
    Al entrar en esta función, nosotras validamos si existe una entrada por teclado, es decir, si se presiono una tecla. Esto con la instrucción:
    k = pygame.key.get_pressed()
    Con esta instrucción, se guarda en la variable k la tecla presionada.
    Luego realizamos las siguientes validaciones:
    if k[K_RIGHT]: , es decir si presionamos la tecla de movimiento a la derecha
    if k[K_LEFT]: , es decir si presionamos la tecla de movimiento a la izquierda
    if k[K_UP]: , es decir si presionamos la tecla de movimiento hacia arriba
    if k[K_DOWN]: es decir si presionamos la tecla de movimiento hacia abajo
    Para contestarte mejor vamos al ejemplo, si presionamos la tecla de movimiento hacia arriba sucesivamente desde la posición inicial.
    La variable self.tortuga_rect.y contiene la posición y de la tortuga, la cual tiene el valor de 390 al inicio del juego. Cada vez que presionamos la tecla de movimiento hacia arriba, se realiza la siguiente validación:
    if self.tortuga_rect.y <= 220:
    si es cierto esto, entonces quiere decir que llego al tope y no queremos que siga subiendo, por eso ejecutamos la instrucción
    self.tortuga_rect.y = 220
    Con esta instrucción igualamos siempre la posición a 220, con la finalidad de que cuando llegue a esa posición se quede allí mismo y no siga subiendo.
    Sin embargo, cuando esa posición sea mayor a 220 (es decir esta entre la posición y inicial 390 y 221) puede continuar subiendo hasta llegar a la posición y = 220. Así lo indicamos con la siguiente instrucción:
    if self.tortuga_rect.y > 220:
    self.tortuga_rect.y = self.tortuga_rect.y - 1

    ResponderEliminar
  25. (RESPUESTA AL GRUPO 1 – DEL GRUPO 2.)
    Hooolaaaaaa.... ;) Gracias por tu pregunta Sygrys.
    Si te refieres a que caen desde una misma columna, si, eso se declara en la función def __init__(self):, de la clase de cada fruta. Por ejemplo en el caso de la manzana, específicamente en la instrucción:
    self.rect.x = 200
    self.rect.y = 0
    self.x = 200
    self.y = 0
    En esta instrucción, la manzana comienza a caer desde la posición x (200), manteniendo la misma posición (columna). Tambien lo realizamos en la funcion def Update(self,conta,manzana1):, donde cambiamos la columna y la posicion desde donde cae. chauus....

    ResponderEliminar
  26. Gracias Kai y Profe por aclararme la duda! Aclarado esto... Cambien la velocidad de la tortuga xfaaaa! jajajajaja ponganla un poco mas rapida... me envicie =)

    ResponderEliminar
  27. buenos dias esta muy bueno su juego,note q cuando alcanzas los 350 puntos la bomba solo cae del lado izquierdo nada mas porque sucede eso ?

    ResponderEliminar
  28. Muy llamativo su juegos chicas..! antes de leer un enlace que el profe publico les hubiese puesto que me encanto su diseño visual pero abría estado errada. Por que el diseño de juegos es la creación de reglas y contenido de un juego. No involucra programación, arte o animación, o marketing, o cualquiera de la multitud de tareas requeridas para hacer un juego. Todas estas tareas se pueden agrupar y llamar "desarrollo de juegos" y el diseño de juegos es una parte del desarrollo.

    ResponderEliminar
  29. Buenas noches TortuSisters (Me gusto el nombre jajaja) Les escribo para felicitarlas y hacerles el comentario de que de todos los juegos que he visto el de uds me ha parecido el que esta mas completo.. sobre todo por como lograron mantener intacta la parte grafica, sin que las imagenes se cargaran con cuadros blancos.

    La sugerencia que les proporcionaria es que intente revisando el codigo de los muchachos del helicoptero para que al perder las 3 vidas.. salga un msj en pantalla de "Presione una tecla para continuar", y luego de que presionen esa tecla.. vuelvan al menu..!

    Carlos Benitez. Grupo Ahorcado xD

    ResponderEliminar
  30. no he leido todos los comentarios pero quisiera que me mostraras tu codigo de colisiones quiero ver como se adapta

    ResponderEliminar
  31. Hola Carlos, muchisimas gracias :) Si sería bueno agregar esa opción, lo tomaremos en cuenta!

    (Las TortuSisters) jejeje

    ResponderEliminar
  32. Jean, puedes encontrar el código en la carpeta comprimida que esta en el post del juego (el hipervinculo que dice carpeta comprimida) Esta explicado en los comentarios, si tienes alguna duda, estamos a la orden para aclarar!

    Grupo 2, TortuBros

    ResponderEliminar
  33. (RESPUESTA AL GRUPO 6 DEL: GRUPO 2)... buenas noches Dakar, respondiendo tu pregunta te cuento:
    También en la función def Update(self,conta,bomba1):, de la misma clase, se encuentran varias validaciones, de una variable llamada conta, la cual cuenta el numero de ciclos y se inicializa en 0 al comenzar el juego. Esta variable se actualiza sumando 1 por cada ciclo del juego, controlado por el ciclo while.
    Ahora, dependiendo el valor de esa variable (conta), la bomba sale desde una posición definida, controlándose desde la función, de acuerdo a las tres validaciones siguientes:
    if conta > 550:
    self.bomba_rect.x = 300
    self.bomba_rect.y = 0
    if conta > 1100:
    self.bomba_rect.x = 400
    self.bomba_rect.y = 0
    if conta > 1650:
    self.bomba_rect.x = 200
    self.bomba_rect.y = 0
    Con esto, nosotras controlamos, dependiendo el ciclo, la posición de salida de la bomba. Esta misma validación la utilizamos de forma parecida para las frutas.
    Gracias x tu pregunta..

    ResponderEliminar
  34. (RESPUESTA A CARLOS DE KAILETH SANTOYO, GRUPO 2)Gracias Carlos x la sugerencia, precisamente esa era una de las ideas que teniamos al principio pero no nos dio chance de colocarla, por eso en uno de las preguntas hechas al grupo de los helicopteros les pregunte como hicieron eso mismo q tu me comentas, ya estamos mejorando esa parte con la explicacion que nos dio mariannys.. tambien teniamos la idea de colocar corazones en el area de movimientos de la tortuga donde saldrian en diferentes tiempos del ciclo de juego y asi, si la tortuga colisionaba con ellos ganaria una vida mas... :) tenemos muchas ideitas x ahi para mejorar nuestro jueguito... Gracias

    ResponderEliminar
  35. Sugerencias del Grupo 6: porque no poner que cuando llegue a cierta cantidad de puntos este cambien de escenarios (Fondos) para que muestre como si cambiara de nivel y esperemos que las sugerencias que les hemos dado les sirva y podamos ver prontamente la versión mejorada de su juego porque me parece muy interesante y divertida

    ResponderEliminar
  36. (RESPUESTA A LA SUGERENCIA DEL GRUPO 6) si luis, ya estamos trabajando en eso... no tiene nada de dificultad, es solo cambiar los escenarios y seria como aumentar de nivel tal como lo dices... Gracias x tu sugerencia. (grupo 2)

    ResponderEliminar
  37. buenas noches muchachos. el juego es algo divertido pero aunque se sabe q el personaje es una tortuga, esta debería movilizarse un poquito mas rápido (solo para mi gusto, se sabe q es un juego para niños). y si le colocan movimientos a la tortuga quedaria mucho mejor. sigan con el proyecto.

    ResponderEliminar
  38. buenos dias Alexis, gracias x tu comentario... te explico, la tortuga se coloco con esa velocidad de manera inicial en nuestro juego, pero ya a muchos compañeros les he indicado como pueden aumentar la velocidad a su gusto.. aca te explico lo que podrias hacer para ponerla mas rapida..

    Esta parte q te voy a explicar es para que la tortuga vaya mas rapido a la derecha, despues tu modificas si quieres q vaya mas rapido a la izquierda, arriba o abajo.. observa esta parte del codigo q esta casi al principio de la codificacion del juego en general, (dentro de class tortuga, especificamente)

    def Update(self):
    self.rect.center = self.tortuga_rect.center
    k = pygame.key.get_pressed()

    if k[K_RIGHT]:
    if self.tortuga_rect.x >= 550:
    self.tortuga_rect.x = 550
    if self.tortuga_rect.x < 550:
    self.tortuga_rect.x = self.tortuga_rect.x + 3

    En el codigo del juego esta
    self.tortuga_rect.x + 1(por eso avanza un espacio y es lenta)

    en este q te estoy colocando self.tortuga_rect.x + 3(la tortuga avanza 3 espacios y hara q cuando se mueva a la derecha vaya mas rapido) espero te sirva... (grupo 2, TORTUBROS)

    ResponderEliminar