2016-06-12 4 views
0

Ich möchte ein kleines Spiel entwickeln.
Und dafür möchte ich zwei Fenster verbinden.Wie kann ich zwei cmd Windows verbinden? [Batch-Dateien]

Zum Beispiel: Ich mache etwas im ersten Fenster und das zweite Fenster wartet auf einen bestimmten Befehl.
Wenn ich diesen Befehl schreibe, löst der Befehl eine Aktion in Fenster 2 aus. Aber ich weiß nicht, wie ich das mache.

Antwort

0

ist ein Verzeichnis Lassen Sie haben

root/ 
    game1.bat 
    game2.bat 
    1 

Sie können versuchen, eine Datei zu verwenden, die einen bestimmten Namen für jedes Ihrer Fenster haben, und Sie werden den Namen der Datei zu überprüfen. Wenn der Name nicht von einem Fenster benötigt wird, verwenden Sie eine Endlosschleife, die nach diesem Namen sucht, während Ihr Benutzer nur "Warten auf Ihren Zug" oder etwas Ähnliches sieht.

Bei der ersten Ausführung der Datei eine Kennung für jedes Fenster (manuell, verwenden Sie zwei Dateien) wie 1 und 2. Wenn player1 am Zug ist, wird Ihre Datei den Namen 1 haben und player2 wird eine Endlosschleife haben, die nach dem Namen dieser Datei sucht, mit einem Text, der für player2 sichtbar ist, während er wartet.

Nachdem player1 seinen Zug beendet hat, wird er die Datei in 2 umbenennen und die Phase beginnen, in der er auf eine Runde warten und den Namen der Datei aus einer Schleife prüfen wird.

Beispiel:

set ID = 1 or set ID = 2 
if exist 1 (
    if %ID%==1 (
     rem player1 is playing 
    ) 
) else (
    if %ID%==2 (
     rem player1 waits, player2 is playing 
    ) 
) 
1

wenn es nur ist „für einen bestimmten Befehl warten“, die selten bekannt Befehl waitfor helfen könnte. Es funktioniert nicht nur auf demselben Computer, sondern auch im gesamten Netzwerk (beide Computer müssen sich im selben Netzwerk befinden, funktioniert also nicht über das Internet).

In einem Fenster (Batchfile) warten Sie mit waitfor MySignal auf ein bestimmtes Signal. Die Batchdatei wird dann angehalten, bis sie das genaue Signal empfängt. Im anderen Fenster können Sie dieses Signal mit waitfor /SI MySignal senden.

Der Name für das Signal kann eine beliebige Zeichenfolge sein.
Es gibt weitere Optionen, siehe waitfor /?

Verwandte Themen