Brettspiel KI

Anfängerfragen zum Programmieren mit PureBasic.
Mike0484
Beiträge: 28
Registriert: 26.03.2005 16:10

Brettspiel KI

Beitrag von Mike0484 »

Hallo,

Ich möchte das Brettspiel "Dahme" nachmachen.
So weit ist es auch schon ganz ok. Nur, ohne Gegner ist das Spiel recht witzlos :mrgreen:
Also meine Frage: wie erstellt man eine Gegner KI, worauf sollte man dabei achten. Da ich garkeine vorstellung habe wie ich sowas angehen soll whäre ich führ hilfe sehr dankbar.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

1. Auf der Robsite gibt es Tutorials zu einer KI
2. Ich glaube bei brett spielen funktioniert eine KI folgendermassen:
-Alle züge werden ausprobiert
-Der Beste wird rausgesucht
-Wenn mehrere Züge das gleiche ergebnishaben wird ein zug zufällig rausgesucht

Bin mir nicht sicher, so würde ich es programmieren also meine erste wahl wäre auf jeden fall die Robsite.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Mike0484
Beiträge: 28
Registriert: 26.03.2005 16:10

Beitrag von Mike0484 »

hm...
das einzige das ich da gefunden habe ist in C++
das hilft mir leider nicht viel weiter, giebt es nicht was in Purebasic ?
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Wie funktioniert denn das Brettspiel "Dahme"? Ist das eine Abwandlung von "Dame"? Bei Google finde ich da nämlich nur eine Stadt, die so heißt.

PS.: Hat da vorhin jemand meine Antwort gelöscht?
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Mike0484
Beiträge: 28
Registriert: 26.03.2005 16:10

Beitrag von Mike0484 »

ähh.... ich meinte ja "Dame" hab mich wohl vertippt
ich verschreibe mich halt sehr offt....... oft :mrgreen:
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

C++ oder PB ist egal. Die KI wird überall gleich Programmiert nur mit anderen Befehlen. Wenn du dir das C++ Tut durchliest verstehst du vieleicht das Prinzip der KI und kannst eine in PB programmieren.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
OptimusPrime
Beiträge: 43
Registriert: 07.03.2005 16:52

Huhu

Beitrag von OptimusPrime »

Ich wollte sowas auch mal machen,
hab das damals in Java-Script versucht,
bin aber nie ganz fertig geworden, da ich mich in meinem
Code nicht mehr zurechtgefunden habe. LOL

Bei der KI musst du auf jeden Fall nach "Tiefensuche"
ausschau halten.

Vom Prinzip funktioniert die KI dann folgendermassen :

Zuerst wird ermittelt, welche Steine bewegt werden können.
Für diese wird dann jeder mögliche Zug ermittelt,
von jedem möglichen Zug wird dann jeder mögliche Zug des Gegners
ermittelt, daraufhin wieder alle möglichen eigenen Züge....

Das ganze expandiert je nach Tiefe (Anzahl der Züge die Vorrausgesucht werden) natürlich immens. Am Anfang würde ich nur bis Tiefe 2 experimentieren, wenn das funktioniert, kann man immer weiter gehen, je nach ANZ Zigaretten und DIM Kaffee :o)

Das wichtigste Element bei der KI ist dann allerdings die Bewertung der Zugmöglichkeiten, du musst Dir also Regeln einfallen lassen (oder irgendwo vorhandene suchen), wie ein Möglicher Zug bewertet wird. Anhand der Besten bewertung eines Zuges wird dieser dann ausgeführt, sind 2 Züge gleichgut bewertet (kann schon vorkommen, vor allem wenn die Tiefensuche gerung ist), dann würde ich den zufall entscheiden lasse.

Hoffe, konnte Dir etwas weiterhelfen,
Viel Spass dann.

Mfg
Stephan
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

Poste ma dienen Code (Ich hab gearde keinen Bock das spiel zu proggen) dann versuch ich das ma mit der KI (will ich nämlich auch am ausprbieren)

:-D
Antworten