gibt es da eine möglichkeit
-
also ich will n spiel schreiben, da bekommt man auch ressourcen, aber diese sollen erst nach einem bestimmten zeitpunkt eingehen, wobei man aber ganz normal das programm weiternutzen und ím hintergrund bekommt man dann diese ressourcen, z.B.
cout << "du bekommst in 10 sekunden 100 geld!\n";
//und hier sollen 12 sekunden gewartet werden, aber -->
a = a + 12;
/* <-- es soll hier trodzdem weiterlaufen, dass diese 12 sekunden im hintergrund laufen...*/
danke, julian
-
Thread oder Timer
-
Mit den boost threads sähe das dann ungefähr so aus:
#include <iostream> #include <boost/thread/thread.hpp> #include <boost/bind.hpp> #include <windows.h> using namespace std; struct Widget { ~Widget() { std::cout << "Klappt!"; } }; void gzwoelf(int *Geld) { while(true) { Sleep(1000); // Wartet eine Sekunde. Für 12 Sekunden einfach 12000 nehmen *Geld += 12; } } int main() { int Geld = 0; boost::thread geld(boost::bind(gzwoelf,&Geld)); cin.get(); // Der sontige Programm Code cout << Geld; // warte einfach mal ne Minute und drücke dann enter. Hier siehst du dann, dass es klappt cin.get(); return 0; }mfg.
-
danke, aber leider zeigt er in zeile 29
boost::thread geld(boost::bind(gzwoelf,&Geld));
einen fehler: boost has not been declared
thread undeclaredjulian
-
Boost ist eine Bibliothek, die musst du dir erst downloaden?
@joomoo: ist das in boost automatisch Threadsafe wenn du Variablen veränderts???
-
Pellaeon schrieb:
Boost ist eine Bibliothek, die musst du dir erst downloaden?
@joomoo: ist das in boost automatisch Threadsafe wenn du Variablen veränderts???
keine Ahnung, versteh nicht sehr viel von Threadsicherheit. Du meinst wahrscheinlich, was wäre wenn vom Thread weg gesprungen wird, wärend er erst die eine Hälfte der Variable geändert hat, oder?
mfg.
edit: @big juli: Hast du Skype? Weil das installieren, der Boost Bibliothek ist nicht so einfach. (find ich)
-
ja ich hab skype, "TheChillerKiller"
gruß
-
mit a=a+12 kommst du nicht weiter. nimm lieber fgoham(); damit kannst du dich ganz leicht in dieses Ressourzen scheiß einheygen.
-
Klopskind schrieb:
mit a=a+12 kommst du nicht weiter. nimm lieber fgoham(); damit kannst du dich ganz leicht in dieses Ressourzen scheiß einheygen.
Was bitte? Versteh ich nicht was du meinst.
mfg.