Entwickler-Ecke

Sonstiges (Delphi) - 2 KIs spielen lassen. Nicht nur eine.


20:30 - Do 10.01.13 20:26
Titel: 2 KIs spielen lassen. Nicht nur eine.
So, ich habe ein kleines Spielchen entwickelt, nur möchte ich, dass man auswählen kann, ob Spieler 1 und 2 KIs sind, oder menschliche Spieler.

Die KI habe ich bereits fertig. Wenn der erste Spieler seinen Zug gemacht hat (OnClick) wird eine Prozedure des Gegner aufgerufen. Nur weiß ich nicht, wie ich es mache, wenn ich mal 2 KIs optional gegeneinander Spielen lassen will.


Mathematiker - Do 10.01.13 20:43

Hallo,
user profile icon20:30 hat folgendes geschrieben Zum zitierten Posting springen:
Nur weiß ich nicht, wie ich es mache, wenn ich mal 2 KIs optional gegeneinander Spielen lassen will.

Entschuldige, aber ich weiß nicht, was Du meinst oder anders gesagt: Wo ist das Problem? :nixweiss:
Deiner sogenannten KI wirst Du ja wohl mitteilen, ob sie für Spieler 1 oder 2 denken soll. Und hat die Routine für einen Spieler "entschieden", dann wird sie für den anderen Spieler aufgerufen, usw...

Für eine genauere Aussage wären aber weitere Informationen von Dir dringend notwendig.

Beste Grüße
Mathematiker


20:30 - Do 10.01.13 21:13

Nö, habe ich nicht... Glaube ich mal... :D

Ich kürze den Quellcode mal ab:





Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Button...Click(....)
...
begin
...
ErsterSpieler = not ErsterSpieler;
if ErsterSpieler = false then
 Gegnerzug();
end;

procedure Gegnerzug();
begin
 ...
 Button..Click(....);
end;


thepaine91 - Fr 11.01.13 09:46

Das Spiel wird ja sicher über einen Button o.ä. gestartet, dort solltest du problemlos beide Fälle lösen können.

Die if Abfrage noch zu if (not ErsterSpieler) then ... ändern (Klammern sind natürlich optional)


Jann1k - Fr 11.01.13 11:49

Du hast den Quellcode etwas zu stark gekürzt, wichtig wäre die Methode Gegnerzug ist dort einstellbar, für welchen Spieler die KI denkt oder ist das fix? Wichtig wäre auch zu wissen, um was für ein Spiel es sich handelt, ist es wie Mühle oder 4Gewinnt, wo beide Spieler dieselben Rollen einnehmen oder gibt es verschiedene Aufgaben (zB Torschütze und Torwart).