Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1516:interaktives_spiel_gegen_ki:protokoll

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1516:interaktives_spiel_gegen_ki:protokoll [2016/02/24 11:29]
DoVaDe [FINAL DAY FOURTEEN (24.02.2016)]
ws1516:interaktives_spiel_gegen_ki:protokoll [2016/05/10 14:46] (aktuell)
Zeile 388: Zeile 388:
 {{ :​ws1516:​interaktives_spiel_gegen_ki:​last_one.jpg |}} {{ :​ws1516:​interaktives_spiel_gegen_ki:​last_one.jpg |}}
  
 +Da alle Positionen, die einen Zug vor einer Gewinnposition stehen, relativ simpel zu codieren waren, habe ich mir dieses vorgenommen:​
  
 +<​code>​
 +gewinnpos =             ​[[(0,​0),​(0,​2),​(2,​4)],​
 + [(0,​0),​(0,​4),​(1,​2)],​
 + [(0,​2),​(0,​4),​(2,​0)],​ #Block1Ende
 + [(0,​0),​(2,​0),​(4,​2)],​
 + [(0,​0),​(4,​0),​(2,​1)],​
 + [(2,​0),​(4,​0),​(0,​2)],​ #Block2Ende
 + [(1,​1),​(2,​1),​(3,​2)],​
 + [(1,​1),​(3,​1),​(2,​0)],​
 + [(2,​1),​(3,​1),​(1,​2)],​ #Block3Ende
 + [(1,​1),​(1,​2),​(2,​3)],​
 + [(1,​1),​(1,​3),​(0,​2)],​
 + [(1,​2),​(1,​3),​(2,​1)],​ #Block4Ende
 + [(1,​3),​(2,​3),​(3,​2)],​
 + [(1,​3),​(3,​3),​(2,​4)],​
 + [(2,​3),​(3,​3),​(1,​2)],​ #Block5Ende
 + [(3,​1),​(3,​2),​(2,​3)],​
 + [(3,​1),​(3,​3),​(4,​2)],​
 + [(3,​2),​(3,​3),​(2,​1)],​ #Block6Ende
 + [(0,​4),​(2,​4),​(4,​2)],​
 + [(0,​4),​(4,​4),​(2,​3)],​
 + [(2,​4),​(4,​4),​(0,​2)],​ #Block7Ende
 + [(4,​0),​(4,​2),​(2,​4)],​
 + [(4,​0),​(4,​4),​(3,​2)],​
 + [(4,​2),​(4,​4),​(2,​0)]] #Block8Ende
 +
 +#gewinnpos beschreibt alle Möglichkeiten,​ die einen Zug vor einer Mühle stehen.
 +#​Ausgeschlossen sind natürlich jene Züge, bei welchen ein gegnerischer Stein im Weg steht.
 +#z.B. wenn schwarz Steine bei [(0,​0),​(0,​2),​(2,​4)] hat und weiß (0,4) dazwischen besetzt.
 +</​code>​
 +
 +Die Beschreibung setzt voraus, dass man weiß, wie das Spielfeld aufgebaut ist. Deshalb hier die Mitschrift zum Prozess:
 +
 +{{ :​ws1516:​interaktives_spiel_gegen_ki:​muehletry.jpg |}}
 +
 +Da der Code auch schon für die Ansammlung an Möglichkeiten eine Mühle zu erzielen funktioniert hat, könnte er theoretisch auch für die Gewinnpositionen korrekt sein, was ich zwar bezweifle, aber vielleicht klappt er.
 +
 +<​code>​
 +'''​def pruefe_gewinnpos(farbe,​ brett):
 + u=[]
 + for situation in muehlen:
 +
 + feld1 = brett[situation[0][0]][situation[0][1]]
 + feld2 = brett[situation[1][0]][situation[1][1]]
 + feld3 = brett[situation[2][0]][situation[2][1]]
 + if feld1 == feld3 and feld3 == feld2 and feld1 != '​x':​
 + u.append(situation)
 + return u'''​
 +</​code>​
 +
 +In der TUBcloud wurde eine Mühle Version für C++ und eine für Java hochgeladen. Diese dient zur Hilfe und Orientierung,​ wenn man nicht weiter weiß.
ws1516/interaktives_spiel_gegen_ki/protokoll.1456309740.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)