PROJET JAVA

Jeu, Questions pour un Miagiste

en RMI

Auteurs : DEVOS Gwenael et LOTFI Fouad, étudiants IUP Miage 3ème année.
Professeur : M. BUFFA

1) Présentation du jeu

jeu.jpg (40611 octets)

 

- But du jeu

Le but du jeu consiste à repondre le plus rapidement possible et correctement, bien sûr, aux questions posées, c'est un jeu donc un jeu de rapidité et de réflexion.
"Questions pour un Miagiste"  peut se jouer à partir de 1 joueur à N joueurs,  nous avons limité N à 10, pour des raisons de lisibilité de l'interface graphique.
Pour chaque question, 3 propositions A, B et C sont faites , le candidat devra alors   répondre en sélectionnant la réponse en cliquant sur un des 3 boutons A, B, C correspondant aux propositions.
 
Le vainqueur de la question sera celui qui aura répondu correctement le plus rapidement.
Pour chaque bonne réponse, le candidat est félicité, il lui est crédité un point, les aux autres joueurs sont avertis du vainqueur de la question ainsi que la réponse qu'il fallait donner, une pause est faite de 3 à 5 secondes, puis une nouvelle question est posée.

Pour chaque mauvaise réponse, le candidat est blâmé, il lui est retiré un point, les aux autres joueurs sont avertis que le candidat a mal répondu à cette question mais il ne leur est pas précisé la réponse qui a été donnée, pour ne pas les aider.

Le vainqueur du jeu sera alors celui qui aura atteint un nombre de points fixé, 15 points par exemple, ou un nombre limite de questions, par exemple 20 questions. Les scores des candidats peuvent être négatifs. Toute modification des scores, est réperctuée immédiatement sur tous les clients.
 

2) Démarrage du jeu

- Côté Serveur

Pour lancer le jeu, lancer une partie sur le serveur, voilà le modéle, il faut préciser :

(>)java Serveur <machine> <numeroDePort> <nombreJoueurs> [<fichierTexteQuestions>]
(>)java Serveur erato 1099 3 questions.txt
l le nom de la machine serveur ainsi que son numéro de port, il est pris alors comme machine : <machine>.unice.fr
l le nombre de joueurs, ce nombre peut varier de 1 à N joueurs, N a été fixé à 10 pour des raisons pratiques d'agréement d'interface graphique.
l préciser la source du questionnaire, soit en spécifiant le fichier texte où sont contenues les questions soit par défaut, se connecte à la base de donneés paramétrée par défaut, Oracle 7.3 pour récuperer les questions, ceci à travers JDBC. Il est à noter que les fichiers textes des questions sont stockées dans le répertoire questions dans le repertoire serveur.

Lorsque la partie est lançée sur le serveur, le jeu commencera alors dés que le nombre de joueurs attendus se seront connéctés.

- Côté Client

Il suffit alors pour le client, lorsqu'une partie est organisée, de taper :

(>)java Client <machine> <numeroDePort> <nomClient>

(>)java Client <machine> <numeroDePort> <nomClient>
(>)java Client erato 1099 Toto
l le nom de la machine serveur ainsi que son numéro de port où a été lançé la partie sur le serveur
l le nom du Client avec lequel il sera nommé dans l'application

3) Structuration de la modélisation

modele.jpg (50801 octets)

Les classes d'interface graphique ne figurent pas dans le modèle pour des raisons de simplification du diagramme de classes (c'est à dire les classes Aide, FermerFenetre, les classes Panel*, Ecoute*).

Aide

Classe d'aide en ligne

Client

Classe possédant le main, et qui permet au client de lançer le jeu

Connexion

Classe qui permet de sauvegarder la connexion à l'objet Remote du Serveur

EcouteBouton

Classe d'écouteurs d'évenements sur l'interface graphique cliente

EcouteMenu:

Classe d'écouteurs d'évenements sur l'interface graphique cliente

FermerFenetre

Classe d'écouteurs d'évenements sur l'interface graphique cliente

Informations

Classe contenantl'information Scores, Question et Message pour l'affichage client

Joueur

Classe qui modélise un joueur

JoueurGraphique

Classe qui construit l'interface graphique cliente

JoueurRaffraichissable

Interface permettant au serveur de communiquer avec les clients

Message

Classe qui est utile à l'affuchage des informations sur le client

PanelCompteur

Classe utile pour l'interface graphique du client

Partie

Classe qui modélise la partie

PanelQuestion:

Classe utile pour l'interface graphique du client

PartieInterfaceDistante

Interface permettant aux clients de communiquer avec le serveur.

Question

Classe modélisant les questions

Questionnaire

Classe modélisant le questionnaire de questions-réponses

Scores

Classe modélisant les scores

Serveur

Classe possédant le main, et qui permet au serveur de lançer la partie

Source

Interface qui représente le concept de source de données

SourceFichier

Classe qui est une Source par fichier

SourceJdbc

Classe qui est une Source par base de données via JDBC

4) Téléchargementdu fichier

 

Le projet est compréssé dans un fichier ZIP, nommé projetJava.zip, il contient encore 3 fichiers ZIP :

- CLIENT.ZIP

La partie Cliente contient dans un répertoire client, les fichiers *.java, et *.class.

- SERVEUR.ZIP

La partie Serveur contient dans un répertoire serveur, les fichiers *.java, et *.class, et dans un repertoire questions sous serveur, sont contenues les fichiers *.txt qui sont les sources du questionnaire et qui sont sélectionnées lors du démarrage du serveur.

- JAVADOC.ZIP

La documentation JavaDoc, le fichier contient les fichiers HTML, ainsi qu'un repertoire images utiles pour JavaDoc.

Télechargez ici le projet