Proiect AA
Chifor Ioan-Eduard, 334CA
mailto:edward_chifor@mymail.ro
1.
Jocul Halma
Jocul Halma consta intr-o tabla de 8x8 (tabla de sah) pe care sunt asezate 12 piese: 6 de o culoare si 6 de alta culoare, ca in imagine.
Scopul jocului este acela de a deplasa piese tale din coltul initial in coltul opus, in locul pieselor adversarului, mutand ca la jocul de dame, cu deosebirea ca piesele nu se captureaza.
Programul a fost scris in C#. El ofera optiunea de a seta nivelul de dificultate in jocul impotriva calculatorului, de a alege culoarea dorita atat pentru tine cat si pentru oponent, de a decide cine muta primul, cat si optiunea de multiplayer, jocul desfasurandu-se intre doua persoane.
De asemenea mai contine si fereastra instructiuni unde sunt prezentate regulile de joc.
Algoritmul implementat este algoritmul MinMax. Implementarea acestuia se bazeaza pe Backtracking pentru a determina mutarile posibile si l-am implementat in doua metode recursive, care se apeleaza ca in schema urmatoare.
Nivelul de dificultate setat de utilizator determina complexitatea algoritmului.
Algoritmul a fost implementat in metodele computersMove, pawnMove, nextMove si evalMove. Prima initializeaza datele pentru inceperea analizei si decide la sfarsit daca calculatorul a invins. A doua (stanga schema) itereaza dupa pionii fiecaruia, lansand-o pe a treia pentru a analiza mutarile posibile ale acestora. A treia determina mutarile posibile, le evalueaza cu evalMove si trece la pasul urmator. Ultima evalueaza mutarea.
Analiza se extinde in felul urmator:
Programul necesita Microsoft .NET Framework instalat pentru a rula.