Foros del Web » Programando para Internet » Javascript »

problema con dado

Estas en el tema de problema con dado en el foro de Javascript en Foros del Web. Muy buenas tardes, de antemano muchas gracias por leer mi post y muchisimas gracias a los que respondais a mi problemita. tengo que realizar una ...
  #1 (permalink)  
Antiguo 04/01/2011, 06:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
problema con dado

Muy buenas tardes,

de antemano muchas gracias por leer mi post y muchisimas gracias a los que respondais a mi problemita.

tengo que realizar una web en la que al dar a un boton me visualize un numero y asociado a ese numero la imagen de un dado.pero no se cmo hacerlo .
hasta ahora mi codigo es :
Código Javascript:
Ver original
  1. <html>
  2. <head><title>Dado</title>
  3. <script>
  4. function aleatorio(inferior,superior){
  5. numposibilidades=superior-inferior;
  6. aleat=Math.random()*numposibilidades;
  7. aleat=Math.floor(aleat);
  8. return parseInt(inferior)+aleat;
  9.  
  10. }
  11. function calcula(){
  12. var num=aleatorio(1,7);
  13. document.f1.numero.value=num;
  14. if(document.image.src==cambiar_img[num-1]){
  15. return document.image.src=cambiar_img[num];
  16. }
  17.  
  18. }
  19. var cambiar_img=new Array();
  20. cambiar_img[0]="dado1.jpg";
  21. cambiar_img[1]="dado2.jpg";
  22. cambiar_img[2]="dado3.jpg";
  23. cambiar_img[3]="dado4.jpg";
  24. cambiar_img[4]="dado5.jpg";
  25. cambiar_img[5]="dado6.jpg";
  26. </script>
  27. </head>
  28. <body>
  29. <form name="f1"action="dado.html" method=GET>
  30. <input type="button" onclick="calcula();"value="lanzar">
  31. <input type="text" name=numero>
  32. </form>
  33. <img src="dado1.jpg">
  34.  
  35. </body>
  36. </html>

besos y feliz año 2011 a todos.
  #2 (permalink)  
Antiguo 04/01/2011, 13:38
 
Fecha de Ingreso: julio-2009
Mensajes: 42
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: problema con dado

var cambiar_img=new Array();
//al usar el objeto Image conseguis q las imagenes se precarguen en memoria
cambiar_img[0]=new Image().src="dado1.jpg";
cambiar_img[1]=new Image().src="dado2.jpg";
cambiar_img[2]=new Image().src="dado3.jpg";
cambiar_img[3]=new Image().src="dado4.jpg";
cambiar_img[4]=new Image().src="dado5.jpg";
cambiar_img[5]=new Image().src="dado6.jpg";


function calcula(numcaras)
{
//javascript ya cuenta con funciones generadoras de numeros aleatorios
resultado = Math.floor(Math.random()*(numcaras));
document.getElementById('resultado').innerHTML="<i mg src='"+cambiar_img[resultado]+"'>";
}



En tu html podes usar un contenedor para el resltado y un boton para lanzar la funcion:

<div id='resultado'>
</div>

<input type="button" onclick="calcula(6);" value="lanzar"/>
  #3 (permalink)  
Antiguo 04/01/2011, 16:16
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: problema con dado

Muchas gracias por la ayuda kbmaster ,ahora mismo lo probare.un beso
  #4 (permalink)  
Antiguo 04/01/2011, 17:10
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
Pregunta Respuesta: problema con dado

hola nuevamente kbmaster una preguntilla
las lineas:
document.getElementById('resultado').innerHTML="<i mg src='"+cambiar_img[resultado]+"'>";
}

lo de innerHTML y getelemtbyid son de DHTMl no? habria forma de hacer la funcion sin usar dhtml? solo usando javascript?
  #5 (permalink)  
Antiguo 04/01/2011, 17:24
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: problema con dado

Que yo sepa, DHTML es JS, y getelementByID() e innerHTML son JS.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 05/01/2011, 05:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: problema con dado

hola crono,umm no se a lo mejor si van de la mano pero que sean lo mismo por los manuales que he visitado creo que no..umm bueno en fin hize unas modificaciones en mi codigo y ahora ya me funciona correctamente aunque con una pequeña trampa..

ya que use eval y segun me aconsejaron es mejor no usar ese comodin para aprender mas..
mi codigo es:
Código Javascript:
Ver original
  1. <html>
  2. <head><title>Dado</title>
  3. <script>
  4. function aleatorio(inferior,superior){
  5. numposibilidades=superior-inferior;
  6. aleat=Math.random()*numposibilidades;
  7. aleat=Math.floor(aleat);
  8. return parseInt(inferior)+aleat;
  9.  
  10. }
  11. function calcula(){
  12. var num=aleatorio(1,6);
  13. document.images["mi"].src=eval("camb"+num+".src");
  14. }
  15.  
  16.  
  17. var camb0=new Image();
  18. camb0.src="dado1.jpg";
  19. var camb1=new Image();
  20. camb1.src="dado2.jpg";
  21. var camb2=new Image();
  22. camb2.src="dado3.jpg";
  23. var camb3=new Image();
  24. camb3.src="dado4.jpg";
  25. var camb4=new Image();
  26. camb4.src="dado5.jpg";
  27. var camb5=new Image();
  28. camb5.src="dado6.jpg";
  29. </script>
  30. </head>
  31. <body>
  32. <img src="dado1.jpg" name="mi">
  33. <form name="f1"action="dado.html" method=GET>
  34. <input type="button" onclick="calcula();"value="lanzar">
  35.  
  36. </form>
  37.  
  38.  
  39. </body>
  40. </html>
he probado en lugar de usar el eval : document.images["mi"].src=eval("camb"+num+".src");
poniendo ="camb"+parseInt(num)+".src"; pero no se lo traga javascript y a mi me parece lo mismo... en fin si alguno sabe el porque no es igual las lineas:
document.images["mi"].src=eval("camb"+num+".src");
y
document.images["mi"]..src="camb"+parseInt(num)+".src");

Muchas gracias a todos.
  #7 (permalink)  
Antiguo 05/01/2011, 08:32
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: problema con dado

Sin eval se me ocurren dos maneras de hacerlo, con arrays (la más sencilla, y no entiendo por qué tienes 6 variables sueltas en vez de un array), o mediante coleeciones.
Código Javascript:
Ver original
  1. document.images["mi"].src=camb[num].src;
  2. // o
  3. document.images["mi"].src=window['camb'+num].src;
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #8 (permalink)  
Antiguo 06/01/2011, 07:05
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: problema con dado

hola cronos primeramente gracias por responder.use variables porque no se porque pero si usaba un array no veia errores en la consola de errores de firefox pero simplemente no cambiaba la imagen del dado.
con las variables y el eval si tira la pagina..
probe con la linea document.images["mi"].src=window['camb'+num].src;
y funciona perfectamente.Graciasssssssss

Etiquetas: dado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:49.