Buenos días.
Estoy realizando un miniproyecto y tengo un par de errores que no puedo solucionar, agradecería que podáis ayudarme u orientarme un poco.
Explico un poco el código:
En la página aparecen 5 dados y 4 secciones de "suma" y resta (lo que llamo operacion).
Paso información de una página a otra con el método GET, y los almaceno en un array.
Luego intento recorrer el array para que sume o reste según lo que el usuario indique.
El programa suma y resta bien.
El problema principal se encuentra en el PRIMER dado, este no admite null(cuando especifico que los valores si deben admitir null) de hecho los demás dados si lo admiten.
El otro problema es que este dado EL PRIMERO también, a veces falla y resta cuando tiene que sumar o directamente el resultado lo iguala a 0.
El problema se que se encuentra en este if($i==1))(o eso creo) pero no se como arreglarlo
¿Alguna sugerencia?
Muchas gracias.
<?php
if(isset($_GET["oculto1"])){
$operacion=$_GET["operacion"];
$operacion2=$_GET["operacion2"];
$operacion3=$_GET["operacion3"];
$operacion4=$_GET["operacion4"];
$oculto1=$_GET["dado1"];
$oculto2=$_GET["dado2"];
$oculto3=$_GET["dado3"];
$oculto4=$_GET["dado4"];
$oculto5=$_GET["dado5"];
$valor_1=$_GET["oculto1"];
$valor_2=$_GET["oculto2"];
$valor_3=$_GET["oculto3"];
$valor_4=$_GET["oculto4"];
$valor_5=$_GET["oculto5"];
$dodecaedro=$_GET["dodecaedro"];
}
$Juego=array(
"valor"=>array(
1 => $valor_1,
2 => $valor_2,
3 => $valor_3,
4 => $valor_4,
5 => $valor_5
),
"operacion"=>array(
1 =>$operacion,
2 =>$operacion2,
3 =>$operacion3,
4 =>$operacion4
),
"oculto"=>array(
1=>$oculto1,
2=>$oculto2,
3=>$oculto3,
4=>$oculto4,
5=>$oculto5
)
);
$resultado=0;
if($valor_1==$oculto1 ||$valor_1==null && $valor_2==$oculto2||$valor_2==null && $valor_3==$oculto3||
$valor_3==null && $valor_4==$oculto4||$valor_4==null && $valor_5==$oculto5||$valor_5==null){
for($i=1; $i<count($Juego['operacion'])+1;$i++){
if($i==1){
if($Juego['operacion'][$i]=='+'){
$resultado=$Juego['oculto'][$i]+$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='-'){
$resultado=$Juego['oculto'][$i]-$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='*'){
$resultado=$Juego['oculto'][$i]*$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='/'){
$resultado=$Juego['oculto'][$i]/$Juego['oculto'][$i+1];
}
}else{
if($Juego['operacion'][$i]=='+'){
$resultado=$resultado+$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='-'){
$resultado=$resultado-$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='*'){
$resultado=$resultado*$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='/'){
$resultado=$resultado/$Juego['oculto'][$i+1];
}
}
}
echo'Valor esperado:'; echo $dodecaedro;
echo"<br>";
echo"<br>";
print($oculto1.$operacion.$oculto2.$operacion2.$oc ulto3.$operacion3.$oculto4.$operacion4.$oculto5." = ".$resultado);
} else{
echo"Hay un fallo de escritura. Revise los numeros y marque la operacion deseada.";
}
if($resultado==$dodecaedro){
echo"<br>";
echo"<br>";
echo"<br>";
echo'<h1>CORRECTO! HAS GANADO 1 PUNTO</h1>';
}else{
echo'<h1> INCORRECTO</h1>';
}
//ERRORES: SI EL PRIMERO NO SE PONE DA ERROR. SI EL PRIMERO ESTA BIEN LOS DEMAS DAN IGUAL QUE ESTEN MAL. EL PRIMERO RESTA SI SÓLO PONES DOS
?>