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.