Mungkin ini yang biasanya dilakukan. Anda memiliki daftar petak berbeda yang mewakili petak jalan di semua orientasi yang dimungkinkan. Kiri ke kanan, keempat sudut, atas ke bawah, apa pun. Sekarang Anda akan mengindeks semua ubin dengan byte masing-masing. 8 bit, satu untuk setiap arah. Ini bisa berupa hashmap atau dengan nama file ... namun Anda ingin melakukan ini.
Jadi Anda punya ini:
Kode byte untuk ubin di atas adalah 00000000 . Maka ubin Anda yang bergerak dari kiri ke kanan (atau kanan ke kiri) adalah seperti ini:
Kode byte untuk ubin itu adalah 10001000 , atau 136. Sebagai contoh lain, mari kita lihat persimpangan tiga arah:
Kode byte untuk ubin itu adalah 10101000 .
Anda mungkin melihat ke mana saya pergi. Anda mengatur posisi bit dalam byte yang mewakili koneksi. Ini jauh lebih baik daripada mencoba melakukan rantai besar jika / selain yang pernah saya lihat sebelumnya. Saat Anda mencari untuk menempatkan ubin, periksa ubin di sekitarnya dan buat byte di sepanjang jalan. Tetapkan 1's untuk ubin yang memiliki jalan (atau apa pun yang Anda ingin hubungkan) dan 0's untuk ubin yang tidak. Setelah selesai, Anda akan memiliki kode byte untuk ubin persis yang Anda butuhkan.
Perhatikan bahwa saat membuat aset, Anda dapat menggunakan kembali banyak dari aset tersebut hanya dengan memutar dan menetapkan kode byte yang benar.
Sunting : Gambar yang diperbarui menjadi kurang jelek. Ya itu lebih baik dari sebelumnya.