Ergebnis 1 bis 5 von 5

Thema: Hühnerjagd

  1. #1
    Moderator
    Registriert seit
    Aug 2004
    Beiträge
    1.310
    Renommee
    1286

    Hühnerjagd

    Auch wenn es kein Contest ist.

    Hühnerjagd ist ein Übungsprogramm (es läuft auf einem Windows-Rechner/VM) .
    Das Szenario ist einfach. Ungefähr in der Mitte des 78 x 38 Feldern großen
    Spielfelds steht ein Huhn (erkennbar durch den Buchstaben 'C'), in den Ecken
    stehen die Hühner-Jäger 1-4. Ziel ist es das Huhn zu fangen.
    Wenn das Programm gestartet wird, öffnet es Port 49152 und wartet auf eine
    Verbindung. Sobald sich ein Teilnehmer vebindet erhält er die Positionen der
    Figuren auf dem Spielfeld in folgendem Format.
    Code:
        [ Creature-ID 32-bit ][ x-Position 32-bit ][ y-Position 32-bit ]
    Das erste Element ist immer das Huhn und dann die Jäger. Als Zeichen,
    dass die Liste zu Ende ist folgt eine Nachricht mit der Creature-ID 0xFFFFFFFF.

    Auf einen Status erwartet das Programm neue Züge für die Jäger. Ein Zug besteht
    ebenfalls aus 3 32-bit Werten.
    Code:
        [ Creature-ID 32-bit ][ x-OFFSET 32-bit ][ y-OFFSET 32-bit ]
    Die Offsets sind ganzzahlige Werte zwischen -1 und 1. Es können beliebig viele
    Nachrichten an den Server geschickt werden, es zählt immer die letzte Nachricht
    die zu einer Creature-ID eingegangen ist. Das Ausführen der gesendeten Züge
    erreicht man indem eine Nachricht mit der Creature-ID 0xFFFFFFFF geschickt wird.
    Ist für eine Figur kein Zug abgegeben worden so wird der Zug der vorherigen
    Runde noch einmal ausgeführt.

    Zum Verhalten des Huhns:
    Das Huhn versucht die größt mögliche Distanz zwischen sich und die Jäger
    zu bringen. Es bleibt nie stehen. Eine Einschränkung ist, dass das Huhn
    zusätzlich eine Gewichtung in Richtung Zentrum hat, so dass es unter Umständen
    nicht Versucht den Abstand zu vergrößern sondern statt dessen ein etwas
    "schlechteren" Zug macht der es aber näher zum Zentrum bringt.

    ACHTUNG!
    Alle Werte werden in Network-Byte-Order verschickt und auch in Network-Byte-
    Order erwartet.

    Übrigens wenn das Huhn gefangen wurde, wird die Anzahl der benötigten Züge ausgegeben.

    Viel Spass
    nait
    Angehängte Dateien Angehängte Dateien

  2. #2
    Moderator
    Nothing is unbreakable!

    Registriert seit
    Jul 2003
    Beiträge
    622
    Renommee
    819

    Re: Hühnerjagd

    Woohoo ich hab es geschafft das Programm unter Linux zu compilieren. Zumindest der wesentliche Teil. Eine Konsolen Ausgabe gibt es noch nicht. Kommt aber bald, weil ich will es ja auch endlich mal spielen

  3. #3
    Trial Member
    Registriert seit
    Apr 2007
    Beiträge
    2
    Renommee
    10

    Re: Hühnerjagd

    Wenn ich eine Verbindung aufbaue und weiter noch nichts mache, erscheint im Programm die Meldung "connection terminated".
    Was kann ich denn bereits falsch machen? Kurz nach dem Verbindungsaufbau sagt der Socket, er sei verbunden, danach beendet sich das ChickenChase mit obiger Meldung.

  4. #4
    Moderator
    Registriert seit
    Aug 2004
    Beiträge
    1.310
    Renommee
    1286

    Re: Hühnerjagd

    Bist du sicher, dass die Verbindung auch erhalten bleibt? Die Meldung tritt auf wenn beim empfangen der Nachricht (auf Serverseite) ein Fehler auftritt.
    Kannst du vielleicht die Sourcen posten?

  5. #5
    Trial Member
    Registriert seit
    Apr 2007
    Beiträge
    2
    Renommee
    10

    Re: Hühnerjagd

    Code:
    Socket s = new Socket("localhost", 49152);
    Noch nicht wirklich was, aber immerhin reicht's schon um einen Fehler zu verursachen. Was ich noch herausgefunden habe ist, dass der lokale Port (.localPort()) des Sockets 1236 ist, und der Port sonst (.port()) 49152 ist.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •