Dépendances :

  • sfml
  • cmake
  • doxygen
  • sphinx

Comment compiler et lancer le programme :

  • mkdir build
  • cd build
  • cmake .. && make
  • Lancement :
    • Server : ./server.out
    • Client : ./client.out

Les DEUX clients doivent renseigner l'adresse locale du serveur et le port comme ceci : 192.162.XX.XXX:XXXX

Une fois en jeu, chaque client reçoit une instruction en bas à gauche de son écran de jeu. Celui-ci doit soit : - Choisir une combinaison occulte pour le tour en cours; - Essayer de décoder la combinaison occulte.

Spécifications :

  • réseau :

  • Client / serveur

  • peer to peer ?

  • jeu :

  • 2 joueurs : * Codeur * Décodeur

  • pas IA

  • 4 trous

  • 8 couleurs

  • 12 essais

  • correcteur : * noir -> bien placé * blanc -> mal placé * vide -> couleur pas présente

  • calcule points * Nombre d'essais * temps pour finir ?

  • Interfaces graphiques : * cli * gui

  • misc :

  • Les rêgles du jeu:

    • Pour commencer, il faut décider du nombre maximum de manches à jouer.
    • Un joueur (le codeur) commence par placer ses pions. Ceux-ci ne doivent pas être vus de l'autre joueur (le décodeur).
    • Le decodeur doit trouver la combinaison du codeur.
    • Il est interdit de placer deux fois le même pion dans une combinaison.
    • Pour cela, à chaque tour, le decodeur a 1 minute pour créer une combinaison.
    • Une fois les pions placés, la correction sera automatiquement faite avec :
      • un pion blanc pour indiquer que la couleur est bien placée.
      • un pion noir pour indiquer que la couleur n'est pas bien placée.
      • rien si la couleur ne fait pas partie de la combinaison cachée.
    • Le decodeur continue ainsi en proposant sur la seconde ligne une autre combinaison, en prenant en compte les indications des languettes noires et blanches. Il a le droit à 12 essais pour déchiffrer le code.
    • Le nombre d'essais est ajouté au score du décodeur courant. Si le décodeur n'a pas réussi à trouver le code, celui-ci se voit ajouter 20 points au lieu de douze, et le codeur se voir retirer 5 points.
    • Les rôles sont alors inversés et le jeu recommence.
    • La seconde manche commence après que les deux joueurs soient passés par les deux rôles.
    • Le gagnant d’une partie de Mastermind est celui qui a le moins de points à la fin de toutes les manches.