elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Dudas con un juego de truco
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas con un juego de truco  (Leído 4,034 veces)
Lauta


Desconectado Desconectado

Mensajes: 371



Ver Perfil
Dudas con un juego de truco
« en: 17 Septiembre 2011, 18:12 pm »

Buenas! Hace unos días me entregaron el TP que tengo que realizar en IBM Mainframe 370 y es un juego de truco.

Como con el maldito Assembler de IBM no ando muy afilado, decidí programarlo primero en Java (muuuucho más fácil) y luego pasarlo a lo otro.

Una de las primeras dudas que me surgió es como programar el cálculo del envido, tengo la idea pero no sé muy bien como plasmarla (sólo se me ocurre con 4000 IFs encadenados :D). La idea del algoritmo sería así:

Código:
si tengo 3 cartas del mismo palo: obtener las dos más grandes, sumarlas y sumarle 20
si tengo 2 cartas del mismo palo: sumarlas y sumarle 20
si tengo 3 cartas de distinto palo: obtener la más grande.

para las comparaciones de qué carta es más grande y para la suma, tengo que tener en cuenta que los 10,11,12 valen 0 para el envido

Lo que definí son las estructuras más o menos:

Clase Jugador:
Cartas cartas[3];
...

Clase Carta:
int palo;
int numero;
...

Aprecio cualquier ayuda!

PD: no lo puse en programación JAVA, porque no es un ejercicio de JAVA, es algo que tengo que hacer en Assembler, pero lo quiero programar en algo de alto nivel primero.

Saludos!


En línea

TODOS LOS MANUALES DE PROGRAMACION!!!

Quieres ganar dinero? Clickea en alguno de los enlaces y empieza ya!!!
Daddybux
Bux.to
Adverbux
Dailyclick
Lauta


Desconectado Desconectado

Mensajes: 371



Ver Perfil
Re: Dudas con un juego de truco
« Respuesta #1 en: 17 Septiembre 2011, 19:27 pm »

Para que se entienda un poco mejor, lo que yo haría, porque no se me ocurre algo mejor es:

Código:
//Si son las tres iguales, agarro las dos más altas y le sumo 20
if(cartas[0].getPalo() == cartas[1].getPalo() && cartas[0].getPalo() == cartas[2].getPalo()){
envido = 20 + max(cartas, 2);

//Si solo hay dos iguales, las sumo y le sumo 20
}else if(cartas[0].getPalo() == cartas[1].getPalo()){
envido = 20 + cartas[0] + cartas[1];
}else if(cartas[0].getPalo() == cartas[2].getPalo()){
envido = 20 + cartas[0] + cartas[2];
}else if(cartas[1].getPalo() == cartas[2].getPalo()){
envido = 20 + cartas[1] + cartas[2];

//Si son todas de palo distinto, agarro la más grande
}else {
envido = max(cartas, 1);
}

Max me devolvería, del array de cartas que le paso, el más grande si el segundo parámetro es 1 y los dos más grandes si es 2.
A esto debería agregarle las comparaciones para que si la carta es un 10, 11 o 12 no sume nada

Quiero ver si alguien sabe alguna manera mejor de hacerlo ya que no me gusta mucho el código, se vuelve medio enmarañado ("como el cabello de Willy?" :P)

Saludos!


En línea

TODOS LOS MANUALES DE PROGRAMACION!!!

Quieres ganar dinero? Clickea en alguno de los enlaces y empieza ya!!!
Daddybux
Bux.to
Adverbux
Dailyclick
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hola! (Dudas sobre Juego)
Juegos y Consolas
eljarro87 0 1,402 Último mensaje 17 Enero 2006, 15:52 pm
por eljarro87
dudas al editar un juego
Juegos y Consolas
chuky77 0 1,348 Último mensaje 12 Marzo 2008, 21:31 pm
por chuky77
Juego de cartas llamado truco
Java
marcelogalarza 0 2,775 Último mensaje 25 Septiembre 2011, 02:47 am
por marcelogalarza
[2 dudas] Sobre un juego
Ingeniería Inversa
Shout 5 2,766 Último mensaje 9 Julio 2013, 20:55 pm
por Shout
Dudas con un juego « 1 2 »
Dudas Generales
PoPin123 10 6,048 Último mensaje 27 Noviembre 2014, 16:27 pm
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines