Foros del Web » Programando para Internet » Javascript »

Buscaminas... problemas

Estas en el tema de Buscaminas... problemas en el foro de Javascript en Foros del Web. Hola que tal a todos los del foro... Les comento que estoy haciendo un buscaminas en php y bueno en si lo que tengo es ...
  #1 (permalink)  
Antiguo 15/11/2010, 12:30
Avatar de vweisbek  
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Buscaminas... problemas

Hola que tal a todos los del foro...
Les comento que estoy haciendo un buscaminas en php y bueno en si lo que tengo es una tabla de botones los cuales su valor al ser presionados varia segun el valor de una variable de php cont que se encarga que contar cuantas minas hay al rededor del boton presionado... el problema es que no aparecen los numeros por que al pasar yo las variables la pagina no se actualiza... entonces paso variables vacias... me gustaria saber como resolver este problemaa...
Desde ya muchas gracias...

Y por si les ayuda o no les quedo claro aca va el codigo..
Código PHP:

<head>
<script type="text/javascript">
function submitform()
{
  document.formulario.submit();
}
</script>
<script type="text/javascript">
function toggleValue(id){
var element = document.getElementById(id);
var cont = "<?PHP echo $cont?>";
var cadena[i] = "<?PHP echo $cadena[$i]?>";
if (cont=="1"){element.value = "1";}
if (cont=="2"){element.value = "2";}
if (cont=="3"){element.value = "3";}
if (cont=="4"){element.value = "4";}
if (cont=="5"){element.value = "5";}
if (cont=="6"){element.value = "6";}
if (cont=="7"){element.value = "7";}
if (cont=="8"){element.value = "8";}
if (cont=="0"){element.value = "-";}
if (cadena[i])=='*'){element.value ="x"}

}
</script>
</head>
<?PHP

// ...

//formo la grilla
echo"<TABLE>";
FOR (
$y=0$y<$valory$y++){
echo 
"<TR>";
FOR (
$x=0$x<$valorx$x++){
    
$tab[$x]=$cadena[$i];
// si en ese lugar no hay una mina
if ($cadena[$i]=='-'){
    
$n=$i;
    
$cont=0;//inicio contador en cero
    
    //los if de recorrido por las casillas 
    
    
if ($cadena[$n+1]=='*'&&($n+1)>=0&&($n+1)<=$total-1){$cont++;}//verifico que no me paso de los limites de la matriz
    //...

echo ("<TD>
<form id='formulario' method='post' action='#' >
<input id='unboton' type='button' onclick='toggleValue('unboton');onclick='submitform()'; 'value='.'>
</form>    "
);
  #2 (permalink)  
Antiguo 15/11/2010, 13:43
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 19 años, 8 meses
Puntos: 9
Respuesta: Buscaminas... problemas

No hay motivo para que no se vean los valores si los pasas desde el form.
Para saber exactamente el error deberia ver todo el programa, especialmente del lado del servidor. Eso seria muy tedioso para ambos.
Te sugiero

1. Asegurarte que los valores el formulario llegan bien al servidor
2. Que se escriben correctamente en los botones.

Sugerencia : Como el buscaminas es un juego solitario, ¿porque no lo haces todo en javascript?

Saludos
  #3 (permalink)  
Antiguo 15/11/2010, 13:54
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Buscaminas... problemas

Yo diría que un posible problema lo podrías estar teniendo con variable cadena[i], no estoy muy seguro de que se pueda llamar a una variable así, porque eso significaría que en la variable cadena, la posición i tiene ese valor, pero i no está definida. Por otro lado puedes quitar todos los ifs con un switch() u otras soluciones:
Código Javascript:
Ver original
  1. switch(cont){
  2.  case '0':
  3.   element.value = '-';
  4.  break;
  5.  default: // comportamiento por defecto
  6.   element.value = cont;
  7.  break;
  8. }
  9. //o bien
  10. element.value = cont=='0'?'-':cont;
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
  #4 (permalink)  
Antiguo 15/11/2010, 13:54
Avatar de vweisbek  
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Buscaminas... problemas

Gracias por tu respuesta... en sí ese es otro problema, no se si los valores llegan bien al servidor... en cuanto al hacerlo en javascript la verdad es que no tengo mucha idea del manejo en java...

por si alguno lo quiere ver entero

Código PHP:
Ver original
  1. <HTML>
  2. <BODY>
  3. <head>
  4. <script type="text/javascript">
  5. function submitform()
  6. {
  7.   document.unboton.submit();
  8. }
  9. </script>
  10. <script type="text/javascript">
  11. function toggleValue(id){
  12. var element = document.getElementById(id);
  13. var cont = "<?echo $cont?>";
  14. var cadena[i] = "<?echo $cadena[$i]?>";
  15. if (cont=="1"){element.value = "1";}
  16. if (cont=="2"){element.value = "2";}
  17. if (cont=="3"){element.value = "3";}
  18. if (cont=="4"){element.value = "4";}
  19. if (cont=="5"){element.value = "5";}
  20. if (cont=="6"){element.value = "6";}
  21. if (cont=="7"){element.value = "7";}
  22. if (cont=="8"){element.value = "8";}
  23. if (cont=="0"){element.value = "-";}
  24. if (cadena[i])=='*'){element.value ="x"}
  25.  
  26. }
  27. </script>
  28. </head>
  29. <?PHP
  30.  
  31. $x;
  32. $y;
  33. $i=0;
  34. $tab[$x];
  35. $minas=5;
  36. //$minas=$_REQUEST['minas'];
  37. //LO MISMO DE MINAS HACER CON VALOR X QUE ES IGUAL AL DE Y
  38. //O HACERLO APARTE Y SE PODRIA PEDIR UN APODO DEL JUGADOR... quizas un puntaje..
  39.  
  40. $valorx=5;
  41. $valory=5;
  42. $total=($valorx*$valory);
  43. $cadena[($total-24)];
  44. $j;
  45. $valor;
  46. $randomc;
  47. $randomant=-1;//lo inicializa en un numero imposible para el random
  48. $b=0;
  49. for ($b=0;$b<$total;$b++){ //pongo a toda la griila en -
  50.     $cadena[$b]='-';}
  51. for ($j=0;$j<$minas;$j++){
  52. $randomc=rand(0,($total-1));//me hace un num aleatorio de 0 a total-1 ej si son 25 de 0 a 24
  53. while ($randomant==$randomc){
  54.    
  55.     $randomc=rand(0,($total-1));   
  56.    
  57. }
  58. $cadena[$randomc]='*';//ahora las minas son * y el resto q no tiene mina es -
  59. $randomant=$randomc; //igualo a la variable random anterior a la actual para el proximo for
  60. }
  61.  
  62.  
  63. //formo la grilla
  64. echo"<TABLE>";
  65. FOR ($y=0; $y<$valory; $y++){
  66. echo "<TR>";
  67. FOR ($x=0; $x<$valorx; $x++){
  68.     $tab[$x]=$cadena[$i];
  69. // si en ese lugar no hay una mina
  70. if ($cadena[$i]=='-'){
  71.     $n=$i;
  72.     $cont=0;//inicio contador en cero
  73.    
  74.     //los if de recorrido por las casillas
  75.     //me falta analizar los bordes...
  76.     if ($cadena[$n+1]=='*'&&($n+1)>=0&&($n+1)<=$total-1){$cont++;}//verifico que no me paso de los limites de la matriz
  77.     if ($cadena[$n-1]=='*'&&($n-1)>=0&&($n-1)<=$total-1){$cont++;}
  78.     if ($cadena[$n+$valorx]=='*'&&($n+$valorx)>=0&&($n+$valorx)<=$total-1){$cont++;}
  79.     if ($cadena[$n+($valorx+1)]=='*'&&($n+($valorx+1))>=0&&($n+($valorx+1))<=$total-1){$cont++;}
  80.     if ($cadena[$n+($valorx-1)]=='*'&&($n+($valorx-1))>=0&&($n+($valorx-1))<=$total-1){$cont++;}
  81.     if ($cadena[$n-$valorx]=='*'&&($n-$valorx)>=0&&($n-$valorx)<=$total-1){$cont++;}
  82.     if ($cadena[$n-($valorx+1)]=='*'&&($n-($valorx+1))>=0&&($n-($valorx+1))<=$total-1){$cont++;}
  83.     if ($cadena[$n-($valorx+1)]=='*'&&($n-($valorx+1))>=0&&($n-($valorx+1))<=$total-1){$cont++;}
  84. }
  85.  
  86. echo ("<TD>
  87. <form id='formulario' method='post' action='#'>
  88. <input id='unboton' type='button' onclick='submitform();' onclick='toggleValue('unboton');' value='.'>
  89. </form> ");
  90.  
  91. $i++;
  92. echo"</TD>";
  93.  
  94. }
  95. echo"</TR>";
  96. }
  97.  
  98. echo"</TABLE>";
  99.  
  100.  
  101. ?>
  102.  
  103. </BODY></HTML>

Etiquetas: Ninguno
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 11:15.