Thứ nhất, đây là AI cho PacMan chứ không phải ma .
Tôi đang viết một hình nền sống Android chơi Pacman xung quanh các biểu tượng của bạn. Mặc dù nó hỗ trợ các đề xuất của người dùng thông qua các lần chạm màn hình, nhưng phần lớn trò chơi sẽ được chơi bởi AI. Tôi đã hoàn thành 99% với tất cả các chương trình cho trò chơi nhưng bản thân AI cho PacMan vẫn cực kỳ yếu. Tôi đang tìm kiếm sự giúp đỡ trong việc phát triển một AI tốt để xác định hướng đi tiếp theo của PacMan.
Kế hoạch ban đầu của tôi là:
- Khởi tạo bộ đếm điểm cho mỗi hướng với giá trị bằng 0.
- Bắt đầu tại vị trí hiện tại và sử dụng BFS để đi ra ngoài theo bốn hướng ban đầu có thể bằng cách thêm chúng vào hàng đợi.
Bỏ một phần tử ra khỏi hàng đợi, đảm bảo rằng nó chưa được "nhìn thấy", đảm bảo đó là một vị trí bảng hợp lệ và thêm vào các hướng ban đầu tương ứng ghi một giá trị cho ô hiện tại dựa trên:
- Có một dấu chấm: cộng 10
- Tăng sức mạnh: cộng thêm 50
- Có một quả: cộng với giá trị quả (thay đổi theo cấp độ)
- Có một con ma sợ hãi: cộng thêm 200
- Có một con ma đi về phía PacMan: trừ 200
- Có một con ma đi từ PacMan: không làm gì cả
- Có một con ma đi vuông góc: trừ 50
- Nhân giá trị của ô nhân với một pecentage dựa trên số bước của ô, càng nhiều bước từ hướng ban đầu, giá trị của ô càng gần bằng 0.
và enqueue ba hướng có thể từ các tế bào hiện tại.
- Khi hàng đợi trống, hãy tìm điểm cao nhất cho mỗi trong bốn hướng ban đầu có thể và chọn điều đó.
Nghe có vẻ tốt với tôi trên giấy nhưng những bóng ma bao quanh Pacman cực kỳ nhanh chóng và anh ta co giật qua lại trong cùng hai hoặc ba tế bào cho đến khi một người chạm tới anh ta. Điều chỉnh các giá trị cho sự hiện diện ma cũng không giúp được gì. Dấu chấm BFS gần nhất của tôi ít nhất có thể đạt đến cấp 2 hoặc 3 trước khi trò chơi kết thúc.
Tôi đang tìm kiếm mã, suy nghĩ và / hoặc liên kết đến các tài nguyên để phát triển một AI phù hợp - tốt nhất là hai cái trước. Tôi muốn phát hành nó trên Thị trường vào cuối tuần này vì vậy tôi hơi vội. Bất kỳ trợ giúp nào cũng được đánh giá rất cao.
FYI, điều này ban đầu được đăng trên StackOverflow