Warning: Illegal string offset 'name' in [path]/includes/functions.php on line 6845
Felicity - sự trở lại của Saola, hay Ký sự phiêu lưu tại Giải cờ máy Thế giới Đài Loan
Close
Login to Your Account
Kết quả 1 đến 10 của 55

Threaded View

  1. #25
    Ngày tham gia
    Apr 2010
    Bài viết
    122
    Post Thanks / Like

    Mặc định

    Trích dẫn Gửi bởi taipscode Xem bài viết
    Bác nói đúng rùi đấy ,vấn đề đồ họa thì không quan trọng (cái này dễ) ,chủ yếu là làm sao chạy được file engine.exe và nguyên lý hoạt động của file này .(có thể dùng c# hay vb.net,visual c++ ,hay ngôn ngữ nào thông dụng cũng được ..)
    Nếu bạn viết được các GUI dễ thì đã được 50% rồi đó. Giờ chỉ còn bỏ công bỏ sức vào nữa thôi

    1) Cần phải chạy được các engine cờ và phải bắt được chúng in ra cái gì, đồng thời ta phải đưa được các lệnh điều khiển (dạng text) cho các engine đó. Cái kỹ thuật chạy chương trình này trong lòng chương trình kia gọi là chạy pipe
    2) Các engine cờ không in "lung tung" ra màn hình, lệnh điều khiển đưa vào cho chúng cũng không "lung tung". Thực chất chúng theo các quy định của cờ máy. Tập hợp các lệnh/quy định đó gọi là Protocol. Hiện có hai protocol phổ biến, có tên là Winboard protocol và UCI protocol. Người viết GUI phải nắm được các protocol này

    Nắm được 2 cái trên, rồi viết chương trình đồ hoạ cho chúng nữa là xong

    Ngày xưa việc 1) là rất khó vì phải nắm sâu hệ thống và có nhiều thứ rất tỷ mỷ. Bây giờ dễ hơn nhiều bởi vì có khá nhiều thư viện, open source giúp cho việc này.

    Còn dễ hơn nữa, chess GUI dạng open source giờ trên Internet cũng rất nhiều. Đủ loại ngôn ngữ lập trình: C, C++, C#, Pascal, Python, JavaScript... Giờ chỉ cần bạn tìm hiểu rồi chọn một cái phù hợp, sau đó sửa theo ý mình là xong. Nhiều GUI không có phần Cờ tướng thì có thể thêm vào => 30% công việc nữa

    Bản thân tôi cũng đã viết và cho trên github một chương trình cờ dùng để quản lý và thi đấu cho các engine. Chương trình này cho cờ Vua, không có đồ hoạ nhưng thực hiện được các công việc quan trọng nhất: chạy được các engine trong lòng nó, hiểu được cả Winboard và UCI protocol, cho các engine này thi đấu với nhau và lấy kết quả. Tôi cũng không tự viết cái việc (1) mà dùng một thư viện mở có tên là TinyProcess.

    Chương trình của tôi có tên là Banksia. Mã nguồn ở đây:

    https://github.com/nguyenpham/Banksia

    Good luck!
    Lần sửa cuối bởi chezz, ngày 23-04-2020 lúc 10:09 AM.

Felicity - sự trở lại của Saola, hay Ký sự phiêu lưu tại Giải cờ máy Thế giới Đài Loan

Đánh dấu

Đánh dấu

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
.::Thăng Long Kỳ Đạo::.
  • Liên hệ quảng cáo: trung_cadan@yahoo.com - DĐ: 098 989 66 68