Penafian: ini adalah salah satu pertanyaan gaya Minecraft yang ditakuti, tapi saya rasa ini lebih merupakan struktur data dan pertanyaan algoritma
Saya benar-benar baru dalam struktur data 3D dan bertanya-tanya apa cara terbaik untuk menyimpan dan mencocokkan struktur blok 3D.
Saat ini, pemain dapat menempatkan blok di ruang sembarang dan ketika blok ini cocok dengan struktur yang telah ditentukan, suatu peristiwa terjadi. Cara saya melakukannya saat ini adalah ketika seorang pemain menempatkan sebuah blok permainan secara rekursif memeriksa setiap blok yang berdekatan untuk menemukan blok dengan koordinat x, y, z terendah dan membuatnya yang memblokir blok root. Kemudian memeriksa sisa blok, berdasarkan dari blok root, untuk memastikan mereka cocok dengan templat tertentu. Masalahnya adalah bahwa ketika template semakin rumit, begitu juga kode saya (sangat tidak efisien).
Saya berpikir cara terbaik untuk melakukan ini adalah untuk menyimpan beberapa jenis matriks yang mendefinisikan struktur dan kemudian mencocokkan dengan matriks setiap kali pemain menempatkan blok. Apakah sudah ada struktur data / algoritma yang cocok dengan jenis masalah ini?