Một số tài nguyên tốt để viết một công cụ cờ vua là gì? [đóng cửa]


81

Tôi quan tâm đến việc viết một công cụ cờ vua (chủ yếu là một bài tập học tập) và sẽ quan tâm đến bất kỳ tài nguyên nào mà mọi người biết có thể quan tâm hoặc sử dụng, bất cứ thứ gì thực sự: Giấy tờ, Sách, Lý thuyết, Hướng dẫn, bất kỳ thứ gì có thể hữu ích.


Câu trả lời:


121

Từ kho lưu trữ của tôi:


5
Wiki Lập trình Cờ vua khá hay.
Paul Wicks


Cảm ơn, ông nội - liên kết hiện đã được sửa.
HTTP 410

Liên kết thứ hai lại bị lỗi.
Imon

1
@Imon, liên kết thứ hai đang làm việc cho tôi.
HTTP 410

31

Khi tạo công cụ chơi cờ vua của mình, tôi đã dành hàng tháng trời để cố gắng thu thập các tài nguyên tốt mô tả một số khía cạnh khó hơn của việc tạo ra một trò chơi cờ vua. Đây là danh sách những thứ tôi thấy hữu ích nhất:

Lập trình cờ vua của François Dominic Laramée

Đây là bài viết đã đưa tôi đến với cờ vua máy tính, Nó là một cái nhìn tổng quan về cách máy tính chơi cờ vua. Nó cực kỳ dễ đọc và nó sẽ giới thiệu cho bạn tất cả các thuật ngữ và từ khóa.

http://www.gamedev.net/page/resources/_/technical/artinating-intelligence/chess-programming-part-i-getting-started-r1014

Wiki cờ vua máy tính , điều này đã thực sự mở rộng trong vài tháng qua. Nó là một nguồn tài liệu tham khảo tuyệt vời.

https://www.chessprogramming.org/Main_Page

Liên kết Cờ vua Máy tính của Louis Kessler

Sau khi bạn xem qua các tài nguyên trên, phần còn lại có thể được tìm thấy tại trang liên kết sau.

http://www.lkessler.com/cclinks.shtml

Cuối cùng nhưng không kém phần quan trọng, tôi viết Blog cờ vua trên máy tính sẽ hướng dẫn bạn tất cả các bước để viết cờ vua trong C # từ đầu, nó bao gồm phần liên kết cờ vua trên máy tính và bộ bắt đầu trò chơi cờ vua.

http://www.chessbin.com

Adam Berent


1

Về cơ bản đây là lĩnh vực Trí tuệ nhân tạo (AI).

Cách phổ biến nhất để khiến máy tính "suy nghĩ" trong trò chơi cờ vua là sử dụng phương pháp mini-max trong đó máy tính "suy nghĩ" bằng cách phân tích kết quả từ việc thực hiện các nước đi khác nhau trước thời hạn so với trạng thái hiện tại.

"Độ tốt" của kết quả từ các nước đi khác nhau có thể được xác định từ nhiều tiêu chí như điểm số, số lượng kẻ thù còn lại, trạng thái chiến thắng, chẳng hạn. Ví dụ, nếu bạn di chuyển người chơi sang bên phải và bạn thắng trò chơi, đó là trạng thái rất tốt. Nhưng nếu bạn di chuyển nó sang trái, bạn không nhận được gì. Di chuyển sang phải là hợp lý. Hàm xác định "độ tốt" này thường được gọi là Hàm Heuristic.

Quá trình này được thực hiện đệ quy trong nhiều lượt. Số lượt càng lớn thì bạn sẽ cần nhiều thời gian hơn. Và số lượt càng lớn thì phần mềm của bạn càng thông minh. Suy nghĩ trước chỉ trong một lượt có thể chỉ dẫn đến sự lựa chọn tham lam. Phần mềm cờ vua thông minh có chức năng phỏng đoán tuyệt vời và suy nghĩ trước trong nhiều lượt.

ps. Có một số chi tiết về thuật toán mini-max mà tôi không giải thích ở đây nhưng điều này sẽ bao hàm ý tưởng cơ bản.


1

Tôi đã tham gia cùng một liên đoàn của Paul Wicks (ở trên), tôi cũng muốn viết một công cụ cờ vua cho mục đích học tập của riêng tôi, hạn chế duy nhất là công việc hàng ngày của tôi (đó là làm việc trên các dịch vụ và công cụ web nhàm chán ..) nhưng giá trị của nó nỗi đau.

Tôi quyết định xây dựng nó bằng cách tiếp cận từng lớp. Tôi gần như hoàn thành với phần nhiều người chơi, tức là (CON NGƯỜI vs CON NGƯỜI).

Sau khi hoàn thành việc này, tôi muốn kết hợp lớp AI để hỗ trợ sơ đồ chơi (MÁY TÍNH vs CON NGƯỜI). Đây là phần mà tôi lo lắng nhất, tôi đã tìm thấy các mẹo trợ giúp rất hay ở đây trong chủ đề này, một lời cảm ơn lớn đến tất cả các bạn.

Hiện tại, ngôn ngữ mà tôi thông thạo là Java, trong trường hợp có sự cố về hiệu suất thì tôi có thể chuyển nó sang C ++.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.