219 | | |
| 219 | Le second exemple est un peu plus compliqué. Il s'agit de programmer un jeu dont les règles sont les suivantes : |
| 220 | * Le jeu se joue avec au plus 4 joueurs. |
| 221 | * Au départ, chaque joueur reçoit une carte tirée au hasard parmi les 100 cartes numérotées de 1 à 100. |
| 222 | * Lorsque tous les joueurs sont servis, ils reçoivent un signal de démarrage. |
| 223 | * Chaque joueur doit alors compter dans sa tête le nombre de secondes à partir du signal de démarrage et poser sa carte lorsque le nombre de secondes écoulées est égal à la valeur de sa carte. |
| 224 | * Si les cartes sont posées dans l'ordre croissant, le tour est gagné. Notez que seul l'ordre est important. |
| 225 | * Si le tour est gagné, chaque joueur reçoit une carte de plus au tour suivant et il devra déposer toutes ses cartes dans l'ordre. |
| 226 | * Si le tour est perdu, on recommence le jeu avec 1 carte par joueur. |
| 227 | |
| 228 | Remarques : |
| 229 | * Le but est de gagner contre le jeu, il n'y a pas un gagnant parmi les joueurs. |
| 230 | * Vous pouvez vous limiter à une carte par tour et compter le nombre de tour gagnant au début. |
| 231 | * Vous pouvez vous limiter à 50 cartes pour réduire la durée d'un tour. |
| 232 | |
| 233 | Pour ce jeu, vous allez devoir écrire 3 programmes : |
| 234 | 1. Le maitre du jeu qui |
| 235 | * enregistre les joueurs, |
| 236 | * leur distribue les cartes, |
| 237 | * donne le signal de démarrage, |
| 238 | * reçoit les cartes |
| 239 | * et teste si l'ordre est correct pour déterminer si le tour est gagnant |
| 240 | 2. Le joueur aspect client qui |
| 241 | * s'enregistre auprès du maitre du jeu |
| 242 | * pose sa carte en envoyant un message lorsque le temps est écoulé |
| 243 | 3. Le joueur aspect serveur qui |
| 244 | * reçoit une carte (un nombre) et c'est le signal de démarrage |
| 245 | * reçoit l'information sur la réussite du tour. |
| 246 | |
| 247 | |
| 248 | |
| 249 | |