Như những người hiện có đã thêm câu trả lời tốt, hãy để tôi trả lời các tình huống chưa được khám phá.
Nếu bạn đang ở trong một vị trí mà bạn đã hoàn thành mã hóa trò chơi của mình và bây giờ bắt đầu viết mã thành tích và thấy rất phức tạp để duy trì quá nhiều biến số và đếm và xóa chúng tại một số sự kiện và những điều tương tự.
Bạn luôn có thể tạo một lớp (tốt nhất là singleton) để nhận tất cả các sự kiện. Bây giờ liệt kê tất cả những thành tựu của bạn. Sau đó liệt kê tất cả các sự kiện trò chơi cần được theo dõi. Ví dụ như danh sách hiện tại của tôi trông như thế này
KILL ENEMY - đi bộ, đạn PLAYER DEATH - fall_off, Health ENTER_ROOM, EXIT_ROOM, v.v.
Những chi tiết bổ sung như đi bộ, đạn có thể là thông số. Bây giờ có một hàm gọi là fireEvent trong lớp theo dõi Thành tích đó. Tìm kiếm tất cả các địa điểm trong mã nơi bạn cần fireEvents và gọi chức năng đó. Bây giờ làm phần còn lại của công việc bẩn trong lớp Thành tích. đây là cách an toàn nhất để không làm phiền thành tích mã và mã hiện có. Nó làm việc khá nhanh đối với tôi.