WinFuture-Forum.de: Programmierproblem In C/c++ - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Programmierproblem In C/c++ 2. prozess starten der ersten "füttert"


#1 Mitglied ist offline   tosto 

  • Gruppe: aktive Mitglieder
  • Beiträge: 432
  • Beigetreten: 08. Januar 04
  • Reputation: 0

geschrieben 19. August 2005 - 19:33

hi
aus langeweile bin ich gerade dabei einen pong ableger zu programmieren.
das ganze steht auch schon recht gut, einziges problem: bewegungen vom ball und computer sind nur möglich wenn der spieler sich bewegt.
knackpunkt ist hier das einlesen der spieler bewegungen.
ich benutze heirfür den befehl getch().
in meinem programm ablauf kommt nach dem einlesen dann die weitere verarbeitung.
egal wie, ich finde keinen weg diese sperre zu umgehen; wird keine taste betätigt stockt das ganze und wartet solange.

jetzt meine frage: gibt es eine möglichkeit eine art 2. programm zu starten das wartet bis eine tastatur eingabe erfolgt, das zeichen dann dem hauptprogramm übergibt damit es dort weiterverarbeitet werden kann?
also so, dass das hauptprogramm weiterlaufen kann ohne das dauerhaft tastatur eingaben erfolgen müssen?

möglichkeiten in c und c++ sind ok. alles andere sollte sich in etwa auf die beiden sprachen abwandeln lassen.

für jegliche hilfe bin ich sehr dankbar.

ciao
0

Anzeige



#2 Mitglied ist offline   tosto 

  • Gruppe: aktive Mitglieder
  • Beiträge: 432
  • Beigetreten: 08. Januar 04
  • Reputation: 0

geschrieben 20. August 2005 - 18:40

hab das problem auf andere weise gelöst.
bin aber auf was gestoßen das wahrscheinlich in die richtung geht was ich wollte.
mit einem befehl spwan() aus der bibliothek processes.h soll das möglich sein.
kann man das hier verifizieren oder vll sogar jemand mal code posten der das schön darlegt und erklärt?
rein interessehalber von meiner seite her.

ciao
0

#3 Mitglied ist offline   [U]nixchecker 

  • Gruppe: aktive Mitglieder
  • Beiträge: 347
  • Beigetreten: 17. Mai 05
  • Reputation: 0
  • Wohnort:Bayern
  • Interessen:Informatik, Linux, Rollerbladen, Bodybuilding, GungFu

geschrieben 26. August 2005 - 23:49

Spwan ist dafür ungeeignet


Aber du kannst das ganz einfach durch Threads lösen.

Thread 1 wartet auf Usereingaben

Thread 2 ist dein Programmcode der das Spiel steuert

Beide laufen unabhängig voneinander und blockieren einander deswegen auch nicht.

wenn Thread1 ne Usereingabe bekommt, dann signalisierst du Thread2, dass z.B. ne neue Eingabe erfolgt ist und der kann dann damit arbeiten oder du blockst stoppst den zweiten Thread mit Hilfe eines Mutexes oder Semaphores, der holt sich die Zeichen ab gibt den Semaphore wieder frei und es geht weiter bis zur nächsten Eingabe.

Beispiele findest du dafür massig im Netz.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0