Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/04/2009, 23:18
Avatar de javico40
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;
}