Saltar a contenido


Foto

Tetris by Bkron


  • Debes iniciar sesión para poder participar
31 respuestas en este hilo

#1 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 05 July 2011 - 05:40 PM

Versión del Tetris que he programado en Java con LibGDX.

Versión de 7/7/2011 18:00:
http://www.mediafire...wu30wuaz5p6wj9b

Imagen subida

Controles:
[*:1awjlflu] Flechas: mover la pieza a los lados y hacia abajo.
[*:1awjlflu] A y S: girar la pieza a la izquierda y a la derecha respectivamente.
[*:1awjlflu] Espacio: empezar/pausa.
Características:
[*:1awjlflu] Música de fondo (con introducción y bucle) y sonidos. La música es el tema de Tetris versión Ska.
[*:1awjlflu] Forma de puntuar: Dejar caer una pieza suma un punto por cada linea que baje. Bajar una pieza pulsando abajo, suma dos puntos por cada linea bajada. Al hacer líneas se suman puntos en función de la cantidad de lienas simultaneas: una: 100; dos: 250; tres: 500; cuatro: 1000. Por cada 10.000 puntos aumenta la velocidad. El juego termina al conseguir 99.999 puntos.
[*:1awjlflu] Se puede elegir la velocidad del juego antes de empezar pulsando izquierda o derecha. Esa velocidad se mantendrá hasta que se alcance una puntuación que obligue a subirla (por ejemplo, jugando con velocidad 5, se mantendrá hasta los 60.000 puntos).

#2 Knudow

Knudow
  • Administradores
  • 21792 mensajes

Publicado 05 July 2011 - 06:13 PM

Tienes que llamarlo de otra forma, Tetris es marca comercial xD

#3 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 05 July 2011 - 06:20 PM

Ya sé, pondré la R al revés y lo llamaré TETЯIS! nadie se dará cuenta! :)

#4 SG4000

SG4000
  • Reikainiano
  • 1411 mensajes

Publicado 05 July 2011 - 06:53 PM

Tretis.

#5 Ultra_K

Ultra_K

    Ñam

  • Reikainiano
  • 3286 mensajes
  • LocalizaciónLovin' u

Publicado 05 July 2011 - 07:01 PM

тетрис

firma.png


#6 DaGuAr

DaGuAr
  • Administradores
  • 5297 mensajes

Publicado 05 July 2011 - 07:07 PM

₮€₮ЯI$

#7 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 05 July 2011 - 09:37 PM

Imagen subida
Ya tengo bastante hecho, pero aún estoy intentando averiguar por qué se para cuando hago una linea...
(Lo de la derecha es la pantalla "version texto")
Edit: arreglado lo de las lineas xD.

El juego tal cual está no se bajan las piezas solas, no tiene ningún control del tiempo y las piezas se mueven a toda leche, y no hay "game over".

#8 ashthedragon

ashthedragon
  • USUARIO BANEADO
  • 20951 mensajes
  • LocalizaciónPor ahí

Publicado 05 July 2011 - 10:13 PM

Flipante bkron! Para lo de las piezas a toda leche, supongo que con poner que a la posición actual se le sumen/resten ( depende de como lo hayas hecho) menos "puntos", irá mas lento. habria que ver el código para saber.
No sé si se me ha entendido xD pongamos que en cada refresco de pantalla sea posiciónpieza.x=lo que sea posiciónpieza.y=lo que sea + 5 ( por poner), pues posicionpieza.y=loquesea +3, por ejemplo.

para el game over, pues supongo que si le dices que las piezas caidas llegan a la posición x/y que corresponde con lo alto del cuadro, = terminar funcion de juego activo y cargar pantalla de game over. Lo mismo, habría que ver el código para ver como te lo tienes montado xD

El control del tiempo no sé si LibGDX tiene algúna función de control de tics o algo, para eso es muy útil algo así.
Posted Image
Posted Image

#9 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 05 July 2011 - 10:24 PM

Lo de game over no es ningún problema, es simplemente que todavía no lo he hecho xD. Mañana sigo con eso y con lo demás.

#10 ashthedragon

ashthedragon
  • USUARIO BANEADO
  • 20951 mensajes
  • LocalizaciónPor ahí

Publicado 05 July 2011 - 10:40 PM

Ah vale, pensaba que pedias ayuda para resolverlo xD

Ansiosa estoy de ver el resultado final ^^
Posted Image
Posted Image

#11 Knudow

Knudow
  • Administradores
  • 21792 mensajes

Publicado 05 July 2011 - 11:21 PM

Jo, me sorprende la captura esa. Te desenvuelves bien tirándote a la piscina de usar algo habiéndolo mirado en 2 días. El tetris en una tarde!

#12 FvG

FvG
  • Reikainiano
  • 19374 mensajes

Publicado 06 July 2011 - 06:57 AM

Muy chulo Kbron :D
Imagen subidaImagen subidaImagen subida

Imagen subidaEditado por FvG, 24 de noviembre 3400 A.C. - 06:20 PM.

#13 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 06 July 2011 - 09:26 AM

Imagen subida
- Añadí el Game Over, simplemente comprobando si cada pieza nueva colisiona al empezar, usando una función de comprobar colisión que hice para los movimientos.
- Mejora del control, las piezas ya no mueven por cada refresco de imagen. Haciendo uso del tiempo delta (tiempo entre cada refresco de imagen) puedo controlar la velocidad de los movimientos.
- Añadí la "pieza siguiente", tardé menos de lo que pensaba.

Aún me queda hacer que las piezas bajen solas, y que lo hagan a la velocidad indicada. Y lo más importante, optimizar el juego, tal como está ahora parece que come muchos recursos, si lo quiero cerrar tarda mucho (aguanto más a veces cerrando el compilador directamente), y puede llegar a quedarse petado...

#14 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 06 July 2011 - 03:17 PM

Arreglado el asunto del rendimiento. Antes lo que hacía para dibujar la pantalla era crear objetos de la clase cuadrado (cada uno de los cuadraditos que componen las piezas, almacenaban las coordenadas y el color, y en base al color creaban una textura. Al final, crear tantos cuadrados y tantas texturas machacaba la memoria... Cambié la clase cuadrado por una clase de la que no se pueden crear objetos y que tiene texturas estáticas ya hechas para todos los colores, además de funciones estáticas para calcular las coordenadas.
Y las piezas ya bajan solas según la velocidad que tenga el juego.

Creo que ya no me queda mucho más por hacer que ponerlo bonito... xD

#15 xose

xose

    Administrator

  • Administradores
  • 7701 mensajes

Publicado 06 July 2011 - 03:42 PM

Deberías registrarte en github e ir colgando el código según vas tabajando en él :)

Reikai-firma.gif


#16 DavuuWart

DavuuWart
  • Reikainiano
  • 2148 mensajes

Publicado 06 July 2011 - 03:45 PM

Mmm, me estás incitando a que trastée también en este mundidillo.
Imagen subidaImagen subida

#17 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 06 July 2011 - 03:45 PM

Deberías registrarte en github e ir colgando el código según vas tabajando en él :)

Uf, no se, eso lo veo para gente más experimentada... xD

Le he pasado ya el "juego" a Daguar y Ultra-K, si alguien más lo quiere ver lo subo a algún lado.

#18 Knudow

Knudow
  • Administradores
  • 21792 mensajes

Publicado 06 July 2011 - 04:12 PM

Hombre, si cada ciclo creabas un cuadrado nuevo porque sí... ahora entiendo lo de la memoria xD

Yo pensaba que simplemente mirarías la matriz y en cada sitio dibujarías lo que tocase, no que crearías algo nuevo.
Como mucho tener una matriz de cuadrados y simplemente llamar a "dibujar", pero no crear objetos nuevos cada vez.

#19 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 06 July 2011 - 04:40 PM

Estaba convencido que haciendo lo de "new constructor()" borraba el objeto anterior xD

#20 Bkron

Bkron
  • Administradores
  • 8610 mensajes

Publicado 06 July 2011 - 11:57 PM

http://www.mediafire...x1ryz41zb5nx1i6
Así está por ahora, para el que lo quiera probar xD




0 usuario(s) está(n) leyendo este hilo

0 miembros, 0 visitantes, 0 usuarios anónimos