İşiniz, 2048'in matematiksel olarak mükemmel bir oyununu simüle etmektir. Fikir, 2048 oyununun ne kadar ileri gidebileceğinin teorik üst sınırını bulmak ve oraya nasıl ulaşacağınızı bulmaktır.
Bunun nasıl göründüğüne dair bir fikir edinmek için bu 2x2 klonuyla oynayın ve 68 puan kazanmaya çalışın. Bunu yaparsanız, 2, 4, 8 ve 16 kiremit elde edersiniz. Bu noktayı geçmek imkansız.
Göreviniz daha kolay çünkü fayansların nerede doğacağını ve değerlerinin ne olduğunu seçebilirsiniz, tıpkı bu klon gibi .
2048 panosunu girdi olarak kabul eden ve fayansları daralttıktan sonra tahtaya spawned karo ve tahta ile çıktı veren bir program veya işlev yazmalısınız. Örneğin:
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
Tüm 2048 oyununu simüle etmek için programınız kendi çıktısını tekrar tekrar besleyecektir. Programın ilk girişi boş bir tahta olacaktır. Orijinal oyunun iki taşından farklı olarak, bir taş döşemelisiniz. Oyunun son adımında hareket edemezsiniz, böylece iki çıkış kartınız aynı olabilir.
Elbette sadece yasal hamleler yapmalısınız. Sadece 2 veya 4 üretilebilir, hareket halinde en az bir kutucuğu taşımanız veya daraltmanız gerekir.
Kasıtlı olarak girdi ve çıktı gereksinimlerini belirsizleştirdim. Giriş ve çıkışın biçimini seçmekte özgürsünüz. Matrisleri, dizileri, karakter dizilerini veya istediğinizi kullanabilirsiniz. Onlarla bir 2048 oyununu simüle edebildiğiniz sürece, girişleriniz ve çıkışlarınız iyi.
Kazanan, oyunu tahtadaki en yüksek fayans miktarıyla, daha sonra kaynak kodundaki en düşük bayt sayısıyla bitiren kişi olacaktır. Orijinal oyundan alınan puan dikkate alınmaz. (İpucu: 4'leri kullanın)