Vì vậy, tôi đã chơi rất nhiều pacman trên di động của tôi gần đây và tôi tự hỏi làm thế nào để những con ma dường như làm việc độc lập với nhau. Tôi đã suy nghĩ về cách nó sẽ được lập trình.Trong Pacman, các con ma có chọn con đường độc lập để tìm pacman không?
Một tùy chọn mà tôi nghĩ là chuỗi. Tất cả 4 con ma đang chạy trong chủ đề của riêng họ và bằng cách nào đó tìm thấy vị trí của pacman. Nhưng có vẻ như một chút để có bốn chủ đề làm việc và đồng bộ hóa sẽ khó khăn. Ngoài ra, google đã viết pacman trong Javascript mà không hỗ trợ chủ đề, do đó, nó có thể được thực hiện mà không có chủ đề và có phải là một cách dễ dàng hơn.
Suy nghĩ thứ hai của tôi là trình xử lý sự kiện. Tôi chỉ dây sự kiện 'directionChanged' mà pacman sẽ bắn tới 4 bộ điều khiển sự kiện, một cho mỗi con ma. Mỗi con ma sau đó quyết định con đường để đi đến pacman. Điều này tôi nghĩ là nhiều khả năng những gì đang xảy ra. Nhưng nó có thể bị chậm nếu xử lý sự kiện được thực hiện đồng bộ, bởi vì đường dẫn sẽ phải được tính tuần tự và con ma thứ 4 sẽ mất thời gian để thay đổi hướng và điều này có thể tạo ra độ trễ có thể nhìn thấy (có thể). Ngoài ra, những con ma sẽ tự cháy một sự kiện khi chúng va vào tường và những người xử lý sự kiện của chúng sẽ thay đổi hướng của ma. Nhưng với tần số mà pacman thay đổi hướng và bốn con ma đáp ứng, xử lý sự kiện cũng có vẻ hơi quá nhiều.
Tôi đang nói những ý tưởng trên sẽ hơi quá nhiều vì nhớ trò chơi được viết cách đây 30 năm khi thời gian và bộ nhớ cpu khan hiếm, vì vậy tôi nghĩ phải có cách dễ dàng hơn nhiều.
Ngoài ra, có vẻ như những con ma đang đi theo những con đường khác nhau ngay cả khi pacman vẫn còn. Tất cả các bóng ma có sử dụng các thuật toán tìm kiếm đường dẫn hoàn toàn khác hoặc được tối ưu hóa khác nhau không?
Tôi quan tâm nhiều hơn trong việc tìm hiểu làm thế nào tất cả các bóng ma dường như làm việc cho chính họ đồng thời so với các thuật toán tìm đường dẫn mà họ sử dụng. Suy nghĩ?
Mặc dù phải có nhiều logic hơn trong nội bộ, tôi nghĩ điều này về cơ bản nên là ý tưởng phải Đã được thực hiện. cảm ơn. – desigeek
Ngoại trừ trường hợp bóng ma tìm kiếm/chạy từ bạn, trong trường hợp này, họ sử dụng vị trí của bạn để xác định lựa chọn đại lộ tốt nhất (hoặc chọn ngẫu nhiên một trong hai lựa chọn này). Và đối với bản ghi họ cần MỘT chủ đề để họ di chuyển độc lập với các sự kiện của người dùng (nếu bạn không di chuyển họ sẽ giúp bạn) – Rudu
Bạn cần một số ngẫu nhiên trong chuyển động của ma, nếu không, sớm hay muộn tất cả các bóng ma sẽ di chuyển cùng nhau trong một số lượng lớn, làm cho trò chơi tương đối dễ dàng. Và dĩ nhiên, một con ma không phải đập vào tường để thay đổi hướng, anh ta có thể làm điều đó trên bất kỳ giao lộ nào. Trong trò chơi Pacman ban đầu, Ghost thậm chí có thể đảo ngược mà không cần cảnh báo. –