Thread - Prozess Steuerung
-
Ich hab ein kleines Problem. Hab eine Art Spiel Programmiert welches zu zweit spielbar ist. Und nun will ich das so machen das die beiden eingaben der Spieler eins und des Spielers zwei "parralel" nebeneinander ablaufen.
Könnt ihr mir mal ein Beispiel zeigen wo man zwei Prozesse laufen hat, muss ja nicht viel passieren halt nur die Steuerung.
THX!
-
rollerfreak2 schrieb:
Könnt ihr mir mal ein Beispiel zeigen wo man zwei Prozesse laufen hat...
drei prozesse mischen wörter
#include <stdio.h> struct process_t { char *txt; }; void process (struct process_t *p) { if (*p->txt) putchar (*p->txt++); } void main () { struct process_t p[3] = {"hello", "world", "nanu?"}; for (;;) { process (p); process (p+1); process (p+2); } }
-
Hab ich das vielleicht nicht richtig beschrieben.
Kleines Beispiel.Prozess 1 soll Sleep(1000) machen, aber während dessen soll Prozess 2 immer arbeiten, Beispielsweise zahlen ausgeben etc.
Wie realisiere ich das?
-
Also ich habe dein Problem nicht wirklich verstanden. Aber warum fragst du in Ansi C nach? Also weis nicht anscheinend programierst du unter Windows wenn du von Sleep() redest. Dann guck dir mal Threads an (Forensuche, gibt es in WinApi ein Top Bsp. von CodeFinder glaub ich) Aber vielleicht reicht dir ja auch ein Timer?
MfG schirrmie
-
Ich erklär mal lieber mein ganzes Problem, dann ist es vielleicht ersichtlich! Also hab ein spiel progr. welches zu zweit spielbar ist! Der eine steuert mich w,a,s,d, und der zweite mit den Pfeiltasten. So nun funzt meine Steuerung so das ich guck ob was im Tastaturbuffer drin ist! und dann mach ich auswertung. Und jetzt will ich einfach das dass nicht ein Prozess ist der hintereinander abläuft sondern zwei prozesse die nebeneinander ablaufen....!
-
Nutze Threads
-
Und auf welchem System soll das dann laufen?
-
Shared Memory wäre eine Möglichkeit.
Schlag mal unter "CreateFileMapping" nach.Der Prozess reagiert z.B. darauf ob das ShMem schon alloziert ist und schafft dann eine Sitzung für Spieler2; sonst alloziert er's und schafft eine Sitzung für Spieler1.
Die Sitzungen kommunizieren dann über das Shared Memory.Grüsse
*this
-
Gibts das nich nur für Unix?