Dies ist meine erste Frage hier, daher würden wir uns über Vorschläge in den Kommentaren freuen! Vielen Dank ;)
Einführung
Eine sehr verbreitete Strategie für das Spiel 2048 ist es, niemals nach unten zu streichen . Dies positioniert alle großen Zahlen oben und die unteren unten. Wenn Sie diese Strategie richtig anwenden, entspricht Ihr Board immer dem folgenden Muster:
Das zu überprüfende Muster / Ihre Aufgabe
Ihre Einsendung sollte entweder ein vollständiges Programm oder eine Funktion sein, die einen Wahrheitswert zurückgibt, wenn die Tafel wie folgt beschrieben werden kann: In jeder Spalte der Tafel sollte die erste Zahl die höchste der Spalte sein, die zweite die niedrigere als oder gleich der ersten Zahl usw. Ein gutes 2048-Board ist definiert als ein Board, bei dem die höchsten Zahlen alle oben liegen. Das ist Code-Golf , also gewinnt der kürzeste Code pro Sprache (in Bytes).
I / O
Die Eingabe kann auf jede geeignete Weise erfolgen, z. B. als Array von 4 Arrays mit jeweils 4 Zahlen oder als Array von 16 Zahlen. Insgesamt werden es immer 16 Zahlen sein, die die 4x4- Karte darstellen. Die Ausgabe sollte ein wahrer Wert sein, die Eingabe ist eine "gute 2048-Karte" und ansonsten ein falscher Wert.
Beispiele
Wahrheit:
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 8 |
|-------------------|
| 4 | | 32 | 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 128| 32 | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Falsch:
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 16 |
|-------------------|
| 32 | | 128| 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 32| | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Hinweis
Schauen Sie sich den zweiten falschen Testfall an: Wenn irgendwo ein leerer Wert (oder eine 0) vorhanden ist und selbst dann, wenn auf ihn ein Wert folgt, der höher ist als die letzte Zahl ungleich Null, sollte dies falsch sein, da der nächste Wert nach dem Null wäre höher als die 0 selbst, was es ungültig macht.
Viel Glück!