Tugas Anda adalah mensimulasikan permainan yang sempurna secara matematis tahun 2048. Idenya adalah menemukan batas teoretis seberapa jauh permainan 2048 dapat berjalan, dan menemukan cara untuk sampai ke sana.
Untuk mendapatkan gambaran seperti apa ini, mainkan dengan klon 2x2 ini dan cobalah untuk mencetak 68 poin. Jika ya, Anda akan mendapatkan ubin 2, 4, 8, dan 16. Tidak mungkin untuk maju melewati titik itu.
Tugas Anda menjadi lebih mudah karena Anda dapat memilih tempat ubin bertelur dan apa nilainya, seperti klon ini .
Anda harus menulis sebuah program atau fungsi yang menerima papan 2048 sebagai input, dan mengeluarkan papan dengan ubin spawned dan papan setelah ubin runtuh. Sebagai contoh:
Input:
-------
0 0 0 0
0 0 0 0
0 0 0 0
0 0 8 8
Output:
-------
0 0 0 0
0 0 0 0
0 0 0 0
0 4 8 8
0 0 0 0
0 0 0 0
0 0 0 0
0 0 4 16
Program Anda akan berulang kali diberi output sendiri untuk mensimulasikan seluruh permainan tahun 2048. Input pertama dari program ini adalah papan kosong. Anda harus menelurkan satu ubin di atasnya, tidak seperti dua ubin game asli. Pada langkah terakhir permainan, Anda tidak akan bisa bergerak, sehingga dua papan keluaran Anda bisa identik.
Tentu saja Anda hanya harus mengeluarkan langkah hukum. Hanya 2 atau 4 yang dapat muncul, Anda harus memindahkan atau menciutkan setidaknya satu ubin saat bepergian, dll.
Saya sengaja membuat persyaratan input dan output tidak jelas. Anda bebas memilih format input dan output. Anda dapat menggunakan matriks, array, string, atau apa pun yang Anda inginkan. Selama Anda dapat mensimulasikan game 2048 dengan mereka, input dan output Anda baik-baik saja.
Pemenang akan menjadi orang yang mengakhiri permainan dengan jumlah ubin tertinggi di papan, kemudian dengan jumlah byte terendah dalam kode sumber. Skor dari game asli tidak akan diperhitungkan. (Petunjuk: gunakan 4-an)