Du bist nicht angemeldet.

Werbeanzeige

1

24.03.2011, 19:03

"Hintergrundswarten-Befehl"

Hi,
ich habe ein Problem;
Wie kann ich machen, dass das Programm eine bestimmte Zeit wartet(z.B. 10 sek) ich aber trotzdem das Programm benutzen kann.
Beispiel:
Ein Konsolenspiel:
Man kann Flaschen sammeln. Nun soll man z.B. 20 sek keine Flaschen mehr sammeln können und die Flaschen soll man auch erst nach 20 sek haben.
In den 20 sek kann man aber andere Sachen machen z.B. Haus suchen oder ähnliches.
Das Beispiel ist zwar ein wenig unlogisch stell aber die Problematik dar.

Also wie muss ich das machen?

2

24.03.2011, 19:07

Wenn du sowas wie eine Spielschleife (Game-Loop) verwendest, bei jedem Durchlauf die Zeit nehmen und nach vordefiniertem Interval entsprechend reagieren.
fka tm

3

24.03.2011, 19:07

Du könntest das mit Threads lösen. Google einfach mal den Begriff ;)
Metal ist keine Musik sondern eine Religion.

4

24.03.2011, 19:09

Was? Für jede Flasche die aufgenommen wird ein neuer Thread?! 8|

Also Fabian Kock hat in sofern recht, ein "Hintergrundwarten" würde man wahrscheinlich am ehesten mit Threads lösen. Das ist aber anscheinend nicht das was du willst. So wie du es beschrieben hast würde man das machen wie TrikkieMikkie das bereits erläutert hat.

Gruß
SaRu_

5

24.03.2011, 19:10

Nicht für jede Flasche ein neuer Thread^^ Sondern ich meine Ein Thread für die Funktion mit der man Flaschen sammelt^^
Metal ist keine Musik sondern eine Religion.

Fred

Supermoderator

Beiträge: 2 130

Beruf: Softwareentwickler

  • Private Nachricht senden

6

24.03.2011, 19:55

Also Threads für dieses Vorhaben ist doch der absolute Overkill.
Einfach, wie TrikkieMikkie schon sagte, bei jedem Durchlauf die Zeit stoppen und schauen, wie lange dafür gebraucht wurde. Dann eine Variable als "Stoppuhr" anlegen, zu der man dann bei jedem Durchlauf diese Zeit hinzuzählt und so kann man dann bspw. verwirklichen, dass nur, wenn diese Variable eine bestimmte Größe erreicht hat, etwas geschehen oder nicht geschehen darf.

Nox

Supermoderator

Beiträge: 5 271

Beruf: Student

  • Private Nachricht senden

7

24.03.2011, 20:44

Oder einfach der Aktion ein "started" timestamp verpassen und dann "current_time - started > time_to_wait" nutzen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

BlueCobold

Community-Fossil

Beiträge: 10 874

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

24.03.2011, 22:49

Nox, danke. Ich wollte es nicht schon wieder sagen, weil ich's letzte Mal dafür auf die Mappe bekommen habe. Iterative Systeme sind eben beliebter hier ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige