Tuyên bố miễn trừ trách nhiệm: đây là một trong những câu hỏi kiểu Minecraft đáng sợ, nhưng tôi cảm thấy đó là câu hỏi về cấu trúc dữ liệu và thuật toán
Tôi thực sự mới đối với cấu trúc dữ liệu 3D và đang tự hỏi cách tốt nhất để lưu trữ và khớp với cấu trúc khối 3D.
Ngay bây giờ, người chơi có thể đặt các khối trong bất kỳ không gian tùy ý nào và khi các khối này khớp với cấu trúc được xác định trước, một sự kiện sẽ xảy ra. Cách tôi đang làm hiện tại là khi người chơi đặt một khối trò chơi kiểm tra đệ quy từng khối liền kề để tìm khối có tọa độ x, y, z thấp nhất và làm cho khối đó chặn khối gốc. Sau đó, nó kiểm tra phần còn lại của các khối, dựa trên khối gốc, để đảm bảo chúng khớp với một mẫu nhất định. Vấn đề là khi mẫu trở nên phức tạp hơn, mã của tôi (không hiệu quả khủng khiếp) cũng vậy.
Tôi nghĩ cách tốt nhất để làm điều này là lưu trữ một số loại ma trận xác định cấu trúc và sau đó khớp với ma trận bất cứ khi nào người chơi đặt một khối. Đã có cấu trúc dữ liệu / thuật toán phù hợp với loại vấn đề này chưa?