Einfaches Schachprogramm - Designproblem (Beziehung Figuren <-> Brett)



  • Dieses Wissen und die dazugehörigen Daten kann man dann aber bequem in der Klasse KiSpieler unterbringen.



  • Da sehe ich keinen Vorteil. Insbesondere da man ja noch mehr
    Informationen auf das Spielfeld legen kann, z.B. 'Visible' bei
    12x12 - Brettern. Das aufteilen des Bretts in viele 12x12 (oder 8x8)
    Arrays macht meiner Meinung nach keinen Sinn und verwirrt nur.

    Jockel



  • Jockelx schrieb:

    Da sehe ich keinen Vorteil. Insbesondere da man ja noch mehr
    Informationen auf das Spielfeld legen kann, z.B. 'Visible' bei
    12x12 - Brettern. Das aufteilen des Bretts in viele 12x12 (oder 8x8)
    Arrays macht meiner Meinung nach keinen Sinn und verwirrt nur.
    Jockel

    wer spricht von vielen arrays?



  • volkard schrieb:

    wer spricht von vielen arrays?

    Ein Volkard und ein Jester 😉

    Vielleicht hab ich euch auch missverstanden, aber dein Vorschlag
    war doch ein enum-Array mit enum {BAUER, TURM,..} oder sowas zu
    nehmen. Meiner Ansicht nach gehören aber in ein Schachfeld
    mehrere Informationen, weshalb eine Feldklasse vorteilhaft ist.

    Jockel



  • Jo, genau ein Array sollte es geben mit 12x12 Größe. Und da sollte drinstehen können was auf dem Feld ist (Bauer, Läufer, etc. oder auch Leer/blockiert), also ein enum.

    Welche Informationen möchtest Du denn noch im Feld unterbringen?



  • Wie gesagt, beispielsweise wie 'wertvoll' die Position ist.



  • Jockelx schrieb:

    Wie gesagt, beispielsweise wie 'wertvoll' die Position ist.

    Er will ja keine KI schreiben, hier ist nur relevant, welche Figur sich wo befindet.



  • Jockelx schrieb:

    Wie gesagt, beispielsweise wie 'wertvoll' die Position ist.

    Das ist ne KI-Sache. Ein TryToControlCenterAiPlayer kann andere Prioritäten setzen, als ein AttackFromSidesAiPlayer oder ein menschlicher Spieler. Und dem Feld geht das schon gleich gar nichts an, wie irgendein Spieler irgendwas bewertet, IMHO.



  • Langsam komme ich mir veräppelt vor!

    Ja, natürlich ist das eine KI-Sache, hab ich ja auch gesagt, dass
    eine spätere Änderung auf KI dann umständlich wäre.
    Bei der Schachprogrammierung hat jedes Feld im Mittelspiel eine
    (zunächst) konstante Wertigkeit, d.h. dass nicht nur wieviel schlage ich/
    wieviel verliere ich, sondern auch wo stehe ich anschliessend bewertet
    wird. Daher brauch man ein 8x8-int-Array, wo die Wertigkeiten drinstehen
    und das wären dann schonmal 2 Arrays. Wenn ich noch etwas überlege,
    fallen mir sicher noch weitere ein.

    Jockel



  • Jo, diese Wertigkeit gehört aber vom Konzept her trotzdem in die KI und nicht in das Spielfeld.


Anmelden zum Antworten