Vor ein paar Jahren hatte ich die Idee für ein Spiel. Dieses Spiel hab ich sogar umgesetzt, allerdings nur als Brettspiel. Dieses Spiel hat sogar einige Fans in meinem Bekanntenkreis. Nun wurde ich gefragt, weil ich nun programmieren kann, wieso ich das Spiel nicht für den Computer umsätze.
Das Spielfeld besteht aus eine bestimmten Anzahl Hexfelder. Hier das Brett
Bild
Ich könnte mir vorstellen, daß die Brettgröße bei der Computerversion variabel sein könnte.
Wie man sieht ist die Anzahl der wagerechten Felder nicht gleich. Oben und unten sind es wenige, zu mitte hin sind es mehr. Jetzt überlege ich wie ich die Felder ansprechen kann. Es geht hier um die KI. Wenn ich eine Computervariante des Spiels mache, dann wird man auch gegen den Computer spielen wollen. Wenn ich als in irgendeinem Feld bin, so muß ich wissen was um mich herum los ist. Bei einem Schachbrett habe ich mein zweidimensionales Aray mit Feldern von 1 bis 8 und A bis H. Nun überlege ich wie ich es bei meinem Spiel machen soll. Wie schon gesagt ist die Anzahl der Felder pro Reihe nicht gleich, so daß ich sie nicht zweidimensional zuordnen kann. Nur wie kann man ein Brettspiel in Hexfeldform umsätzen.
Das einzige was mir bisher einfällt ist ein einfaches eindimensionales Array Record. Jedes Feld hat seine Nummer und sechs weitere Variablen, in denen die Nummern der Nachbarfelder gespeichert ist. Das Feld 24 weiß z.B., daß sein Nachbar oben (Nord) das Feld 15 ist. Sonst weiß daß Feld nicht wo es sich innerhalb des Brettes befindet. Die KI würde also nicht die Position der Steine auf dem Brett analysieren, da es nicht wüßte in welcher Anordnung zueinander die Steine liegen, sondern würde die Steine in alle sechs Richtungen ziehen lassen (das ganze mal alle Steine) und würde den besten Zug nehmen.
Das ist das einzige was mir bisher eingefallen ist. Kein zweidimensionales Array, wo ich die Position der Steine zueinander analysieren kann, sondern ein eindimensionales Array, wo ich Probezüge mache.
Bevor ich aber loslege, will ich mich noch über andere Möglichkeiten informieren. Wer kennt sich mit der Art der Spiele aus und weiß wie sonst die bei dieser Art der Spiele verfahren wird?
Hinweis:
Diese Frage, vorausgesetzt ich kriege keine Antworten, will ich nach und nach auch in anderen Foren stellen.