Wetter Simulation Zufall

EuroCent

Klappstuhl 2.0
Folgendes Problem:

Ich möchte eine art Wetter machen dies soll per Zufall geschehen

Beispiel:
PHP:
<?php
$wetter = array("Sonnig", "Bewölkt", "Regen", "Gewitter", "Schnee"); // Wetter
$wetter_zeit = array("1800", "2700", "3600", "5400", "7200"); // Zeit der Wetter Situation
?>

Nun wollte ich es erreichen das wenn nun Sonnig kommt auch die Zeit "1800" dasteht das selbe gilt für Regen mit "3600" oder Schnee mit "7200"

Die Sekunden werde ich dann am Schluss * 60 nehmen und Minuten anzeigen zu können

Das wetter sollte aber per Zufallsprinzip angezeigt werden

Beipiel:

Jetzt "Sonnig" Dann "Schnee"

Das heisst es müsste dann Drunter Stehen: Wetter bis "Schnee" in 30mins

Umgekehr wäre es dann: Wetter bis "Sonnig" in 120mins

Hoffe man versteh was ich möchte

Hab es schon mit rand() und array_rand probiert jedoch immer erfolglos

Hoffe ihr könnt da abhilfe schaffen

MfG

Lenox
 
Als Denkanstoß...
PHP:
$num = rand(0,count($wetter));
echo 'Wetter: '.$wetter[$num]."\n";
$minuten = $wetter_zeit[$num+1] / 60;
echo 'Bis '.$wetter[$num+1].' noch '.$minuten.' Minuten.';
 
Das ist mir auch schon ungefähr in den Sinn gekommen

Doch wollte ich das er bei Sonnig die zahl 30 oder 1800 nimmt nicht eine Zufällige ^^

Das heisst das Sonnig nich 120Mins haben sollte sondern die 30mins
Bei Gewitter das selbe spiel ^^

Gewitter = 90Mins "5400"
Schnee = 120mins "7200"
Regen = 60mins "3600"
Bewölkt = 45mins "2700"
Sonnig = 30mins "1800"

Das wetter soll also Zufällig mit der dazu gehörigen Minuten Zahl erscheinen

Hoffe man weiss was ich möchte :P
 
Also ich glaube ich weiß was du meinst aber dafür müstest du die Werte in eine datenbank speichern,
sie dan auf der Seite ausladen , dan ebend berechnen , und anzeigen lassen .
Dazwischen noch eine auswertung wenn die Minuten abgelaufen sind das dan per Zufall ein neues wetter ausgesucht wird und dieses dan als nächstes wetter Speichern

etwa so :
PHP:
<?php
$wetter = array("Sonnig", "Bewölkt", "Regen", "Gewitter", "Schnee"); // Wetter
$wetter_zeit = array("1800", "2700", "3600", "5400", "7200"); // Zeit der Wetter Situation


$tsp_now = mktime(date("H"), date("i"), date("s"), date("n"), date("j"), date("Y"));

//Aus Datenbank laden
$wetter_now = 3;
$wetter_now_tsp = 1209910324;
$wetter_next = 0;
//---

$minuten = floor((($wetter_now_tsp+$wetter_zeit[$wetter_next])-$tsp_now)/60);
if ($minuten <= 0){

    //---
    $wetter_now = $wetter_next; 
    $wetter_next = rand(0,count($wetter));
    $wetter_now_tsp = $tsp_now;
    //in datenbank Speichern

    $minuten = floor((($wetter_now_tsp+$wetter_zeit[$wetter_next])-$tsp_now)/60);
}


echo 'Wetter: '.$wetter[$wetter_now]."\n";
echo 'Bis '.$wetter[$wetter_next].' noch '.$minuten.' Minuten.';  

?>
 
Das wetter soll also Zufällig mit der dazu gehörigen Minuten Zahl erscheinen

Schau dir mein Code noch mal an, genau das tut der nämlich.
Ich nehme mir eine zufällige Zahl mit der ich dann auf beide Arrays zugreife. Also hast du zu deinem Wetter die zugehörige Zeit.
 
Schau dir mein Code noch mal an, genau das tut der nämlich.
Ich nehme mir eine zufällige Zahl mit der ich dann auf beide Arrays zugreife. Also hast du zu deinem Wetter die zugehörige Zeit.

eben nicht ^^

Das Wetter war nicht Gleich die Zeit hab ich alles schon getestet

Werd es aber mal per Datenbank versuchen

Allerdings halte ich das eigentlich wegen 5Datensätze für schachsinnig aber dennoch werd ich dies mal probieren

Danke euch Trotzdem
 
Würde das Array so aufbauen:

PHP:
$wetter = array (   '1' => array ( 'art' => 'Sonnig', 'zeit' => '1800' ),
                    '2' => array ( 'art' => 'Bewölkt', 'zeit' => '2700' ),
                    '3' => array ( 'art' => 'Regen', 'zeit' => '3600' ),
                    '4' => array ( 'art' => 'Gewitter', 'zeit' => '5400' ),
                    '5' => array ( 'art' => 'Schnee', 'zeit' => '7200' )
                );

Dann kannst du folgendes machen:
PHP:
$zufall = rand(1,5);
echo $wetter[$zufall]['art']. ': ' .($wetter[$zufall]['zeit']/60). ' (' .$wetter[$zufall]['zeit']. ')';

Ergebnis ist zum Beispiel:
Code:
Bewölkt: 45 (2700)
Gewitter: 90 (5400)
Regen: 60 (3600)

Hoffe das ist so richtig ;)
 
Zurück