Permainan papan
Dalam permainan papan, pemain " Carcassonne " menempatkan ubin dengan mencocokkan tepi mereka dan mendapatkan skor tertinggi dengan menciptakan area medan yang berdekatan. Berikut ini adalah (kira-kira) jenis dan jumlah ubin yang termasuk dalam game:
#01 x4
#02 x5
#03 x8
#04 x2 
#05 x9
#06 x4
#07 x1
#08 x3 
#09 x3
#10 x3
#11 x4
#12 x5 
#13 x3
#14 x3
#15 x2
#16 x5
#17 x5
#18 x2
#19 x3
#20 x1 
#21 x5
#22 x2
#23 x1
#24 x1 
#25 x1 
Tugas
Anda harus meletakkan ubin dengan mencocokkan tepinya, sambil mencoba mempertahankan area dataran berdekatan yang seluas mungkin.
Penempatan
- Ubin hanya dapat ditempatkan di salah satu (hingga 4) ruang kosong yang berdekatan dengan ubin yang ada (atau ubin) di area bermain.
- Ubin dapat diputar 90, 180 atau 270 derajat.
Pencocokan tepi
- Tepi ubin yang ditempatkan harus cocok dengan tepi menyentuh dari (hingga 4) ubin tetangga, yaitu menyentuh piksel adalah warna yang sama.
Medan yang berdekatan
- "Menutup area medan" mengacu pada menempatkan ubin sedemikian rupa sehingga area warna yang berdekatan tidak dapat dilanjutkan dengan penempatan ubin lebih lanjut.
- Jika penempatan alternatif dimungkinkan, itu harus dipilih daripada penempatan ubin apa pun yang akan menutup area medan.
- Jika Anda harus memilih di antara sejumlah penempatan penutupan, pilih salah satunya. Jika Anda harus memilih di antara sejumlah penempatan yang tidak ditutup, pilih salah satunya.
- Abaikan # ff00ff (piksel sudut) saat menghitung area yang berdekatan. Juga mengabaikan bangunan, yaitu area warna yang sudah tertutup sepenuhnya dalam ubin.
Memasukkan
Input adalah dua gambar:
Area bermain.
- Area bermain awal terdiri dari ubin
#11(ubin tunggal). - Area bermain yang diperbesar yang dibuat sebagai output juga harus didukung sebagai input.
- Area bermain awal terdiri dari ubin
Ubin yang akan ditempatkan.
- Semua ubin contoh harus didukung sebagai input.
Tentukan tepi yang cocok / medan yang berdekatan menggunakan data gambar ini saja. Tidak ada hardcoding.
Keluaran
- Output adalah gambar yang menunjukkan area bermain yang dihasilkan setelah menempatkan ubin.
- Gambar harus kompatibel dengan program Anda sendiri, yaitu dapat digunakan sebagai input area bermain.
- Jika tidak mungkin menempatkan ubin, kembalikan kesalahan.
Anda bisa berasumsi itu
- Ubin selalu 55 px kali 55 px
- Ubin hanya akan menampilkan warna yang saat ini digunakan dalam ubin contoh.
Catatan
- Jawaban Anda harus menampilkan contoh output setelah setidaknya 2 berlalu (lebih didorong).
- Ini adalah rendering parsial dan tidak akurat dari gim papan asli, Anda tidak perlu menerapkan aturan atau taktik yang tidak disebutkan di sini.
Skor
- Skor Anda adalah jumlah byte kiriman Anda.
- Data gambar tidak termasuk dalam skor Anda.
- Skor terendah menang.
Bermain game penuh
Anda mungkin ingin menulis skrip yang menggunakan submissison Anda untuk memainkan permainan penuh, yang mungkin terdiri dari:
- Menempatkan ubin yang dipilih secara acak dari set lengkap 85.
- Mengembalikan ubin ke set jika tidak dapat ditempatkan.
- Ulangi sampai setiap ubin ditempatkan - atau sampai dua ubin berturut-turut tidak dapat ditempatkan.
Itu tidak akan dimasukkan dalam hitungan byte Anda, atau meningkatkan skor Anda, tetapi saya kemungkinan akan menawarkan hadiah untuk jawaban semacam ini.


