Catégorie / Domaine : | Jeux |
Compatibilité SCOL Voy@ger : | V 2.0c et supérieure |
Mise à jour : | 06/2000 |
Ce module implémente un jeu de LOTTO d'après les règles du jeux de société qui sont rappelées dans le paragraphe suivant. Son interface graphique peut être modifiée en changeant le contenu de différentes images bitmap mais le format (nombre de couleurs et dimensions) ne devra cependant pas être modifié. Ainsi les jetons pourront contenir des symboles au lieu de numéros.
# Règles du jeu:
But du jeu : gagner un maximum de points; pour cela chaque joueur doit remplir les cases numérotées d'une grille qui en comporte 15.
Avant de commencer la partie : Le joueur qui vient de se connecter apparaît dans la liste "Free Players". Une grille lui est proposée mais tant qu'il n'est pas inscrit dans une partie, il peut la remplacer par une autre. A chaque fois cette grille est générée aléatoirement. Lorsque la grille lui convient, le joueur peut s'inscrire dans une partie en double-cliquant sur celle-ci ou en créer une nouvelle en entrant un nom pour la nouvelle partie et en cliquant sur le bouton créer. Si le nom proposé existe déjà, un numéro lui sera ajouté. Une partie nouvellement créée se détruira automatiquement après un temps Tl si aucun joueur n'a rejoint la partie. Si un deuxième joueur rejoint la partie, le jeux commencera au bout d'un temps Tb ce qui permet à d'autres joueurs de se joindre à la partie avant que celle-ci commence. Un joueur peut se connecter à une partie en cours.
Pendant la partie : Une fois connecté à une partie, le joueur ne peut plus changer de grille ou joindre une autre partie. Tous les temps Tf un jeton est proposé. Il est tiré au hasard parmi l'ensemble des numéros présents sur les grilles de tous les joueurs de la partie. Si un joueur le reconnaît sur sa grille il doit double-cliquer sur le jeton pour l'obtenir et ainsi remplir sa grille. Certains numéros peuvent être présents sur les grilles de différents joueurs. Dans ce cas c'est le joueur qui l'aura demandé le premier qui l'aura au détriment des autres. Mais attention, si un joueur demande un jeton auquel aucune des cases de sa grille ne correspond, un des jetons gagnés lui sera repris.
Fin de partie : La partie se termine si un joueur a rempli sa grille ou s'il ne reste qu'un joueur (les autres ayant abandonné la partie). Dans ce deuxième cas, le joueur restant est déclaré gagnant. Après l'affichage des scores, la partie est détruite au bout d'un temps Te et les joueurs sont replacés dans la liste "Free Players".
Score : Chaque case remplie rapporte 1 point, chaque ligne complétée rapporte un bonus de 5 points et la grille complétée rapporte un bonus de 30 points. Ce qui fait 60 points pour le gagnant. Les scores sont communiqués aux autres modules par l'intermédiaire d'un événement score.
# Linterface graphique de lutilisateur comporte les éléments suivants :
· La liste des parties
· Une ligne d'édition avec un bouton pour créer une nouvelle
partie
· La liste des joueurs dans la partie sélectionnée
· La grille de lotto
· Une zone pour proposer les jetons
· Un bouton pour demander une nouvelle grille
· Un bouton pour quitter la partie
Figure 1 : Interface du module Lotto
(1) : Nombre maximum de joueurs => paramètre le nombre maximum de joueurs
(2) : Nombre maximum de parties => paramètre le nombre maximum de parties
(3) : Temps avant de supprimer une partie à un joueur => paramètre le laps de temps (en secondes) avant quune partie ne soit supprimée à un joueur
(4) : Temps avant le début dune partie => paramètre le laps de temps (en secondes) avant le début dune partie
(6) : Temps entre les jetons => paramètre le laps de temps (en dixièmes de secondes) entre chaque sortie de jeton
(7) : Temps avant la suppression dune partie finie : paramètre le laps de temps avant quune partie finie ne soit supprimée
Ouvrez l'arbre de création du SCS. Sélectionnez le dossier Games
puis double-cliquez sur Lotto1.0.
Etablissez les liens nécessaires au projet.
Action | Fonction |
module.événement à lotto.start | Démarre le module |
module.événement à lotto.destroy | Ferme le module |
module.événement à lotto. !changeLogin | Met à jour le login dun client quand celui-ci est modifié. |
module.événement à lotto.register | Enregistre le client et créé son interface graphique pour le jeu. Celui-ci apparaît alors dans la liste des joueurs |
module.événement à lotto.unregister | Ne prend plus en compte le client. Son interface de jeux est détruite. Il napparaît plus dans la liste des joueurs. |
module.événement à lotto.show | Affiche linterface graphique du jeu |
module.événement à lotto.hide | Cache linterface graphique du jeu |
module.événement à lotto.regAdmin | Permet de se faire reconnaître comme administrateur (affiche un onglet Setup dans la zone Board (permet dafficher la zone Admin)) |
Evénement | Fonction |
lotto.entering à module Action |
La demande denregistrement dun utilisateur dans le jeu engendre une action |
lotto.in à module Action | La fin de linitialisation du client engendre une action |
lotto.destroyed à module Action | La destruction du client engendre une action |
lotto.shown à module Action | Laffichage de linterface graphique du jeu engendre une action |
lotto.hidden à module Action | La disparition (mais pas la destruction) de linterface graphique du jeu engendre une action |
lotto.log à module Action | Lenregistrement dune phrase dans le log (quand lutilisateur rentre dans le jeu) engendre une action |
lotto.score à module Action | La communication du score dun client engendre une action |
lotto.select à module Action | La sélection (clic sur le pseudo) d'un utilisateur engendre cet événement |
Zone | Fonction | Interface | Affectation |
lotto.board | Contient la zone cliente pour le jeu | Client (400 x 300 pixels) | Non |
lotto.admin | Contient la zone client pour ladministration. Nest accessible que par les administrateurs et permet de paramétrer le jeu | Client (315 x 190 pixels) | Oui |