Projekt TorqChess


Pierwsze programy szachowe i pierwsze techniki pisania programów szachowych pojawiły się praktycznie wraz z pierwszymi komputerami. To bodaj von Neumann jako pierwszy sformułował zasadę, która mówi, że aby grać w szachy maszyna powinna przeszukiwać wszystkie możliwe ruchy, wszystkie możliwe odpowiedzi przeciwnika na nie, itd.

Z punktu widzenia złożoności obliczeniowej szachy są grą dość trudną. Ilość wszystkich możliwych pozycji szacuje się na ok. 10120 (dla porównania : warcaby ok. 1040, go ok 10760). Przeszukanie całego drzewa jest więc niemożliwe.

Projekt TorqChess, który rozpocząłem w sierpniu 2001, ma na celu stworzenie rozsądnie grającego programu szachowego. Ponieważ projekt realizowany jest z boku jakiejkolwiek działalności naukowej czy komercyjnej, więc za interpretację określenia 'rozsądnie' przyjąłem 'co najmniej tak dobrze, żebym sam przegrywał z nim w większości partii'. Postanowiłem nie wzorować się na istniejących kodach źródłowych (chociażby GNU Chess), aby nie przywiązywać się do już ugruntowanych rozwiązań programistycznych.

W wersji 0.01 alpha, która jest pierwszą wersją publiczną, TorqChess: W kolejnych wersjach (jeśli powstaną) planowane jest:

TorqChess v.0.01 alpha

Zdecydowałem się udostępnić kod źródłowy programu TorqChess. Być może lepiej spełni swoje zadanie, jeśli pomoże komuś nauczyć się jak napisać prosty program szachowy.
Jeśli komuś ten kod na coś się przyda, chce o coś zapytać, coś podpowiedzieć lub zasugerować lub wprowadzić jakieś zmiany do programu: proszę o kontakt.
Program był kompilowany przy pomocy Dev-C++ 4.1. Powinien dać się skompilować każdym kompilatorem języka C++, wspierającym programowanie Win32API.

I have decided to make the TorqChess source code avaliable to the public. I hope it will help someone to learn how to write a simple Chess playing program.
If you use it for any purpose and you would like to ask for something, suggest something or to make any changes to the code, feel free to contact me.
The code was compiled with Dev-C++ 4.1. You should be able to compile it with any C++ compiler that supports Win32API.

Pobierz kod źródłowy programu / Download the source


Literatura:
Francois Dominic Laramee - Chess Programming, {www.gamedev.net}
Stanisław Kacprzak - W krainie szachów
Charles Petzold - Programming Windows