Juego de programación [Entrad y participad]

Iniciado por eleon, 25 Julio 2013, 18:38 PM

0 Miembros y 1 Visitante están viendo este tema.

eleon

Buenas tardes:

Yo soy programador C++ (en realidad esto es porque es el lenguaje que normalmente utilizamos en la universidad) pero últimamente me he estado pasando por el foro de Java y la verdad es que noto que hay muy poca actividad (no sé si será por vacaciones).

Por tanto, para animar la cosa, propongo un juego: Se plantea un minijuego que se ha de programar en Java. Todo el que participe tendrá que programar el juego por su cuenta y podrá ir preguntando dudas en este mismo post. Las dudas serán tanto de conceptos de Java como de puntos del enunciado que no se hayan comprendido correctamente, pero nunca se podrá preguntar "Cómo hago esto o cómo hago lo otro" porque la idea es que cada uno lleve a la práctica su originalidad y habilidad en la programación. El que antes resuelva y coloque una solución correcta (el juego funciona y sin errores) gana y es el encargado de proponer el siguiente minijuego a programar.

Condiciones: El enunciado debe ser claro y conciso. Se deberá colocar el nombre del videojuego en negrita y con un tamaño de letra de 22 (esto es para que los participantes no tengan que leer todos los mensajes escritos y visualicen fácilmente cuál es el último minijuego propuesto) y junto a ello ira la descripción con sus condiciones. El usuario que propone el minijuego debe estar atento para solucionar dudas, si bien las dudas de programación debemos ayudar a resolverlas entre todos los participantes, las dudas de enunciado corresponden principalmente al que lo ha propuesto.

Recomendación: Personalmente recomendaría que el entorno gráfico fuera opcional por no hacerlo complejo y largo, lo más óptimo en los videojuegos que lo requieran sería utilizar carácteres del teclado, pero lo dejo a la elección de cada uno.

También se puede dar un tiempo límite para solucionarlo, tras el cuál, si no se ha posteado una solución correcta el autor del minijuego puede colocar la solución y darle el turno al usuario que más se haya acercado.

La idea de esto es tanto mejorar nuestras habilidades de programación como entretenernos programando videojuegos, así que os animo a que participéis.

Comenzaré yo proponiendo un programa sencillo:

Números primos: Jugador vs Máquina

Descripción: Este videojuego tiene 2 niveles:

Nivel 1: El juego imprime en pantalla un número primo comenzando desde el "1" y el jugador debe escribir el siguiente. Después le toca al programa imprimir el tercer número primo y a continuación al jugador y así sucesivamente. Cuando le toca al jugador escribir un número primo tiene 5 segundos para hacerlo.

Nivel 2: El juego imprime un número primo y el jugador 3 seguidos. Cuando le toca al jugador escribir un número primo tiene 3 segundos para hacerlo (por cada número).

Para que el jugador gane se debe llegar al número primo "401" (OJO: le puede tocar imprimirlo por pantalla al jugador o al programa). Aqui os dejo una tabla de números primos (solo tened en cuenta hasta el 401): http://www.disfrutalasmatematicas.com/numeros/primos-tabla.html


Condiciones:

1- Se debe mostrar en pantalla claramente cuándo le toca al jugador escribrir el siguiente número primo.
2- Se debe mostrar en pantalla claramente al menos el último número primo que se ha preguntado.


Opcional: Podéis añadir "vidas" si queréis, es decir, el jugador puede equivocarse hasta 3 veces antes de perder la partida.

Es un juego muy sencillo que se puede hacer en un rato, pero aún así, si nadie postea una solución correcta esperaré 7 días antes de solucionarlo (hasta el jueves 1 de agosto).


Un saludo.

1mpuls0

Qué pasa si por ejemplo "toca el turno" del numero 31 y por accidente el usuario escribe solo el 3?, debe marcarlo como incorrecto?.
Después de cada intento vuelve a iniciar en 1?



abc

eleon

#2
Cita de: Darhius en 26 Julio 2013, 00:10 AM
Qué pasa si por ejemplo "toca el turno" del numero 31 y por accidente el usuario escribe solo el 3?, debe marcarlo como incorrecto?.
Después de cada intento vuelve a iniciar en 1?

Exacto, cuando el usuario se equivoca pierde la partida y empieza de cero, a menos que añadas "vidas" aunque eso lo he marcado como opcional, si no lo haces también te lo doy por bueno.

Si decides añadir "vidas", el usuario puede equivocarse 3 veces antes de tener que empezar de nuevo.

1mpuls0

Pero entonces con intentos o sin intento.
Supongamos este caso

PC: 1
Usuario: 2
PC: 3
Usuario: 5
.
.
.
PC: 29
Usuario: 3 (escribe 3 en lugar de 31 que es el siguiente)

Vuelve a continuar con el siguiente numero el PC (que seria el 5)?, o se toma como mal?.

En pocas palabras ¿no se puede escribir un numero primo que ya se haya escrito anteriormente?.


Lo estoy haciendo por intentos  ;D es más divertido.
abc

eleon

#4
Dos formas:

Sin vidas o intentos: Si el jugador se equivoca empieza desde el principio el juego, desde el número primo "1".

Con vidas o intentos: El jugador tiene 3 oportunidades y si se equivoca puede volver a intentarlo desde el número primo por el que va, el cronómetro (5 segundos para escribir el número primo) empieza a contar desde el principio.

Como dije en el primer post lo de añadirle vidas es opcional, se dan por buenas las dos formas, ¡pero os animo a hacerlo que es bastante sencillo!.

Un saludo.