Những điều mờ ám về luật cờ tướng
Bản thân luật của cờ tướng xưa nay chưa từng thống nhất, ví dụ quan trọng nhất là luật lặp.
Phần luật lặp trong "Luật thi đấu cờ tướng" (《象棋竞赛规则》) và "Luật cờ tướng thế giới" (《世界象棋规则》, trước đây gọi là Quy lệ thi đấu cờ tướng châu Á) ngoài đời chưa phải là luật cờ đạt chuẩn: không chặt chẽ, không chính xác, nói lập lờ, nước đôi, tính chủ quan mạnh. Mỗi trọng tài có cách hiểu riêng.
Điều này khiến luật trong chương trình cũng không thống nhất, luật chương trình do các tác giả khác nhau viết không hoàn toàn giống nhau.
Vì vậy giữa các engine, giữa các nền tảng khác nhau xuất hiện bất đồng về luật cờ là chuyện rất bình thường.
Một số nền tảng cấm thêm một số kiểu lặp, những chỗ xung đột với luật của engine chính là cái gọi là "luật cờ giết người" (棋规刀), ví dụ luật engine cho rằng vòng lặp này hòa 0 điểm, nhưng nền tảng xử vòng lặp này là phạm luật.
Để đối phó với tình trạng luật không nhất quán này, Pikafish đã dựa trên "Luật cờ tướng thế giới" để soạn ra một bộ luật chương trình chặt chẽ. Văn bản luật chi tiết có thể xem ở liên kết sau: Luật thi đấu chương trình cờ tướng (HTML)
Về cách triển khai cụ thể trong mã nguồn, xem trên GitHub.
