Bei einer Reihe von Kacheln in einem Raster möchte ich Folgendes bestimmen:
- Wenn die Fliesen eine beiliegende Figur machen
- Wenn die Kacheln eine geschlossene Figur bilden, wenn Sie die Seiten des Bretts als Kante der Figur zählen
- Wenn eine der beiden vorherigen Aussagen zutrifft, welche zusätzlichen Kacheln in die beigefügte Abbildung fallen, bilden sich die ursprünglichen Kacheln.
Der Spieler drückt zunächst auf ein Plättchen und zieht dann seinen Finger auf andere Plättchen, um eine Kette gleichfarbiger Plättchen zu erstellen. Ich werde prüfen, ob die nächste Kachel gültig ist. Ex. Wenn der Spieler auf einem roten Ziegel beginnt, ihre einzige nächste gültige Bewegung ist zu einem benachbarten roten Ziegel (Diagonalen tun count). Wenn der Benutzer seinen Finger hebt, muss ich in der Lage sein, nach den 3 oben genannten Elementen zu suchen.
Mein erster Gedanke war also, dass ich, da ich jedes Mal die Gültigkeit der Kette überprüfte , wenn der Spieler seinen Finger hob, überprüfen konnte, ob das erste und das letzte Plättchen nebeneinander lagen. (Ich weiß bereits, dass sie die gleiche Farbe haben.) Wenn sie nebeneinander lagen, hatte ich die Vermutung, dass ich eine beiliegende Figur gemacht hatte, und ich würde hierher kommen, um zu versuchen, herauszufinden, ob mir etwas Großes fehlt, und um es zu bekommen eine Art logischer / mathematischer Beweis dafür, dass meine Vermutung richtig war (oder ein Beispiel, das beweist, dass sie falsch ist).
Aber dann dachte ich an Artikel 2: Ich muss auch Ketten berücksichtigen, die eine Kante der Tafel als Seite der beiliegenden Figur verwenden. In diesem Fall wären das erste und das letzte Element in der Kette nicht benachbart, aber ich hätte immer noch eine beiliegende Figur. Jetzt bin ich wieder auf dem ersten Platz.
Was kann ich mit dieser Kette von Gitterkoordinaten tun, um herauszufinden, ob sie eine geschlossene Figur bilden oder nicht? Und wenn ich weiß, dass ich eine beiliegende Figur habe, wie kann ich am besten eine zusätzliche Liste aller Kacheln erhalten, die innerhalb ihrer Grenzen liegen?
Oben habe ich Bilder gezeichnet, von denen ich erwarte, dass die 4 möglichen Ergebnisse dieses Tests sein können.
Die Kette macht keine beiliegende Figur.
Die Kette macht eine beiliegende Figur.
Wenn Sie die Seiten des Bretts als Kante (oder mehr als eine Kante) der Figur zählen, bildet die Kette eine geschlossene Figur.
Die Kette bildet zwar eine beigefügte Figur, es gibt jedoch zusätzliche Datenpunkte (vom Benutzer als Teil der Kette gültig ausgewählt), die nicht Teil der erstellten Figur sind.
Fall 4 ist am schwierigsten, da Sie die "zusätzlichen" Kettenglieder extrahieren müssten, um die beiliegende Figur und die Teile zu finden, die in sie fallen (aber nicht um den "nicht geschlossenen" Bereich herum).
Also ... hat jemand eine Idee, wie man das gut lösen kann, oder nur einen Ausgangspunkt für mich? Ich gehe an dieser Stelle im Kreis und könnte einen anderen Satz Augen gebrauchen.