Kann nicht richtig schlafen!
Übersicht

![]() |
IronstormErstklassiger Contest-VeranstalterBetreff: Kann nicht richtig schlafen! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi @ all!
Ich habe bei meinem Spiel ein Bett gemacht und wenn man auf das Bett klickt soll man 8 Stunden schlafen. Aber der rechnet des net richtig. Er schaltet automatisch auf 0:00. Hier ist mein code: Code: [AUSKLAPPEN] ... If zeit = 16 then zeit=0 tag=tag +1 endif if zeit > 16 then zeit=zeit+8 zeit=zeit -24 tag=tag+1 endif ... Zwar kann ich da nichts rausfinden aber eigentlich müsste das mit der Zeit funktionieren. Wenn man über 16 Uhr ist z. b. 17 Uhr dann müsste er 8 Stunden dazu rechnen, das wäre dann 25 Uhr. Dann rechnet er gleich 25 - 24, das wäre dann 1:00 Uhr. Oder? Also ich weiß net aber des will net so funktionieren. THX |
||
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium |
SteffenBetreff: Re: Kann nicht richtig schlafen! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] ... zeit=zeit+8 if zeit >= 24 then zeit=zeit -24 tag=tag+1 endif ... |
||
>PC: Pentium III 750MHz, ATI Rage 128 mit 32Mb, Windows Me, Blitz3D 1.87
>Laptop: Pentium M 1,4GHz, 512 Mb DDR, ATI Mobility Radeon 9000 mit 64Mb DDR, Windows XP Home, Blitz3D 1.87 |
![]() |
Egon Dragon |
![]() Antworten mit Zitat ![]() |
---|---|---|
Versuchs doch so:
Code: [AUSKLAPPEN] For i=0 to 8 Zeit=Zeit+1 If Zeit>24 Zeit=0 Tag=Tag+1 Endif next |
||
Steffen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
egon hat Folgendes geschrieben: Versuchs doch so:
Code: [AUSKLAPPEN] For i=0 to 8 Zeit=Zeit+1 If Zeit>24 Zeit=0 Tag=Tag+1 Endif next Und dann wundern, dass es langsam läuft. Außerdem stimmt es nichtmal. Die Zeit wird auf 0 gesetzt, wenn 25 Uhr ist, also 1, d.h. die Zeit zwischen 0 und 1 Uhr wird doppelt gezählt, dein Tag hat also 25 Stunden. |
||
>PC: Pentium III 750MHz, ATI Rage 128 mit 32Mb, Windows Me, Blitz3D 1.87
>Laptop: Pentium M 1,4GHz, 512 Mb DDR, ATI Mobility Radeon 9000 mit 64Mb DDR, Windows XP Home, Blitz3D 1.87 |
walskiEhemaliger Admin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du einfach einen "ewigen Stundenzähler" hernimmst, also einfach eine Variable immer um 1 inkrementierst ohne jemals wieder etwas von ihr abzuziehen sollte du hiermit:
Code: [AUSKLAPPEN] tag = ( ( zeit - (zeit Mod 24) ) / 24 ) + 1 stunde = zeit Mod 24 den aktuellen Tag bzw die aktuelle Stunde errechen können. Vorteil: du kannst einfach: Code: [AUSKLAPPEN] stundeVorDemSchlafen = ewigerStundenZaehler While stundeVorDemSchlafen + 8 > ewigerStundenZaehler ewigerStundenZaehler = ewigerStundenZaehler + 1 Wend machen... aber naja, da gibts wohl tausend und eine Möglichkeit das zu lösen, diese hier hätte eben nur wirklich den Vorteil direkt miteinander vergleichbarer "Timestamps" jedenfalls solange sich die vergangenen Stunden nicht über den Integer-Raum hinaus bewegen. walski |
||
buh! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group