Ví dụ: tôi có một lớp Trò chơi và nó giữ một lớp int
theo dõi cuộc sống của người chơi. Tôi có một điều kiện
if ( mLives < 1 ) {
// Do some work.
}
Tuy nhiên, điều kiện này tiếp tục bắn và công việc được thực hiện nhiều lần. Ví dụ: tôi muốn đặt hẹn giờ để thoát trò chơi trong 5 giây. Hiện tại, nó sẽ tiếp tục cài đặt nó thành 5 giây mỗi khung hình và trò chơi không bao giờ kết thúc.
Đây chỉ là một ví dụ và tôi có cùng một vấn đề trong một số lĩnh vực của trò chơi của tôi. Tôi muốn kiểm tra một số điều kiện và sau đó làm một cái gì đó một lần và chỉ một lần, và sau đó không kiểm tra hoặc làm lại mã trong câu lệnh if. Một số giải pháp có thể xuất hiện trong tâm trí là có một bool
điều kiện cho từng điều kiện và đặt thời bool
điểm điều kiện kích hoạt. Tuy nhiên, trong thực tế, điều này trở nên rất phức tạp khi xử lý rất nhiều bools
, vì chúng phải được lưu trữ dưới dạng các trường lớp hoặc tĩnh trong chính phương thức.
Giải pháp thích hợp cho vấn đề này (không phải cho ví dụ của tôi, nhưng cho miền vấn đề) là gì? Làm thế nào bạn sẽ làm điều này trong một trò chơi?