Questa è la mia prima domanda qui, quindi qualsiasi suggerimento nei commenti sarebbe apprezzato! Grazie ;)
introduzione
Una strategia molto comune per il gioco del 2048 non è mai scorrere verso il basso . Questo posiziona tutti i grandi numeri in alto e quelli inferiori in basso. Quindi, se applichi correttamente questa strategia, la tua scheda corrisponderà sempre al seguente schema:
Il modello da verificare per / Il tuo compito
La tua proposta dovrebbe essere un programma completo o una funzione che restituisca un valore di verità se la scheda può essere descritta in questo modo: scendendo ogni colonna della scheda, il primo numero dovrebbe essere il più alto della colonna, il secondo numero dovrebbe essere inferiore uguale o uguale al primo numero, ecc. Una buona scheda 2048 è definita come una scheda in cui i numeri più alti sono tutti in cima. Questo è code-golf , quindi vince il codice più breve per lingua (in byte).
I / O
L'input può essere preso in qualsiasi modo appropriato, ad esempio un array di 4 array, ciascuno contenente 4 numeri, o un array di 16 numeri. In totale, saranno sempre 16 numeri, che rappresentano la scheda 4x4 L'output dovrebbe essere un valore veritiero dell'input è una "buona scheda 2048" e un valore falso altrimenti.
Esempi
Truthy:
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 8 |
|-------------------|
| 4 | | 32 | 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 128| 32 | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Falsy:
|-------------------|
| 16 | | 64 | 8 |
|-------------------|
| 8 | | 32 | 16 |
|-------------------|
| 32 | | 128| 2 |
|-------------------|
| 2 | | | |
|-------------------|
|-------------------|
| 16 | 128| 64 | 32 |
|-------------------|
| 8 | 32| | 8 |
|-------------------|
| 4 | 16 | 8 | 2 |
|-------------------|
| 4 | | | |
|-------------------|
Nota
Guarda il 2 ° caso di test di falsa: quando c'è un valore vuoto (o uno 0) da qualche parte e anche quando è seguito da un valore che è superiore all'ultimo numero diverso da zero, questo dovrebbe essere falso, perché il valore successivo dopo il zero sarebbe maggiore dello 0 stesso, il che lo rende non valido.
In bocca al lupo!