AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie entwickle ich einen performanten Othello Zuggenerator?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie entwickle ich einen performanten Othello Zuggenerator?

Ein Thema von beule · begonnen am 1. Sep 2008 · letzter Beitrag vom 9. Sep 2008
 
beule

Registriert seit: 28. Mai 2006
Ort: Hamburg
10 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Wie entwickle ich einen performanten Othello Zuggenerato

  Alt 9. Sep 2008, 19:18
Hallo Medium,

genau, die Spielbaumsuche, sowie die Bewertungsfunktion stehen noch aus.

In den Zuggenerator geht eine aktuelle Spielsituation und der Zuggenerator liefert mir ein Array von daraus resultierenden Zügen.

Zum Beispiel geht folgende Brettposition in den Zuggenerator:

00000000
00000000
00000000
00SWWZ00
00WWW000
00W0Z000
00S00000
00000000

unten links ist A1 und oben rechts H8. Es gibt 2 schwarze Steine (c2, c5) und 6 weisse Steine. Annahme schwarz ist am Zug, dann sind Z (e3,f5) die möglichen Züge.
Schwarz legt z.B. einen Stein auf e3 und dreht den weissen Stein auf d4 um oder legt einen auf f5 und dreht e5+d5 um.

Eine Brettsituation stelle ich in einem struct mit 2 OWORD's da. Eines für Weiss, das andere für Schwarz. Da wo ein Feld besetzt ist, wird eine 1 eingetragen.

Das QWORD für Schwarz besteht bis auf die BitPositionen 11 und 35 nur aus 0-en.

Der Zuggenerator liefert mir eine Array mit 2 structs zurück, also 2 möglich Züge aus der Sicht von Schwarz!

Mit meinem obigen Ansatz habe ich sehr schnell die Z-Felder gefunden. Also ich habe ein QWORD das überall 0-en hat bis auf die Bitpositionen 21 und 38. Ich weiss schonmal genau wo ich einen Stein hinsetzen muss, aber jetzt muss ich mich trotzdem von bit 1 bis 64 durchhangeln um diese Positionen (21+38 ) zu finden und habe ich dann eine gefunden, dann muss ich noch alle Richtungen (8 Stück) abklappern um die angrenzenden Weissen Steine zu finden und irgendwie finde ich das nicht effizient!!!

Ich muss wohl erstmal ein wenig grübeln
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz