Ceci est ma première question ici, donc toute suggestion dans les commentaires serait appréciée! Merci ;)
introduction
Une stratégie très courante pour le jeu 2048 n'est jamais de glisser vers le bas . Cela positionne tous les grands nombres en haut et les plus bas en bas. Donc, si vous appliquez correctement cette stratégie, votre tableau correspondra toujours au modèle suivant:
Le modèle à vérifier / Votre tâche
Votre soumission doit être soit un programme complet soit une fonction qui retourne une valeur véridique si le tableau peut être décrit comme ceci: En descendant dans chaque colonne du tableau, le premier nombre doit être le plus élevé de la colonne, le deuxième nombre doit être inférieur supérieur ou égal au premier nombre, etc. Une bonne carte 2048 est définie comme une carte où les nombres les plus élevés sont tous sur le dessus. C'est le code-golf , donc le code le plus court par langue (en octets) l'emporte.
E / S
L'entrée peut être prise de n'importe quelle manière appropriée, par exemple un tableau de 4 tableaux, chacun contenant 4 numéros, ou un tableau de 16 numéros. Au total, ce sera toujours 16 chiffres, représentant la carte 4x4 La sortie doit être une valeur véridique de l'entrée est une "bonne carte 2048", et une valeur fausse sinon.
Exemples
Vérité:
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 8 |
|-------------------|
| 4 | | 32 | 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 128| 32 | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Faux:
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 16 |
|-------------------|
| 32 | | 128| 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 32| | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Remarque
Regardez le 2ème cas de test de falsification: quand il y a une valeur vide (ou un 0) quelque part et même lorsqu'elle est suivie d'une valeur qui est supérieure au dernier nombre non nul, cela devrait être faux, car la valeur suivante après la zéro serait supérieur au 0 lui-même, ce qui le rend invalide.
Bonne chance!