Foros del Web » Programando para Internet » PHP »

Algoritmo para Tiempo y Clima virtual en php

Estas en el tema de Algoritmo para Tiempo y Clima virtual en php en el foro de PHP en Foros del Web. Hola comunidad, estoy desarrollando un mmorts (juego de navegador en tiempo real) basado en la segunda guerra mundial, este incluye dos caracteristicas especiales, el manejo ...
  #1 (permalink)  
Antiguo 26/04/2009, 22:32
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Algoritmo para Tiempo y Clima virtual en php

Hola comunidad, estoy desarrollando un mmorts (juego de navegador en tiempo real) basado en la segunda guerra mundial, este incluye dos caracteristicas especiales, el manejo del tiempo y el manejo del clima virtuales. he escrito un algortimo para calcular el tiempo a partir de la fecha 1 sep 1939 equivalente a la fecha actual, sin embargo he comprobado que falla abismalmente en el calculo y aun no se porque, ojala me podais ayudar. Tambien estoy diseñando un algoritmo que calcula el clima en base a los meses en que se suceden, esto solo en regiones como europa y rusia en el cual el clima tiene estaciones.

Algoritmo para calcular el tiempo:

Código:
class Calendar{

function evaluateDay($day, $dayOld){
$dif = $dayOld-$day;
echo($dif);
}

function getWarStartDate(){
 $sql = new DataBase();
    $query = "SELECT fechaInicio FROM server WHERE idServer = '1' LIMIT 1;";
    $result = $sql->check($query);
    while ($row = mysql_fetch_array($result)) {
        $fecha = $row['fechaInicio'];
    }
    return $fecha;
}

function evaluateMonth($month, $monthOld){
$dif = $monthOld-$month;

if($month > $monthOld){
echo("El mes actual es mayor al mes anterior");
}

}

function evaluateYear($year, $yearOld){

}

function evaluateAll($year, $yearO, $month, $monthO, $day, $dayO, $ini){

//evaluando los meses
// se debe conocer cuantos meses han pasado desde iniciado el juego
// meses de 30 dias

$mesPas = $month-$ini;  // esto siempre sera positivo
//calculo cuatos dias han pasado
$diasPas = $mesPas*30; 
//contador de años transcurridos
$masAños=0;
//devuelve los meses pasados 8
$difM = floor($diasPas/3);
// calculoMes = 09 + 8 = 17
$calMonth = $monthO + $difM;
//muestro los meses pasados
//echo($calMonth-9);
//si calculoMes > 12   true
if($calMonth > 12){
// mes = calculoMes - 12 = 17-12 = 5
$nMonth = $calMonth - 12; 
// se incrementa un año
$masAños = $masAños +1; 
//si no
}else{
//el mes es igual al calculado
$nMonth = $calMonth;
}
//calculo del año
$difYear = $yearO - $year;
$nYear = $year+$difYear;
$nYear = $nYear+$masAños; 
//la fecha actual es
$nFecha = $day."-".$nMonth."-".$nYear;

return $nFecha;
}


}//fin clase evaluates
Si conocen de algo parecido para el clima seria de mucha ayuda, igual si encuentran el error en el tiempo, gracias.
  #2 (permalink)  
Antiguo 26/04/2009, 22:51
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Algoritmo para Tiempo y Clima virtual en php

Cita:
$masAños=0;
¿No sera por eso?
  #3 (permalink)  
Antiguo 26/04/2009, 23:18
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: Algoritmo para Tiempo y Clima virtual en php

No lo creo, en el juego nunca llega a transcurrir un año, lo que se veia era un error causado por la costumbre en java de inicializar variables, cosa no nesesaria en php, lo he borrado pero aun asi siguen saliendo mal las fechas, guardo la fecha de inicio del servidor en la base de datos y en base a esa fecha es que se calcula el tiempo pasado, es decir, si el servidor arranca hoy, entonces:

hoy: 27-04-09 -----> 01-09-39

a partir de alli el algoritmo comienza a calcular el equivalente entre la fecha actual y el inicio del servidor y su equivalente con respecto a 01-09-39.

Código:
function evaluateAll($year, $yearO, $month, $monthO, $day, $dayO, $ini){

//evaluando los meses
// se debe conocer cuantos meses han pasado desde iniciado el juego
// meses de 30 dias

$mesPas = $month-$ini;  // esto siempre sera positivo

//calculo cuatos dias han pasado

$diasPas = $mesPas*30; 

//devuelve los meses pasados 8

$difM = floor($diasPas/3);

// calculoMes = 09 + 8 = 17

$calMonth = $monthO + $difM;

//muestro los meses pasados

//echo($calMonth-9);

//si calculoMes > 12   true

if($calMonth > 12){

// mes = calculoMes - 12 = 17-12 = 5

$nMonth = $calMonth - 12; 

// se incrementa un año

$masAños = $masAños +1; 

//si no

}else{

//el mes es igual al calculado

$nMonth = $calMonth;

}

//calculo del año

$difYear = $yearO - $year;

$nYear = $year+$difYear;

$nYear = $nYear+$masAños;
 
//la fecha actual es

$nFecha = $day."-".$nMonth."-".$nYear;

return $nFecha;
}
  #4 (permalink)  
Antiguo 26/04/2009, 23:48
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Algoritmo para Tiempo y Clima virtual en php

No me refería a inicializar la variable, me refería a los CARACTERES ESPECIALES que en ella se ven.

Cita:
$masAños;
No se puede declarar una variable con ñ.

Las variables solo pueden contener numeros, letras y underscores (_). Y no pueden comenzar con un numero.
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 18:35.