| 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 | |