Llicència
Pots copiar i redistribuir aquest material seguint la llicència Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0, indicant-ne autors originals, l'origen (aquesta web), sense fins comercials i mantenint-ne aquesta la llicència
Autors:
Projecte: el Joc Mastermind
- Descarrega't el codi del següent git https://gitlab.com/centellas/mastermind.git.
- Quan vulguis entregar la pràctica afegeix el tag "Mastermind" a la versió1. Assegura't de pujar el tag al git i que el projecte compili.
Sumari
- El joc de mastermind
- Regles del joc
- Adaptacions
- Funcionament i simplificacions
- Final del joc
- 1vs1 o solitari
- El codi
- La UI
- Fonts
El joc de mastermind
Photo taken by ZeroOne (Treball propi) CC BY-SA, https://commons.wikimedia.org/w/index.php?curid=75983
- El Mastermind és un joc de tauler del tipus joc abstracte, on s'usa la capacitat de deducció per esbrinar un codi format per colors. Han aparegut diverses variants
Regles del joc
Un jugador col·loca en secret quatre peces d'algun dels sis colors (es pot repetir el color i posar-los en qualsevol ordre) i l'oponent ha d'esbrinar-los en un nombre limitat de torns. A cada torn, qui intenta endevinar col·loca quatre peces de colors i l'altre respon indicant amb fitxes blanques i negres depenent de la combinació introduïda.
Adaptacions
- Un jugador introdueix una combinació i un segon jugador esbrinarà la combinació
- La nostra tasca principal és programar l'algoritme que avalua si la suposició feta pel jugador és correcte o no
Funcionament i simplificacions
Cada cop que l'usuari introduiex una nova combinació, per cada peça, s'indicarà si ha encertat el color i està en la posició correcte. En cas que no sigui així, avaluarem si la lletra existeix a la combinació secreta però és en un altre lloc.
Exemples:
guess = AABC secret = ADFE
rightPosition=1, wrongPosition=1
- Aclariment: En el joc original com que la A està en el lloc correcte, la segona A no seria una wrongPosition. Nosaltres per simplificar ho farem com a l'exemple.
Mostrarem un Color.Green quan hi ha un encert i Color.Yellow quan existeix en un altre lloc Color.Grey quan no existeix
Final del joc
Guanya l'usuari si encerta la combinació o perd si s'esgoten els 12 slots.
1vs1 o solitari
El joc tindrà dues modalitats de joc.
En la primera, un primer usuari introduirà la combinació secreta i un segon usuari haurà de descobrir-la. En una segona modalitat el programa generarà una combinació aleatòria que haurem d'endevinar.
El codi
El codi consta de dos packages ui i model on hi ha les classes que s'encarreguen de pintar les pantalles.
Per executar el codi has d'executar la funció main de l'arxiu Main.
Mastermind és l'arxiu que conté l'esquelet de les funcions que has de modificar en concret el mètode solve. Pots afegir tots els mètodes que necessitis, i en principi no hauries de modificar la interfície d'usuari
La UI
Fonts
- https://ca.wikipedia.org/wiki/Mastermind
-
per afegir un tag desde l'IntelliJ fes clic a VCS -> Git -> Tags. Al fer push, marca l'opció push tags. ↩