Hiện tại mình đang làm một bài tập với Thuật toán Minimax, Làm game Tic tac Toe với minimax - Lập trình với C++ - Sử dụng abtract và class chứ không làm theo kiểu của C Ai có thể giúp mính một chút được không?
Làm Tic Tac Toe với Minimax không khó lắm. Trên mạng có rất nhiều bài để tham khảo Trên Codeproject có một bài viết bằng C# rất hay có thể tham khảo được http://www.codeproject.com/KB/game/TicTacToeByMinMax.aspx Có đầy đủ mã nguồn và hướng dẫn chi tiết.
Vậy có project viết bằng C++ để mình có thể tham khảo luôn được không? C# có cách viết khác và dễ hơn C++ rất nhiều nên khó mà chuyển từ C# sang C++ lắm :P
Làm bài tập để học hỏi lập trình mà đòi có cả một project hoàn chỉnh thì làm biếng quá rồi: :( C# cũng có cấu trúc rất giống với C++ nếu muốn có thể chuyển code sang C ++ dễ dàng thôi. Tham khảo rồi có chỗ nào không hiểu post lên mọi người cùng trả lời chứ
Hi vọng cái này có thể giúp được bạn http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html Nói chung thuật giải minimax dành cho các game đối kháng (2 người chơi) thì bao gồm 3 phần: 1. Hàm phát sinh nước đi. 2. Hàm đánh giá. 3. Hàm Tìm Kiếm.
Đối với Minimax, mình đã từng làm nên cũng hiểu có gì có thể hỏi mình mình sẽ chỉ cho Về thuật toán Minimax, trên Wikipedia đã hướng dẫn rất kỹ càng http://en.wikipedia.org/wiki/Minimax Bạn có thể lên để tham khảo và có thắc mắc gì cứ lên hỏi sẽ có người giúp
Về phần Minimax, thuật toán Minimax có thêm những thuật toán nằm ở phía trong nhằm làm giảm bớt sự dư thừa khi check các node trong Minimax Trong đó có alpha và beta, trên wikipedia cũng có nêu rõ thuật toán hỗ trợ này: http://en.wikipedia.org/wiki/Alpha-beta_pruning Đây là phần nói về Alpha Beta pruning, đối với Minimax mà nói thì nó không giúp nhiều nhưng những trò lớn như Cờ caro, cờ vua thì đây là thứ không thể thiếu Nó giúp giảm tải gánh nặng mà CPU phải xử lý xuống rất nhiều