$29.99
Joc: (generalizare Mastermind) Jucătorul A are bile de n culori diferite, câte m bile de fiecare culoare.
Jucătorul A alege k bile, fără ca alegerea să fie vizibilă pentru jucătorul B. Un pas al jocului constă în:
● Jucătorul B propune o secvență de k culori. O culoare se poate repeta de cel mult m ori.
● Jucătorul A indică o valoare între 0 și k corespunzătoare numărului de potriviri de culori și poziții între secvența propusă de B și bilele alese la începutul jocului.
Dacă după cel mult 2*n pași jucătorul B a propus secvența de culori corespunzătoare secvenței de k bile alese de jucătorul A, jucătorul B câștigă jocul. Altfel, câștigă jucătorul A.
Demo online pentru n=8, k= 4,6 sau 8 care include și indicarea culorii corecte fără a fi și poziția corectă (cerință care nu e inclusă mai sus): https://www.webgamesonline.com/mastermind/index.php
Etape de rezolvare:
1. (0.2) Implementați funcția de inițializare (primește ca parametrii n, m și k, întoarce starea inițială) și funcția care verifică dacă o stare primită ca parametru este finală, caz în care întoarce câștigătorul.
2. (0.2) Implementați o funcție care alege aleator k bile din cele m*n disponibile.
3. (0.2) Implementați o funcție care compară o secvență de k culori cu secvența generată de funcția anterioară și întoarce o valoare între 0 și k corespunzătoare numărului de potriviri între cele două șiruri.
4. (0.3) Implementați o interfață pentru jucătorul B uman, cu posibilitatea introducerii unei secvențe de culori, afișarea numărului de potriviri și afișarea câștigătorului jocului.
5. (0.7) Implementați o strategie pentru jucătorul B folosind algoritmul MINIMAX cu retezarea ALPHA-BETA.
Bonus: Implementați o strategie pentru mastermind care câștigă cel puțin două din trei partide, folosind interfața de aici (selectați Mastermind din meniul Select Game Type, editați codul, dați Run din dreapta sus): Demo Online Code Editor - aigaming.com
Informații suplimentare:
● https://drive.google.com/file/d/1Ai51BfWuuqGXS86MZXJATxKXM0W2s6JH ● https://github.com/adjl/Mastermind
Pentru laboratorul 5: Punctele 1 și 2.
Pentru laboratorul 6: Punctele 3 și 4.