Mi sto dannando con il meteo postato il 07/10/2015 01:02:38 nel forum programmazione, gdrcd, open source, hosting
Salve tutti, sto cercando di sistemare un problema con il meteo della land, vorrei impostare un massimo di temperatura che di tanto in tanto mi impazzisce e mi arrivano 52 gradi ( probabilmente essendo io ancora non esperto di programmazione ho toppato qualcosa ) c'è un modo per risolvere?
vi posto qui quello che ho attualmente tralasciando vento, lune che funziona tutto a meraviglia e la prima parte che è solo l'apertura del css
<?
$ore=strftime("%H");
$minuti=strftime("%M");
$mese=strftime("%m");
$giorno=strftime("%j");
$caso=((floor($giorno/3))%2)+1;
switch ($mese)
{
case 1: $minima=0; break;
case 2: $minima=4; break;
case 3: $minima=8; break;
case 4: $minima=12; break;
case 5: $minima=16; break;
case 6: $minima=12; break;
case 7: $minima=24; break;
case 8: $minima=22; break;
case 9: $minima=20; break;
case 10: $minima=20; break;
case 11: $minima=4; break;
case 12: $minima=0; break;
}
if($ore<14){$gradi=$minima+(floor($ore/3)*$caso);}
else{ $gradi=$minima+(4*$caso)-((floor($ore/3)*$caso))+(3*$caso);}
$caso=($giorno+($ora/4))%12;
switch ($caso)
{
case 0: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento debole di Scirocco (S-E)" align="center">"; break;
case 1: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento debole di Maestrale (N-O)" align="center">"; break;
case 2: $meteo="<img src="img/meteo/variabile.png" width="25" height="32" title="Variabile. Vento forte di Libeccio (S-O)" align="center">"; break;
case 3: $meteo="<img src="img/meteo/variabile.png" width="25" height="32" title="Variabile. Vento debole di Grecale (N-E)" align="center">"; break;
case 4: $meteo="<img src="img/meteo/pioggia.png" width="25" height="32" title="Pioggia. Vento Assente" align="center">"; break;
case 5: $meteo="<img src="img/meteo/nuvoloso.png" width="25" height="32" title="Nuvoloso. Vento forte di Mezzogiorno (S)" align="center">"; break;
case 6: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento forte di Mezzogiorno (S)" align="center">"; break;
case 7: $meteo="<img src="img/meteo/variabile.png" width="25" height="32" title="Variabile. Vento forte di Maestrale (N-O)" align="center">"; break;
case 8: $meteo="<img src="img/meteo/pioggia.png" width="25" height="32" title="Pioggia. Vento debole di Maestrale (N-O)" align="center">"; break;
case 9: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento debole di Libeccio (S-W)" align="center">"; break;
case 10: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento forte di Grecale (N-E)"align="center">"; break;
case 11: $meteo="<img src="img/meteo/temporale.png" width="25" height="32" title="Temporale. Vento forte di Maestrale (N-O)" align="center">"; break;
case 12: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento Assente" align="center">"; break;
case 13: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento forte di Scirocco (S-E)" align="center">"; break;
case 14: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento debole di Ponente (O)" align="center">"; break;
case 15: $meteo="<img src="img/meteo/variabile.png" width="25" height="32" title="Variabile. Vento deboe di Levante (E)" align="center">"; break;
case 16: $meteo="<img src="img/meteo/pioggia.png" width="25" height="32" title="Pioggia. Vento debole di Mezzogiorno (S)" align="center">"; break;
case 17: $meteo="<img src="img/meteo/nuvoloso.png" width="25" height="32" title="Nuvoloso. Vento debole di Scirocco (S-E)" align="center">"; break;
case 18: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento forte di Ponente (O)" align="center">"; break;
case 19: $meteo="<img src="img/meteo/neve.png" width="25" height="32" title="Neve. Vento fortissimo di Tramontana (N)" align="center">"; break;
case 20: $meteo="<img src="img/meteo/pioggia.png" width="25" height="32" title="Pioggia. Vento forte di Levante (E)" align="center">"; break;
case 21: $meteo="<img src="img/meteo/nuvoloso.png" width="25" height="32" title="Nuvoloso. Vento Assente" align="center">"; break;
case 22: $meteo="<img src="img/meteo/sereno4.png" width="25" height="32" title="Sereno. Vento debole di Mezzogiorno (S)"align="center">"; break;
case 23: $meteo="<img src="img/meteo/tempesta.png" width="25" height="32" title="Tempesta. Vento fortissimo di Maestrale (N-O)" align="center">"; break;
}
$_SESSION['Meteo_S'] = $meteo;
grazie dell'attenzione. e spero che qualcuno ci capisca più di me e possa aiutarmi.
Pagine → 1
07/10/2015 09:57:08
potresti diminuire il valore di $caso cambiando la formula oppure potresti diminuire il valore di minima oppure potresti creare un valore di massima e poi sviluppare un codice che peschi un numero tra minima e massima
07/10/2015 10:47:11
il problema sta quando usi questa roba:
floor($ore/3)*$caso)
Perche'? Nel peggiore dei casi $ore sara' 23, poi lo dividi per 3 ce fa 7 (prendi il floor) e poi lo moltiplichi per caso che, nel peggiore dei casi fa 3. Tutta sta cosa puo' arrivare a 21 che, sommate con quelle minime, arriva a un numero allucinante.
Nella mia land io uso un approccio totalmente diverso per il meteo.
Un consiglio che ti posso dare e' quello di cambiare TOTALMENTE approccio. Imposta dei valori di temperatura minima (gia' fatto) e massima e, anziche' fare tutta sta roba, estrai un numero causale da una distribuzione di Gauss. Qui trovi una funzione che ti fa questa cosa:
http://www.eboodevelopment.com/php-random-number-generator-with-normal-distribution-bell-curve/
Passi min e max e la deviazione standard: piu' ampia e' la deviazione standard, piu' grande sara' lo scostamento di temperatura. Da quel che ho capito, min e max non sono valori vincolanti, ma il generatore di numeri puo' (con una certa probabilita') prendere valori al di fuori del range.
A presto
07/10/2015 15:17:19
intanto grazie, vedo se riesco a fare le soluzioni che proponete, vedrò di spulciare la guida di gdr cd e cosa riesco a produrre.
Però almeno mi avete chiarito un dubbio che l'errore fosse sull'algoritmo e non da altre parti.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Storie di Agarthi: La Lunga Notte è arrivata
I dati del generatore di rank sono stati aggiornati!
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Felix Felicis GdR - Harry Potter GdR: Le uova di... Natale? - Evento ON
Ex Gratia GDR: Massima personalizzazione coi tratti specie!
nerelyn ha aperto una nuova discussione: Personaggio in cerca di Land
The Eyrie GdR: Nuove Fazioni ed entrata in Beta
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
Piume Nere: 🎄 Le Notti Sacre Sono Iniziate 🕯️
La categoria Browser Game raggiunge i 3.900 giochi catalogati!
RAID Shadow Legends: Anaxia la Rinata!
Enlisted: Test aggiornamento "Fronte dell'Estremo Oriente"
New Orleans → La Città dai Mille Volti: Crime, Feste, Mistero, Voodoo, Natura Incontaminata, Fama, Grattacieli, Luci Splendenti e Ombre Profonde.
Ex Gratia GDR: Il nuovo manuale è online!
Star Trek Horizon: QuestLog: Natale al cubo
Black Sails Chronicles: ON - 3° Serata Gara di Bevute
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, inizia l'avventura!
