Die KI funktioniert doch Sie ist halt nicht so gut wie erfahrene menschliche Spieler. Klar versteh ich den Code, aber um die Entscheidungswege nachzuvollziehen, müsste ich das auch erstmal in eine andere Form bringen.
Die untere Methode auf ihren funktionalen Inhalt reduziert:
PHP-Code:
int <- das Ergebnis ist eine Zahl
CvPlayerAI:: <- Teil der Klasse CvPlayerAI
AI_getPlotDanger <- Funktionsname
Für jeden Plot in einem Umkreis von 2 Feldern um das Stadtfeld (5x5-Quadrat)
Wenn das Feld auf der gleichen Landmasse liegt
Zähle die Schritte vom Stadtfeld zum Plot
Wenn wir mit dem Besitzer im Krieg sind und das Feld direkt neben unser Stadt liegt, oder 2 Felder weg und bestraßt ist, erhöhe den Grenzgefahrwert um 1
Für alle Einheiten auf dem Plot, erhöhe den Ergebniszähler um 1, wenn die Einheit einem feindlichen Team angehört, attackieren kann, nicht unsichtbar ist und den Stadtplot erreichen kann.
Der Grenzgefahrwert wird bei Städten verworfen. Auf anderen Plots erhöht er den Ergebniszähler.
Bei anderen Aufrufen dieser Funktion muss die Einheit zusätzlich noch in Reichweite des überprüften Feldes stehen, was sich aus ihren Grund-BP + 1 für vorhandene Straßenverbindung ergibt. Hier ergibt sich ein Punkt um die KI zu verbessern: bei der Straße wird nicht berücksichtigt, dass Maschinenbau die Beweglichkeit erhöht und Eisenbahn noch mehr. Keine Ahnung, ob das anderswo berücksichtigt wird.