Sau khi dành thời gian hôm nay để ghi lại một số lưu ý liên quan đến việc triển khai các bức tường vào trò chơi dựa trên gạch của tôi, tôi đột nhiên nhận ra rằng nó sẽ không đơn giản như tôi tưởng tượng trước đây. Mặc dù giai đoạn hiện tại trong công việc của tôi thậm chí không gần với việc thực sự tạo mã liên quan đến tường, tôi đã nghĩ ra ba cách khác nhau để làm điều đó. Ngay bây giờ tôi không chắc chắn một trong những ý tưởng của tôi sẽ hoạt động tốt nhất và liệu tôi có bỏ lỡ điều gì hay không.
Quan trọng: một nhân vật CÓ THỂ đứng trên gạch có tường, bất kể hình dạng của họ.
Điểm chung cho cả ba biến thể: tilemap sẽ được "giữ" trong một thùng chứa dựa trên std :: vector (hoặc tương tự) một chiều. Những lý do cho điều đó (khủng khiếp) được giải thích trong câu trả lời cho một câu hỏi khác nhau.
Các lớp container trong các trò chơi dựa trên gạch.
Trở lại bức tường.
A) Cách tiếp cận đơn giản.
Không có gì lạ mắt ở đây. Mỗi thùng chứa gạch có thể chứa không chỉ các ký tự, mà một hoặc một số đối tượng Tường, được gắn vào cạnh bên trong ô.
Ưu điểm: dễ thực hiện, không có gì thay đổi trong động cơ. Nhược điểm: Hai điều. Một - nó có thể chỉ trong đầu tôi, nhưng một số kết hợp trông xấu xí. Thứ hai - phương pháp này cho phép tạo ra một bức tường đôi từ hai gạch liền kề. Tòa nhà sẽ là một phần quan trọng của trò chơi và các bức tường đôi cho phép các nhà xây dựng có thể từ bỏ việc nâng cấp vật liệu của các bức tường thông qua các phương tiện trò chơi, và chỉ cần tăng độ bền với gấp đôi bức tường hiện có. Đó là điều không mong muốn. Chắc chắn, tôi có thể bao gồm một thủ tục cấm tường đôi, nhưng nó sẽ có cảm giác xấu với nó.
B) Cách tiếp cận thông minh (?).
Thay vì để người chơi nhân đôi toàn bộ bản đồ, tôi sẽ đánh bại họ. Mỗi bức tường có hai nửa được gắn vào cạnh của gạch từ bên trong. Vì vậy, để tạo một "Đơn vị tường" duy nhất, tôi sẽ phải tạo hai đối tượng Nửa tường trong hai ô liền kề.
Ưu điểm: Nó đối xứng !!! Ngoài ra, không có thay đổi đáng kể của thông số kỹ thuật hiện tại là cần thiết. Nhược điểm: Nhiều rắc rối hơn, nhiều đối tượng hơn và tất nhiên là cả "mũ". Như bạn có thể thấy trong hình, một góc về cơ bản sẽ khóc cho một đối tượng "nắp". Tôi thực sự rất tuyệt với nó, nó không quá khó để thêm vào. Này, tôi đã có một kế hoạch cho các cột mỏng được tạo thành từ bốn nắp được kết nối. Ngọt. Tuy nhiên, tôi có một số lo lắng liên quan đến các vấn đề về Tầm nhìn và Đường ngắm có thể có.
C) Tổng biến thể đại tu.
Hoặc, tôi chỉ có thể tạo đường viền và góc như các thùng chứa riêng biệt cho các đối tượng trò chơi. Chỉ cần như vậy.
Ưu điểm: Thậm chí không chắc chắn. Vâng, nó đơn giản. Chắc chắn rồi. Nhược điểm: Nó sẽ yêu cầu đại tu. Không phải mã, rất may, nhưng về tâm lý cơ học trò chơi hiện tại - đó là điều chắc chắn. Những lợi ích không quá rõ ràng. Ngoài ra, chiếc tạp dề này đòi hỏi nhiều container hơn hai cái trước. Toán học lập chỉ mục cũng sẽ có một chút đau đớn.
Vì vậy, ở đây chúng tôi có nó - ba cách khác nhau để làm tường giữa gạch. Nếu có bất kỳ lựa chọn thay thế nào ngoài đó - tôi sẽ vui lòng kiểm tra chúng. Nếu có bất kỳ lợi ích / nhược điểm nào đối với bất kỳ phương pháp nào tôi không thấy - vui lòng chỉ ra chúng.