Also ich hab' schon einige KI's programmiert (die meisten nur halb).
Dabei bin ich immer folgendermaßen vorgegengen: Festlegen welche Möglichkeiten es gibt, Festlegen nach welchen Kriterien eine dieser Möglichkeiten ausgewählt wird. Aber soweit kann ja jeder denken.
Hier noch ein Pacman-Beispiel:
Möglichkeiten: jede Figur im Pacman-Spiel hat nur 4 Richtungen, in die es von der eigenen Position aus laufen kann.
mögliche Kriterien:
Delphi-Quellcode:
var dx,dy:integer;
begin
dx:=Spieler.X-Gegner.X;
dy:=Spieler.Y-Gegner.Y;
if Abs(dx)>Abs(dy) then
begin
if dx<0 then Gegner.X:=Gegner.X-1 else Gegner.X:=Gegner.X+1;
end
else
begin
if dy<0 then Gegner.Y:=Gegner.Y-1 else Gegner.Y:=Gegner.Y+1;
end;
{ usw. }
end;
Hier würde der Gegner dem Spieler durch jede Wand folgen, aber dies ist nicht mein Problem.
Hab' noch ein Beispiel einer KI in einem Spiel von mir, Magnetic (das Spiel kennen wahrscheinlich nur ehemaligen Commodore 64-Nutzer), mitdazugepackt.
Lag bei mir aber schon einige Semester lang brach.