Professor Dr. F. Schweiggert Abteilung Angewandte
Informationsverarbeitung
Mario Jeckle und Ingo MelzerBlatt 6
Systemnahe Software (SS 2000)
Abgabetermin 11. Juli 2000
Schreiben Sie einen Mastermindserver in C. Dieser sollte auf einem von
Ihnen gewählten Port zwischen 10000 und 60000 lauschen und auf Anfragen
warten. Bei einer Anfrage soll mit fork
ein Kindprozeß erzeugt werden,
der das Spiel durchführt. Der eigentliche Server sollte sofort wieder in
der Lage sein, neue Spieler zu beschäftigen. Als Basis kann der
Echo-Server aus dem Skript verwendet werden. Als Klienten können Sie
Telnet verwenden (Aufruf: telnet hostname port
).
Bei jedem Rateversuch wird eine Folge von 4 Ziffern von eins bis sechs
eingegeben, wobei diese Ziffern paarweise verschieden sein müssen.
Der Server bestimmt die Anzahl der Ziffern, die richtig geraten wurden
und an der richtigen Stelle stehen (schwarze Punkte), sowie die richtigen
Ziffern, die an der falschen Stelle stehen (weiße Punkte).
Ein Beispiel:
turing$ telnet turing 5500 #(your input)
Trying 134.60.166.1...
Connected to turing.
Escape character is '^]'.
1234 #(your input)
Your guess: 1 black and 2 white.
1433 #(your input)
Digits must be unique
11111 #(your input)
Bad input
1345 #(your input)
Your guess: 0 black and 3 white.
2153 #(your input)
Your guess: 1 black and 3 white.
2531 #(your input)
Your guess: 4 black and 0 white.
quit #(your input)
Connection closed by foreign host.
turing$
Mario Jeckle
2000-07-11