Belki de tipik olarak böyle yapılır. Yol döşemelerini olası tüm yönleriyle temsil eden farklı döşemeler listeniz var. Soldan sağa, dört köşenin tümü, yukarıdan aşağıya, her neyse. Şimdi tüm bu döşemeleri bir baytla dizine ekleyeceksiniz. 8 bit, her yön için bir tane. Bu bir hashmap veya dosya adına göre olabilir ... ancak bunu yapmak istersiniz.
Yani şuna sahipsiniz:
Yukarıdaki karo için bayt kodu 00000000'dir . Sonra soldan sağa (veya sağdan sola) giden döşemeniz şöyle:
Bu döşemenin bayt kodu 10001000 veya 136'dır. Başka bir örnek olarak, üç yollu bir kavşağa bakalım:
Bu döşemenin bayt kodu 10101000'dir .
Muhtemelen nereye gittiğimi görüyorsun. Baytlarda bağlantıları temsil eden bit konumlarını ayarlarsınız. Bu, daha önce gördüğüm büyük if / else zincirlerini yapmaya çalışmaktan çok daha iyi. Bir fayans yerleştirmek istediğinizde, etrafındaki fayansları inceleyin ve yol boyunca bir bayt oluşturun. Yolları olan fayanslar (veya bağlamak istediğiniz her şey) için 1'leri ve olmayan fayanslar için 0'ları ayarlayın. İşiniz bittiğinde, tam olarak ihtiyacınız olan döşemenin bayt koduna sahip olacaksınız.
Varlıkları oluştururken, doğru bayt kodunu döndürerek ve atayarak birçoğunu yeniden kullanabileceğinizi unutmayın.
EDIT : Görüntüleri daha az berbat olacak şekilde güncellendi. Evet bunlar eskisinden daha iyi.