bình tĩnh nào em =)) chỉ là biến bộ não của máy tính thành bộ não con người thôi
Nhờ mọi người test game Caro
e vẫn chưa hiểu lắm, đặt điểm để làm gì ạ?
Mình sẽ viết một hàm để đánh giá lại điểm cho từng ô còn trống trên bàn cờ sau mỗi lượt đánh, để cho máy chọn ô có lợi nhất cho nó (có điểm cao nhất) và đánh vào ô đó. Cách tính điểm từng ô thì ta thử đánh x vào ô đó rồi xem nó tạo thành thế cờ (ngang, dọc, chéo) gì rồi lấy điểm của ô = max( điểm của thế cờ, điểm hiện tại của ô) sau đó thay thế x = o rồi kiểm tra tương tự, xong xuôi thì gán cho ô về là ô trống.
e đang định cho máy đánh bừa 1 ô nào đó xung quanh ô mà mình vừa đánh.
tại sao phải thay x=o ạ?
e nghĩ là chỉ chấm điểm cho bước của máy thôi chứ ạ?
hay là thay cái này để máy chặn đường của mình phải không ạ?
mới học mà nhảy cái này luôn có nên không ạ?
Nếu bác định theo c# đến cùng thì chắc chưa nên nhảy cóc, còn làm cho vui thì nhảy đâu chẳng được
yeah, thế mấy hôm nữa thi xong thì nhảy cóc lên làm cái này.
còn giờ thì mỗi ngày 1 chút làm cái 1 người chơi với máy đã ạ.
Khổ thế em lại học vb.net trước (đang định chuyển sang C#) không thì cùng làm app này với bác cho vui cũng đang có hứng thú với AI
trước e có nghịch VB làm cái máy tính. làm theo trên mạng người ta hướng dẫn bằng C#.
Giả sử ta đánh x vào ô đó thì được thế cờ #xxx#(hàng dọc) nhưng nếu đánh o vào đó ta lại đc #oooo# (hàng ngang) thì rõ ràng thế cờ #oooo# sẽ có điểm cao hơn và nếu x đánh vào ô đó sẽ ngăn cản đc o. Vì thế khi đánh giá 1 ô ta phải đánh giá cả 2 phía cả mình và máy. nên phải thử đánh cả x và o
vâng, e hiểu rồi ạ
Update thêm 1 người chơi với máy ạ.
Mọi người test dùm e với ạ.
Không biết thuật toán tính điểm của e có đúng không ạ
nhờ a @dtien147 check cho e với ạ…
đâu, sao ko thấy
Mà thuật toán là gì ghi ra đây với, t chơi caro toàn thua thôi =))
update link y hệt post 1 mà.
code thì trong /Caro/CoCaro.cs
nha
í… có lỗi nhỏ mình vừa update lại r nha…
t chơi gà mà vẫn thắng được nè :">
hý, thì thuật toán của t chắc là chưa tối ưu, t chỉ tính điểm rồi tìm max cho máy đánh vào thôi.
nếu nhiều max bằng nhau thì nó chỉ chọn đc 1 nên còn các cái khác nó dễ bị thua hơn.
bạn thử chỉ chơi phòng thủ xem, chỉ chặn nó thôi nha
Nó tính được nước đôi không nhỉ
vậy là tốt rồi :3
Game trước của t làm chả có thuật toán gì cả :))
nhờ a @dtien147 kia cmt gọi ý trên kia kìa.
ế, nước đôi chắc là tính được đấy. nhưng giờ thì chưa.
sẽ cải tiến thuật toán sau.