Hive inc.
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.
Hive inc.

Unser Forum zur Gestaltung des Projektes


Sie sind nicht verbunden. Loggen Sie sich ein oder registrieren Sie sich

SimpleAI

4 verfasser

Nach unten  Nachricht [Seite 1 von 1]

1SimpleAI    Empty SimpleAI Do Jun 13, 2013 5:49 am

Fenzki



So, die SimpleAi-Klasse ist soweit erstmal fertig und sollte auch funktionieren. Allerdings ist immer noch der Fehler mit den moveAI,... Methoden, da sie noch nicht implementiert sind.
Außerdem fehlt noch ein kleiner Teil der Bewertung, nämlich der, wenn die Königin bedeckt ist. Gibt es dann eine Möglichkeit festzustellen, dass unten eine Königin liegt?

2SimpleAI    Empty Re: SimpleAI Do Jun 13, 2013 8:13 am

kaiheller



So schlimm ist das nicht, die KI wird in unserer Abgabe selbst über einen Server spielen.

Sowie ich das verstanden habe werden wir dann unser Programm als Jar ablegen und dann über übergebene Parameter mit einem Server verbinden lassen.

In der GUI müssen wir gar nicht gegen die KI spielen können. Wenn wir die Serveranbindung richtig implementiert haben (Das wird dann auch in der Klasse SimpleAI passieren) brauchen wir das moveAI sowieso in einer anderen Art und Weise.

3SimpleAI    Empty Re: SimpleAI Do Jun 13, 2013 10:56 am

MichaelR



also du meinst, du willst gucken, ob über einer Königin noch ein Spielstein ist?

Dann könntest du eigentlich get(index von der Königin) machen und schauen, ob dann bei getInsect() eine Königin kommt oder eben nicht.

Hoffe, ich habe deine Frage richtig verstanden.

4SimpleAI    Empty Re: SimpleAI Do Jun 13, 2013 7:37 pm

Fenzki



leider nicht ganz. Wie komm ich überhaupt erst an den Index der Königin. Ist der irgendwo als Variabel im Hivemodel gespeichert?

5SimpleAI    Empty Re: SimpleAI Do Jun 13, 2013 9:49 pm

MichaelR



ja, in blackQueen bzw. whiteQueen, in denen steht der Index, nicht pieceIndex.

6SimpleAI    Empty Re: SimpleAI Do Jun 13, 2013 9:50 pm

Fenzki



grandios, dann übernehm ich das gleich mal

7SimpleAI    Empty Re: SimpleAI Fr Jun 14, 2013 1:39 am

Fenzki



so, hab jetzt die Methodennamen geändert und den Fehler mit der Königin abgefangen. Einzige Frage, die ich dazu nach habe, ist, welchen Wert Turn haben muss, damit die Königin gesetzt werden muss?

8SimpleAI    Empty Re: SimpleAI Fr Jun 14, 2013 11:29 am

MichaelR



Okay, hab schon in ein andere Thema geschrieben, also die neuste Revision ist für dich zum Ausmerzen der Fehler in der SimpleAI, da spielst du einfach ein lokales Spiel, also du gegen deine SimpleAi, so wie früher mit der RandomAI.

Und zu deiner Frage, also die Königin darf nicht im ersten und zweiten Zug gesetzt werden (je nachdem, ob man weiß oder schwarz ist, ist das jeweils der erste oder zweite Zug) und muss spätestens im siebten und achten Zug gesetzt werden.

9SimpleAI    Empty Re: SimpleAI Fr Jun 14, 2013 9:42 pm

Fenzki



so, ich hab die Move-Methoden jetzt denen aus der randomAI angepasst. Müsste aber noch wissen, wie die Kommunikation mit dem Server wirklich aussieht (sprich, was schicken wir ab, was kriegen wir wo), damit man auch das HiveModel in der AI immer auf dem neusten Stand hat

10SimpleAI    Empty Re: SimpleAI Sa Jun 15, 2013 3:59 am

MichaelR



also im grunde steht das mit der Serverkommunikation schon, also wir senden über command.hiveIntroduce usw und bekommen dann in den hiveIntroducePiece methoden unsere informationen für die gemachten Spielzüge.
Ich hab das jetzt so gemacht, dass du dich jetzt nur noch darum kümmern brauchst, dass die AI funktioniert, der rest sollte da keine weiteren probleme machen. Also

Server starten
GUI starten, mit Server verbinden, und Spiel "test" erstellen
AIMain mit "-s 127.0.0.1 -p 25052 -g test -c b" starten
Spiel starten

Edit: Du kannst jetzt wahlweise ein offline oder online Spiel mit deiner AI machen, das sollte dir das Fehler beseitigen erleichtern.

11SimpleAI    Empty Re: SimpleAI Sa Jun 15, 2013 6:46 pm

Fenzki



Das mit dem Server verbindet klappt theoretisch gut, bloß wartet er bei mir permanent auf einen zweiten menschlichen Spieler...
wenn ich offline spiele nimmt er irgendeine andere KI, hab extra ein kleines System.out.println eingefügt, um ein paar Sachen zu überprüfen (in der getMoves Methode), welches nicht aufgerufen wird...
wo kann ich die KI genau ändern?

12SimpleAI    Empty Re: SimpleAI Sa Jun 15, 2013 11:53 pm

MichaelR



ist ja auch richtig so, du spielst in der GUI gegen die AI, und du kannst die AI in der AIMain, ganz unten ändern

13SimpleAI    Empty Re: SimpleAI So Jun 16, 2013 12:05 am

Fenzki



ich hab ja (lokal) die Klasse in der Methode ai in AIMain auf SimpleAi geändert, aber er ruft immer noch nicht die simple auf, bzw wenn ich in ai einen breakpoint setzte, passiert trotzdem bei einm offline Spiel nichts

14SimpleAI    Empty Re: SimpleAI So Jun 16, 2013 12:16 am

MichaelR



achso, beim offline Spiel musst du in HiveModel ganz oben gucken, aber ich glaube offline wird im Moment eh nicht funktionieren, da du immer Steine setzt und wieder rückgängig machst und das bringt die GUI durcheinander. Benutz lieber das Online Spiel zum Testen der AI

15SimpleAI    Empty Re: SimpleAI So Jun 16, 2013 12:21 am

Fenzki



dann wäre aber nochmal kurz ne Anleitung nett, wie ich das onlinespiel starte

Edit: hat sich erledigt, ich hatte vergessen den Eingabestring dem Spielnamen anzugleichen

16SimpleAI    Empty Re: SimpleAI Mo Jun 17, 2013 8:04 am

tobi



michael kannst du mal den befehl geben, wie man nun 2 KI's gegeneinader spielen lässt? so wie heute im workshop!

17SimpleAI    Empty Re: SimpleAI Mo Jun 17, 2013 8:19 am

MichaelR



ja, also:
1. Server starten
2. die erste AIMain starten mit Parametern 127.0.0.1 25052 "Testspiel 1" w
3. die zweite AIMain starten mit Paramtern 127.0.0.1 25052 "Testspiel 1" b

und dann spielen die beiden AIs gegeneinander

18SimpleAI    Empty Re: SimpleAI Mo Jun 17, 2013 8:53 am

tobi



danke Smile

19SimpleAI    Empty Re: SimpleAI Di Jun 18, 2013 8:19 am

tobi



ok Fenzki die SimpleAI bricht immer noch ab...
zum Testen für uns, damit einfacher ist folgendes:
a) jetzt jedes Spiel mit dem namen "test" (vorher "Testspiel 1")
b) SimpleAI in AIMain
c) eine jar (ServerComaKiW) in Konsole starte, die startet dann den server und ComaKi als weiß (weil stärker)
d) zum testen deiner Ki einfach 2 Kofigurationen zum ausführen anlegen (einmal die gui, einmal die AIMain mit den Programmargumenten "127.0.0.1 25052 test b") so nun gehst du wie folgt vor. Starte die Konfiguration mit gui, dann verbinde dich mit server, dann online-spiel erstellen, einfach erstellen klicken. wechsle zu eclipse und starte andere konfiguration mit AIMain. Wechsle zur gui, dort kannst du das Spiel jetzt starten)

allles verständlich?

Gesponserte Inhalte



Nach oben  Nachricht [Seite 1 von 1]

Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten