Chapter 2. Matched-3
~~~~~~~~~~~~~~~~~~
Matcher erhält die Informationen von Board um die Position von jedem chess zu kennen. Dieser Vorgang kann ständig erneuert (update) werden. Wenn sich Matcher updatet nennt sich dieser automatische Vorgang On get symbol. Wir definieren jeden einzelnen chess in diesem Event. Wenn man sich nun die Frage stellt, warum das Plugin nicht generell jeden chess entsprechend seiner Animation oder Klassen Typ unterscheidet, liegt die Antwort auf der Hand. Der Programmierer hat zahlreiche Möglichkeiten den Matcher zu manipulieren. Zum Beispiel durch die Vergabe von Instanz - Variablen.
In diesem Tutorial arbeiten wir mit der Unterscheidung durch die verschiedenen Animationen. Nachfolgend das überarbeitete Event sheet 1:
Im Event1 setzen wir den Matcher ein. Diese Aktion liefert dem Board die nötigen Informationen, welche dann der InstGroup zugeordnet werden.
Event7 läuft jede Sekunde (1.0). Zuerst werden alle gleichfarbigen chess Spielfiguren aufgespürt, welche in einer 3er-Reihe stehen. Dieses Ergebnis wird in der match_line Instance group gespeichert. Danach wird die InstGroup - Pick instances Event genutzt um zusammenhängende tiles im Gitter aufzuspüren. Matcher fügt lediglich die tile Objekte in die InstGroup. Also muss man jetzt die tiles unterscheiden und danach werden die tiles mit einem flash versehen.
Es sieht so aus, als ob Matcher einige schräge Linien findet. Die Antwort geben die Einstellungen von Matcher. In der vorgegebenen Einstellung (default) steht die Isometric auf YES, in dieser Einstellung erfasst der Matcher auch schräge 3er-Linien. Wenn man die Isometrisch auf OFF stellt werden nur horizontale und vertikale 3er-Linien erfasst.
Für das Erkennen von drei Spielfiguren in einer Reihe wurden lediglich 7 Events benötigt. Das ist sehr wenig. Im nächsten Abschnitt werden wir die L-förmig angeordneten Spielsteine herausfiltern. Dann ist die Spiellogik komplett.