Condizioni Meteo
Condizioni Meteo postato il 13/06/2016 09:54:24 nel forum programmazione, open source e hosting
Buongiorno a tutti, vorrei un chiarimento riguardo i parametri meteo per il pacchetto GRDCD 5.2.
Precisamente riguardo questa parte di codice
$caso=($giorno+($ora/4))%12;
switch ($caso)
{
case 0: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 1: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 2: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;
case 3: $meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break;
case 4: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break;
case 5: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;
case 6: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 7: $meteo_cond=$MESSAGE['interface']['meteo']['status'][1]; break;
case 8: if($minima<4){$meteo_cond=$MESSAGE['interface']['meteo']['status'][4];} else {$meteo_cond=$MESSAGE['interface']['meteo']['status'][3];} break;
case 9: $meteo_cond=$MESSAGE['interface']['meteo']['status'][2]; break;
case 10: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
case 11: $meteo_cond=$MESSAGE['interface']['meteo']['status'][0]; break;
}
$meteo=$meteo_cond." - ". $gradi."°C "; //.Tempo();
Prima di tutto mi pare ci sia un errore nella formula, perchè la variabile $ora non c'è nel resto del codice ma si chiama $ore. Inoltre non riesco a capire come calcolare il risultato dell'operazione, ho provato considerando il resto, come mi è stato suggerito, ma il risultato non corrisponde al meteo che appare in land. Ho provato con un calcolatore di differenziale on line, il risultato ancora non corrisponde agli esiti in land.
Qualcuno sa dirmi ad esempio a quest'ora, che sono le 10 del 13, che meteo dovrebbe esserci secondo quella formula? A me l'esito è il caso 11.
Grazie
Pagine → 1
13/06/2016 10:20:58
Dunque:
13+10/4=X
13+2,5=X
15,5
Il codice poi prende come modulo 12.
Il risultato in questo caso è 3,5.
13/06/2016 10:46:12
syon88 ha scritto: Dunque:
Il risultato in questo caso è 3,5.
Ecco appunto il mio problema, il risultato 3,5. Se consideriamo il resto è 5, quindi caso 5, se consideriamo il numero intero è 3, quindi caso 3. Io ho 11 -.-
Quelli che usano il pacchetto GDRCD 5.2 dovrebbero avere il mio stesso meteo al momento, voi vi trovate?
@orieturintenebris: si, l'avevo messo anche nel post di apertura che avevo notato l'errore della variabile, è proprio in info_location il codice quindi l'ho già corretto ma ancora non mi trovo con il risultato.
Grazie :)
13/06/2016 11:33:18
strftime("%j")
Questa istruzione ritorna il giorno conteggiato dall'inizio dell'anno (da 1 a 366).
Oggi è il giorno 165, di conseguenza:
(165+(10/4))%12 = 11
Usate sempre la documentazione online per saperne di più su come funziona una determinata istruzione http://php.net/strftime ↗, neanche io riesco a ricordare precisamente ogni cosa: è una risorsa indispensabile ;)
Precisato questo, comunque, il problema che esponi si può tranquillamente ripresentare in altri giorni/ore e il mio suggerimento per risolvere nell'immediato è quello di arrotondare o per eccesso o per difetto il risultato dell'algoritmo tramite le funzioni floor() e ceil().
13/06/2016 11:52:54
Dramstaff, io ti posso dire che il mio meteo non segna 11 come risultato a quest'ora ma neanche si avvicina. Questo perchè non abbiamo toccato la variabile, poi magari ho capito male quello che vuoi, ma abbiamo modificato la temperatura di base minima che sta nel config.
13/06/2016 12:20:59
Grazie mille blancks, ora tutto torna!
Grazie a tutti quanti gli altri anche, gentilissimi come sempre :)
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Seconda Era ↗
New Orleans ↗
RAID Shadow Legends ↗
The Coven ↗
Naruto x Boruto GDR ↗
CRSED: F.O.A.D. ↗