• Jueves 14 de Noviembre de 2024, 18:52

Autor Tema:  Funcion Dado  (Leído 2037 veces)

kayto

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Funcion Dado
« en: Lunes 2 de Febrero de 2004, 19:08 »
0
Hola a todos:

Me gustaria saber si alguien es capaz de ayudarme a hacer una funcion que simule un dado normal y corriente.
Digamos que la funcion mostraria por pantalla aleatoriamente los numero 1, 2, 3, 4, 5 y 6 y cuando nosotros pulsemos una tecla (cualquiera a ser posible) esta devuelva ese valor aleatorio elegido por el usuario al detener el movimiento del dado a la funcion principal.

Un saludo.

Raygoza

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Funcion Dado
« Respuesta #1 en: Lunes 2 de Febrero de 2004, 19:34 »
0
Usa la funcion random

kayto

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Funcion Dado
« Respuesta #2 en: Lunes 2 de Febrero de 2004, 19:38 »
0
Si yo uso esa funcion, pero de lo que se trata es de que este mostrando aleatoriamente caras del dado hasta que al pulsar una tecla devuelva ese valor a la funcion principal.
Si uso la funcion random a secas, me devolveria un unico valor y no estaria mostrando valores en pantalla ni seria el usuario quien lo detendria.
Digamos que seria un bucle que mostraria por pantalla los valores del dado, del 1 al 6 aleatoriamente y que se saldria de dicho bucle con la pulsacion de cualquier tecla y devolveria a la funcion el ultimo valor mostrado al azar en pantalla.

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Funcion Dado
« Respuesta #3 en: Lunes 2 de Febrero de 2004, 21:07 »
0
Realmente no entiendo lo q queres hacer.
Se muestran por pantalla numeros del 1 al  (un dado) y al apretar una tecla (CUAL????????) que pasa a la funcion principal??????????

Salu2!!!!!!!

kayto

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Funcion Dado
« Respuesta #4 en: Martes 3 de Febrero de 2004, 00:48 »
0
Lo vuelvo a explicar a ver si me entendeis.
En pantalla debe salir aleatoriamente los numero de 1 al 6 sin parar que son los valores de las caras de un dado. Solo se parara cuando el usuario pulse una tecla. La tecla da igual cual sea, bien se la barra espaciadora, un caracter o la tecla de intro. Una vez pulsada esa tecla (cualquiera), la funcion captura el ultimo valor mostrado en pantalla y lo devuelve a la funcion principal como valor del dado.

Espero que ahora me entendais.
Un saludo y gracias.

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Funcion Dado
« Respuesta #5 en: Martes 3 de Febrero de 2004, 08:38 »
0
No se cual es el compilador que estas usando, asi que no te puedo dar detalles. Tu funcion mas o menos seria

int funcion()
{
   int valor;

   do
   {
      valor = rand()%6 +1;
      printf ("%d\n", valor);
      retardo de medio segundo o asi
   } (hasta que se pulse la tecla que quieras)

   return valor;
}


Se bueno.

kayto

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Funcion Dado
« Respuesta #6 en: Martes 3 de Febrero de 2004, 14:32 »
0
Chuidiang, mi gran problema no me lo has solucionado, pero gracias de todas forma
Porque, como se escribe en el compilador la linea "} (hasta que se pulse la tecla que quieras)"?

Se que lo del retardo de medio segundo se hace con un delay pero para lo de mostrarlo hasta pulsar una tecla no se como implementarlo.

Lo dicho, gracias de todos modos.

desorden

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Funcion Dado
« Respuesta #7 en: Martes 3 de Febrero de 2004, 17:12 »
0
Busca información sobre la función kbhit(). La implementaban los antiguos compiladores de Borland en la biblioteca dos.h y DJGPP en pc.h.
Aunque solo te servirá si trabajas sobre DOS.

Un saludo...
desorden

kayto

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Funcion Dado
« Respuesta #8 en: Martes 3 de Febrero de 2004, 18:53 »
0
Perfecto, muchas gracias. Esa era la funcion que necesitaba. :)
 
Un saludo.