Parchis en java

AoShi

Hola, estoy buscando el código fuente en java del Parchis (tb llamado Ludo). He encontrado algo de un guiri pero eran 54 páginas y me extraña un poco... xD. A ver si alguien tiene por ahi alguna web con juegos de mesa o similar.

Ya he buscado en google y no he encontrado xD. Gracias de antemano!

SeiYa

Joé, yo me hice uno en C en el primer año de carrera, pero a saber donde está el código y era C y un poco chapucero (usando el modo gráfico de C a 400x300 (creo) y dibujando casi casi pixel a pixel XD) pero es bastante sencillo de hacer y es entretenido XD

0buS

sencillo? omg yo que estoy empezando, y que me atasco cuando hay 2 bucles dentro de otro, no me imagino haciendo un parchis hahaha

MTX_Anubis

A qué te refieres con 54 páginas?

AoShi

A que son 54 páginas en msword de código escrito entre documentación y demás.

LOc0

¿54 páginas un parchís? Dios, y yo pensando qué hacer para el PFC xD...

Salu2 ;)

Josepanaero

Es la primera vez en mi vida que oigo referirse a una cantidad de código por "páginas de código". Lo normal es decirlo en líneas de código. Y lo que de verdad no es nada normal es abrirlo con el word xDDDD

Khanser

Un parchis es la cosa mas simple de hacer en java :/

Basicamente tienes una matriz de [x][4] de clase Ficha (para los tiquismiquis una multilista enlazada no vaya a ser que gastemos mucha memoria) para X el numero de casillas

LLamas a random que mueve un objeto ficha desde una posicion x hasta x+random hasta que llega al fin del array......

.....

...

Como si tuviera que hacer algo muy complicado....

#3 usualmente cuando anidas mas de 2 bucles es que algo haces mal, siempre hay una manera mas sencilla y con menos coste temporal (siempre que no estes accediendo a matrices gordas o estés trabajando con graficos en 3D y tal)

Soleil

#7 yo conozco a uno que cuenta el código por cantidad de ";" puntos y comas. xD

AoShi

#7 Dada la extensión no me iba a poner a contar... xD, además lo sé así xq en lugar de pasarnos la web, lo metimos a un word y pal correo jaja

SeiYa

El mio de C eran 3000 lineas de código (faltaban cosas como contar al comerse fichas y poco más) y de las 3000 2000 eran para dibujar el tablero XD

Gnos1s

Bueno, yo hice un buscaminas en ensamblador MIPS, y me ocupo también en unas cuantos cientos de líneas (un par de miles creo).

Hacer un parchis en Java te va a costar más dibujar el tablero que el juego en sí.

AoShi

Pues sí, de momento no sé si le tendré que poner interfaz o algo, el tablero en un array y listo...Aunque claro, hoy le hemos estado echando un vistazo ya a como va a ser la cosa y para nada es tan fácil como lo pinta #8, q lo único que ha dicho es lo de mover la ficha xDD, eso y nada...jaja.

MTX_Anubis

#13 es que depende de lo que te pidan para la práctica puede ser fácil o no. Vamos difícil no es que sea en el sentido de que no te tienes que estrujar mucho la cabeza para hacer una implementación pero si quieres hacer un buen diseño, un buen uso de la poo, meterle red, interfaces y demás historias, la cosa se complica algo más. Porque vamos, dudo que tu practica final se parezca en algo a la de Seiya xD

JuAn4k4

¿ Hace falta guardar en memoria todo el tablero ? ¿ Digo yo que con la posicion de cada ficha valdria no ? Incluso con posiciones relativas y un metodo para pasar a posicion absoluta, lo cual permitiria tener tamaños de tableros variables, nº jugadores variables, etc.

Si el parchis no es en red, juegas contra el pc, es listo o tonto ? xD

Josepanaero

#9 xDDDD Menos mal entonces que tu amigo no programa en python, si no tendría productividad nula xDD

Elektr0_ddr

Lo dificil de hacer un parchis es saber q reglas aplicarle, porque en cada casa se juega de una manera distinta xD

B

#17 xDDDDDDDDDDDDDDDD

Yo me acuerdo que hice un proyecto para una web de minijuegos, era un ajedrez en java y no me llego ni a 500 lineas....

vamos, recordando como lo hice, el parchis no debe de llegar a 200 (lo que mas ocupaba del ajedrez eran las reglas), donde el interfaz grafico es la mayor chorrada del mundo, un canvas sin mas (paint ftw! para el tablero y fichas), joder si hasta cogia y arrastraba las fichas xD

Necesitas, clase Ficha, clase Tablero y clase Reglas.

El tablero es un canvas, con miembro publico el tablero (asignas pixels al array). El tablero es tan tonto como repetir 4 veces lo mismo, asi que puedes hacerlo aun mas facil siendo un array de dos dimensiones.

La clase ficha, con miembros publicos color y posicion.

La clase Reglas una maquina de estados, asgina equipo, tira dado, selecciona ficha a mover, comprobar reglas, (de aqui a multiples estados como fin, repetir tirada etc). Comprobar reglas tiene sus propias variables, sabe el contenido de Fichas y el de Tablero para ver a que estado salta. Y vuelta a empezar.

En serio, si te ocupa mas de 200 lineas...xD

pd: Desde que me he pasado a C++ en linux, java es la mierda xDDDDDDDDDD reniego publicamente.

MTX_Anubis

#18 pero no odiabas C++ y adorabas java? xD

B

#19

Era un insensato xD, ademas que como nunca he sido (ni soy) informatico o programador pues java al ppo te parece la poya xD

AoShi

#18 Gracias seu :-) . De todas formas ya tenemos más o menos una idea de como hacerlo. Nos hemos hecho un diagrama de clases y a partir de ahi con refactorización ir tirando.

Por cierto, en realidad era N-Parchis, pero bueno, el tablero siempre va a ser en función de n así que prácticamente es lo mismo xD. Para subir nota le meteremos IA, en plan bastantes if para elegir la mejor jugada dependiendo de la dificultad q se escoja. La interfaz gráfica ya descartada, ya que en caso de un nº de jugadores elevado... xD

Ya os iré comentando jeje.

JuAn4k4

Busca algo mas en plan algoritmo para la IA si la vas a hacer no hagas if's anidados.

Usuarios habituales