Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Timmyew

Treue Seele

  • »Timmyew« ist der Autor dieses Themas

Beiträge: 128

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

1

23.03.2014, 17:14

TicTacToe Ki Lua

Hey bin seid neusten wie man schon unten in einem Beitrag sieht mit ein paar anderen dabei in Minecraft mit dem mod Computercraft einpaar programme zu scripten .
Ich habe mir gedacht das ich mal ein Tic Tac Toe scripten werde aber es stehlte sich das dies nicht so einfach ist ...
Nun wollte ich fragen wie ich eine "Schwere , keine leichte die habe ich schon " Ki scripten kann .
Danke im voraus

ERROR

Alter Hase

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

2

23.03.2014, 18:31

Ich empfehle dir hier ein Bewertungssystem.

Jedes Feld bekommt erstmal eine 0 zugewiesen, sobald der Spieler oder Computer einen Stein drauf setzt, bekommt das Fald eine -1.
Dann musst du immer so reagieren, dass das Spieler nicht mehr gewinnen kann, denn bei TicTacToe ist es IMMER unentscheiden, so lange beide richtig spielen.

Die Ki muss also überlegen in welchen Momenten welche Felder am sinnvolsten wären und diese dann höher bewerten, wenn alle Felder entweder neu bewertet oder einfach so gelassen wurden, prüft sie welche Felder am höchsten bewertet wurden, auf eines dieser felder setzt sie dann.

Beispiel:
- Spieler setzt an einer der äusseren Ecken
- Ki setzt in der Mitte
- Spieler versucht Ki einzukesseln und setzt in der gegenüberliegenden Ecke seines ersten Feldes
- Ki setzt in eine der verbleibenden Ecken
Den Rest solltest du selber rausfinden :p


Am besten du spielst das ganze gegen dich selber ganz oft und merkst dir die Züge, die gemacht werden müssen, damit ein unentscheiden ensteht und baust danach das Bewertungssystem der Ki auf.

EDIT: Ein Feld mit dem die Ki gewinnen kann, wird natürlich höher als alle anderen bewertet.
Wenn du das System richtig machst, kann der Spieler nicht mehr gewinnen, egal was er macht.

3

23.03.2014, 19:07

Beispiel:
- Spieler setzt an einer der äusseren Ecken
- Ki setzt in der Mitte
- Spieler versucht Ki einzukesseln und setzt in der gegenüberliegenden Ecke seines ersten Feldes
- Ki setzt in eine der verbleibenden Ecken

- KI verliert
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

Timmyew

Treue Seele

  • »Timmyew« ist der Autor dieses Themas

Beiträge: 128

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

4

23.03.2014, 19:12

Wie sieht denn so ein bewertungssystem aus ?

ERROR

Alter Hase

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

5

23.03.2014, 19:40

Sorry, der letzte von mir beschriebene Zug der KI sollte eigentlich sein, dass die KI in die äussere Mitte setzen muss.

Erst erstellst du ein Array der Felder, zB mit int.
Dann kommt der Zug der KI:
1. Alle Felder bewerten:
- Hat schon jemand auf ein Feld gesetzt? -> Feld auf -1 setzen
- Kann die KI gewinnen? -> Feld auf den höchst möglichen Wert setzen
- Kann der Spieler gewinnen? -> Feld auf 2t höchsten Wert setzen
- ....... (Wann welches Feld von Vorteil ist, solltest du am besten selber rausfinden, sonst ist hier ja paktisch schon die komplette KI)
2. Auswerten
- Welches Feld im Array hat den höchsten Wert? -> Hier drauf setzen (sind es mehrere mit gleicher Priorität, mach es zufällig)
3. Alle Felder ausser die, die -1 sind wieder auf 0 setzen

Beim nächsten Zug alles wieder von vorne.

So läuft das ganze ungefähr ab. Natürlich gibt es sehr viele Variationen, zum Beispiel felder der KI auf -1 und Felder des Spielers auf -2 setzen, aber das soll nur ein kleines Beispiel des ungefähren Ablaufs sein

Cookiezzz

Frischling

Beiträge: 91

Wohnort: Deutschland

Beruf: Schüler

  • Private Nachricht senden

6

24.03.2014, 17:20

Tic Tac Toe gehört zu den Spielen, die sich komplett mithilfe eines Spielbaums abbilden lassen. Der Begriff, den du suchst, ist "Minimax-Algorithmus". Damit lässt sich eine Tic Tac Toe KI erstellen, die nie verliert, sondern höchstens unentschieden spielt.

Werbeanzeige