Hola,
Estoy realizando un juego de cartas en flash y estoy con la lógica del juego. La logica en actionscript esta mas o menos pero el problema estriba a la hora de pasar los resultados a php para que los guarde a la base de datos.
Se ha creado un archivo enviar.php .El archivo recibe una petición y el palo y el numero de una carta. En el php hay un bucle while que hasta que no recibe la peticion "finalizar" no acaba. Dentro del bucle hay un switch que procesa la peticion que le llegue y una variable echo que devuelve un resultado. El problema es que tengo que tener el bucle funcionando mientras dure la partida, pero el echo solo devuelve la variable cuando finaliza el php. Entonces ¿como puedo devolver la variable resultado mientras el php esta metido en el bucle while.?
Este es el fichero enviar comentado:
<?php
require_once("class_juego.php");
require_once("class_carta.php");
#$link = mysql_connect("localhost", "root", "");
# mysql_select_db("productos");
#Abrimos el fichero en modo de escritura que nos sirva como salida.
$DescriptorFichero = fopen("fichero_prueba.txt","a+");
#Si finjuego=finalizar el juego acaba. Este parametro se recibe desde fuera
$finJuego = "";
#Es una clase contenedor donde se va guardando el estado de la partida. De momento no se usa para nada
$juego = new Juego();
#La variable que hay que devolver con el echo y que en este caso representa si ganaste o perdiste un mano
$resultadoJuego = "Resultado Perdiste";
while($finJuego!="finalizar"){
#Esperar peticion
while($peticion==0){
$peticion = "".$_POST['peticion']."";
}
//recibe el numero de la carta jugada y el palo y si el juego termina o no.
$numCarta = "".$_POST['numCarta']."";
$paloCarta = "".$_POST['paloCarta']."";
$finJuego = "".$_POST['finJuego']."";
//guardamos en el fichero los parametros que llegaron.
$string1 = "\nSe ha realizado la peticion : " . $peticion. $numCarta . $paloCarta. $finJuego . "\n";
fputs($DescriptorFichero,$string1);
//switch, segun la peticion que reciba hace una cosa o otra
switch($peticion){
case 4:
//recibe la carta que se juego
$string1 = "\nDentro del swich : " . $peticion. $numCarta . $paloCarta . $finJuego . "\n";
fputs($DescriptorFichero,$string1);
juego.set_cartaJugada1(new Carta($paloCarta,$numCarta));
fputs($DescriptorFichero,"".juego.get_cartaJugada1 ().getPalo()."");
$resultadoJuego = "Ganaste";
break;
case 5:
//el juego acaba.
fputs($DescriptorFichero,$string1);
$resultadoJuego= "Resultado Perdiste otra vez";
break;
default:
fputs($DescriptorFichero,"Peticion no contemplada");
break;
}
$peticion=0;
if($finJuego=="finalizar"){
fputs($DescriptorFichero,"\nllego el final del juego\n");
}
echo "resultadoJuego=".$resultadoJuego;
}
//echo "resultadoJuego=".$resultadoJuego;
#Cerramos el fichero
fclose($DescriptorFichero);
#$cons = "INSERT INTO lista (prod_sql, id_sql) VALUES ('$prod_php', '$id_php')";
#mysql_query($cons);
#mysql_close($link);
?>
Si alguien puede darme una mano, eternamente agradecido