Hallo zusammen, meine Unwetter Simulation fürs Aquarium steht soweit. Jetzt hätte ich eine Frage. Da das Unwetter ja nicht jeden Tag sein soll möchte ich gerne eine if Abfrage erstellen wo zufällig ein Tag aus dem Aktuellen Monat ausgewählt wird wann die Simulation laufen soll. Also ich frage über die RTC in meinem Programm wie folgt die Zeit und das Datum ab: datum[3] =stunden , datum[2] =minuten , datum[1] =sekunden , datum[4] = tage , datum[5] =monate , datum[6] =jahre. Ich möchte die if Abfrage so gestalten , wenn das der richtige weg ist..... if ((datum[5] < 13) and (datum[4] == random(1,31)) and (datum[3] == random(1,25)))
{
Ausführung der Simulation....
}
das jeden Monat an einem zufällig ausgewählten Tag, zur zufällig ausgewählten Stunde die Simulation ab läuft. Kann ich das so abfragen oder liege ich da Falsch. Ich bedanke mich schon einmal für Eure Hilfe.
Also ich habe bemerkt das es so nicht gehen kann, da jeder Monat unter 13 liegt und somit die Simulation bei jedem Durchlauf startet, da muss ich mir was anderes überlegen.
TageImMonat[]={31,28,31,30,...} //damit immer sicher ist, dass das Gewitter ausgelöst wird und nicht im Februar der 31. gewürfelt wird und dann erst im März das Unwetter kommt
if (gewitterflag == 0){ //ist schon ein Tag festgelegt?
if ((datum[4]==1)&& (datum[3]==0)&&(datum[2]==0)){ //Monatsanfang wird gewürfelt
gewittertag=random(1,TageImMonat[datum[5]]+1); //Wir suchen uns einen Tag
gewitterstunde=random(0,25); //und eine Stunde
gewitterflag=1; //und sagen, dass wir gewürfelt haben.
}
}
if ((datum[4]==gewittertag)&&(datum[3]==gewitterstunde)){
lass_regnen();
gewitterflag=0; //Gewitter vorbei, warte bis nächsten Monatsanfang
}
Im Fall, dass der 1. gewürfelt wird und Stunde 0, wird, wenn das Gewitter kürzer als eine Minute dauert nochmal gewürfelt, ansonsten sollte es nur einmal im Monat ausgelöst werden.
Eisebaer, Das mit dem Zuschauen ist mir nicht so wichtig, ich habe das schon so Oft gesehen. Mir geht es im Grunde darum , das Möglich zu machen. Wenn meine Gäste das sehen wollen und es wird Nacht darüber dann müssen Sie bleiben, ich feiere gerne......
Ich hatte es jetzt so gelöst, das geht auch nur dann hat man immer an den 4 Tagen um die gleiche zeit das gewitter.
z.B. if ((tage == 7) or (tage == 14) or (tage == 21) or (tage == 28) and (stunden == 0) and (minuten == 15))
datum[4] , datum[5] und datum[6] wird von tage, stunden und Minuten übernommen, aber der Code von
Smada gefällt mir besser