• Domingo 22 de Diciembre de 2024, 17:25

Autor Tema:  Juego 7 y medio  (Leído 2400 veces)

emotivanet

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Juego 7 y medio
« en: Martes 30 de Junio de 2009, 13:29 »
0
Hola,

estoy realizando una práctica en PASCAL (Component Pascal), se trata del juego Siete y Medio.

Me dicen que únicamente puedo usar 3 Procedures exportables que son:

-Iniciar Partida:Inicializará las estructuras de datos pertinentes para comenzar una nueva partida y barajará las cartas.

-PedirCarta: El ordenador le dará una carta al usuario. En caso de superar la puntiación de 7.5, la máquina le indicará que ha perdido, mientras que si consigue la puntuación exacta, le indicará que ha ganado.

-TurnoOrdenador: Cuando el usuario se plante, jugará el ordenador, que intentará superar la marca del primer jugador. Si consigue llegar a un empate con una puntuación inferior a 7.5, decidirá al azar si se planta o se arriesga a superar la marca para intentar ganar la partida. La probabilidad de que el ordenador se plante será proporcuional a la puntuación que tengan los jugadores en el momento del empate, de acuerdo con la siguiente tabla:

Puntuación de jugadores                                Probabilidad de que el ordenador se plante

[1,5)                                                                                0%

[5,6)                                                                               40%

[6,7)                                                                               80%

>=7                                                                                90%


SOLAMENTE PIDO AYUDA, NO ESTOY DICIENDO QUE SE ME REAlICE LA PRÁCTICA, NECESITO AYUDA PARA EMPEZAR Y ME GUSTARÍA QUE ME DIJERAN IDEAS Y CUANTOS PROCEDIMIENTOS HARÍAN FALTA.

Asi nada más para empezar...

Tengo duda a la hora de meter la baraja de 40 cartas en memoria, había pensado en un ARRAY 40, pero claro cada vez que sale una carta le tendría que cambiar el valor BOOLEANO a TRUE o a FALSE, según lo que pusiera al principio de valor inicial a las cartas.

Y eso es lo que no se realizarlo muy bien...

Y otra cosa es cuando dice el programa lo de barajar las cartas...yo había pensado directamente que a la hora de sacar una carta usar números aleatorios..y asi es como si estuviesen barajadas digo yo...


Muchas gracias, un saludo


emotivanet!

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Juego 7 y medio
« Respuesta #1 en: Martes 30 de Junio de 2009, 16:57 »
0
Cita de: "emotivanet"
había pensado en un ARRAY 40
Me parece lógico y razonable  ^_^

Cita de: "emotivanet"
pero claro cada vez que sale una carta le tendría que cambiar el valor BOOLEANO a TRUE o a FALSE, según lo que pusiera al principio de valor inicial a las cartas.

Y eso es lo que no se realizarlo muy bien...
¿Comorrrr?  :lol: Weno, puedes crear una estructura de datos, en la que especifiques el tipo de carta, su número y si ha sido sacada o no. También te vale hacer otro "array 40" (como te gusta llamarlos  ^_^ ) pero de valores booleanos y ahí especificar qué posición del otro vector ha sido sacada o no. La segunda solución ocupa la misma memoria pero es ligeramente más rápida.

Cita de: "emotivanet"
yo había pensado directamente que a la hora de sacar una carta usar números aleatorios..y asi es como si estuviesen barajadas digo yo...
Sí, pero también puedes asignarles un orden aleatorio en el "array 40", así es como si el array fuera una baraja. Y puedes ir desplazando un índice que indique qué carta está arriba en la baraja, con lo que no necesitarías siquiera los booleanos antes comentados.

Otra solución sería usar listas dinámicas, así podrías eliminar las cartas ya sacadas de la baraja.

Espero haberte orientado. Cualquier duda que tengas la vemos.

Saludos

emotivanet

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Juego 7 y medio
« Respuesta #2 en: Martes 30 de Junio de 2009, 18:35 »
0
Muchas gracias por contestar  :D

Antes de nada ya he estado mirando y me habia decantado (por el momento xD) en un ARRAY 40 OF BOOLEAN y ponerle de inicio el valor FALSE a todas las posiciones del vector, y cada vez que utilice una carta ponerle TRUE...

La idea de las listas me gusta mucho...pero esque no las manejo bien, lo de los punteros...y eso...la verdad que no los controlo...
« última modificación: Miércoles 1 de Julio de 2009, 18:56 por emotivanet »

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Juego 7 y medio
« Respuesta #3 en: Martes 30 de Junio de 2009, 18:47 »
0
Eso que tienes está mal. Baraja es una variable local a IniciarBarajar y te la borrará cuando termine el procedimiento. Además, ¿dónde están las cartas y sus valores? Porque yo sólo veo un vector de boolean  :huh:

emotivanet

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Juego 7 y medio
« Respuesta #4 en: Martes 30 de Junio de 2009, 18:56 »
0
Cita de: "m0skit0"
Eso que tienes está mal. Baraja es una variable local a IniciarBarajar y te la borrará cuando termine el procedimiento. Además, ¿dónde están las cartas y sus valores? Porque yo sólo veo un vector de boolean  :huh:

Puff...pues entonces para que no me lo borre? logicamente se borrará claro...esta parte la tengo muy con pinzas...no lo llego a entender como lo dejo para todo el programa.

¿¿Y lo de las cartas y sus valores?? un ejemplo...es que no se como darselos... :(

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Juego 7 y medio
« Respuesta #5 en: Martes 30 de Junio de 2009, 19:08 »
0
Cita de: "emotivanet"
Puff...pues entonces para que no me lo borre?
Se te borra porque la tienes declarada como variable local :P

Cita de: "emotivanet"
¿¿Y lo de las cartas y sus valores?? un ejemplo...es que no se como darselos... :(
Usa tipos y sus registros.

emotivanet

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Juego 7 y medio
« Respuesta #6 en: Martes 30 de Junio de 2009, 19:13 »
0
Cita de: "m0skit0"
Cita de: "emotivanet"
Puff...pues entonces para que no me lo borre?
Se te borra porque la tienes declarada como variable local :P

Cita de: "emotivanet"
¿¿Y lo de las cartas y sus valores?? un ejemplo...es que no se como darselos... :(
Usa tipos y sus registros.

Gracias de nuevo =)

A ver, creo hacer lo que me has dicho...y me ha salido lo siguiente:



Como va la cosa?
« última modificación: Miércoles 1 de Julio de 2009, 18:56 por emotivanet »

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Juego 7 y medio
« Respuesta #7 en: Martes 30 de Junio de 2009, 23:07 »
0
Va mejor.

Has declarado el tipo pero no lo estás usando  :P

emotivanet

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Juego 7 y medio
« Respuesta #8 en: Miércoles 1 de Julio de 2009, 18:58 »
0
He quitado el código por posible plagio (no soy el único que tiene que hacer esta práctica).

Decir también que ya la he acabado y funciona (otra cosa es que la pueda hacer mejor, que para eso tendré todo el verano)

Muchas gracias ^_^  ^_^

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Juego 7 y medio
« Respuesta #9 en: Miércoles 1 de Julio de 2009, 18:59 »
0
Cita de: "emotivanet"
He quitado el código por posible plagio
Tú mismo... tampoco era un código para plagiar  ^_^