IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Projet dans le cadre d'étude : Poker


Sujet :

avec Java

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Points : 45
    Points
    45
    Par défaut Projet dans le cadre d'étude : Poker
    Bonjour,

    Je suis étudiant ingénieur, et ce semestre je débute en langage orienté objet et Java. J'ai un projet qui consiste a créer une application Clients / Server Multi-Thread pour un jeu de poker.

    Je vous explique un peu le principe de l'application :
    - Un croupier (robot) distribue 3 cartes fermées
    - Chaque joueur (4 max) peut miser ou se coucher
    - Le croupier dispose 2 cartes sur la table
    - Chaque joueur peut se coucher ou enchérir (3 fois max)
    - Selon les joueurs restants, on regarde qui a gagné (paire, double paire, brelan, ...)

    Si un joueur souhaite se connecter à une table :
    - la table est pleine (4 joueurs) -> connexion rejetée
    - la table n'est pas pleine :
    * le joueur n'est pas enregistré dans la base de données, il doit s'enregistrer (nom, prénom, chips)
    * le joueur est enregistré -> connexion acceptée

    Requêtes que peut envoyer un joueur au croupier :
    - cust mise ... encherir de ...
    - cust giveup se coucher
    - cust exit quitter la table
    - cust attributs "nom" "prénom" "argent" s'enregistrer

    Requete que peut envoyer le croupier au joueur
    - supp who connexion
    - supp new inscription
    - supp cartesFermee ... ... ... distribution cartes fermées
    - supp carteOuvertes ... ... distribution cartes ouvertes
    - supp pot annonce vainqueur et donne les gains


    Voila pour le principe, en fait on a pas vraiment commencé java, on a plus commencé à voir le langage Objet et je ne vois pas par quoi commencer. J'ai débuté par faire un diagramme UML de cas d'utilisations ainsi qu'un trame d'un diagramme UML de classe, mais je pense que toute l'application est construite autour du serveur (peut-être une classe Client et une classe Server)

    Je vous demande donc si vous avez des petites suggestions a me faire pour bien commencer se projet qui est relativement important dans le cadre de mes études.

    Merci d'avance.

    Spirit

    PS : Si je le sujet est dans la mauvaise section, merci de le déplacer.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    UML est un bon début.
    Si ce projet est important, alors tu peux d'abord le faire fonctionner "sur le papier", en gardant à l'esprit que le développement sera itératif : tu vas coder un peu, tester un peu, coder un peu, tester un peu.... l'avantage, par rapport à un développement massif en une fois, c'est qu'à tout moment tu as une appli qui fonctionne. Les fonctionnalités vont s'ajouter une à une. Donc si tu es trop court dans les délais, il y aura toujours quelque chose à donner ;-)
    Si tu es tout seul sur le projet, ça va aller. Par contre, si c'est une équipe, c'est un peu plus délicat. Mais dans tous les cas, quelque soit le choix de la méthode de développement, réfléchir sur le papier, régler les problème technique en amont. Faire des essais pour résoudre ces problèmes techniques et les capitaliser pour qu'ils soient plus ou moins directement utilisable dans l'appli.

    Ensuite, techniquement, il n'y a pas grand chose à utiliser d'autre que le package "java.net" (pour ServerSocket et Socket) et "java.lang" (pour Thread et peut-être ThreadGroup).

    Il est primordiale de ne pas se compliquer la vie au départ, tout en gardant à l'esprit de coder le plus génériquement possible. Je pense par exemple à l'interface graphique. Faire le plus léger possible sans pour autant se fermer des portes dans les choix d'architectures.

    Sur une question comme ça, on pourrait philosopher des semaines entières. Alors je m'arrête là.
    Allez ! Stylo, feuille et go, go, go

  3. #3
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Salut !

    Si j'étais toi, je ferais une webapp pour le serveur qui serait joignable en webservices.

    L'avantage c'est que du coup tu peux jouer sur le fait que tu as fait à la fois une interface client lourd pour le client, et un client léger pour le serveur, et aussi que tu as utilisé des webservices.

    Pour créer des webservices très facilement, je te conseille de regarder XFire ( codehaus ) qui permet de générer un wsdl et de mettre le webservice en écoute en se basant uniquement sur une interface Java et une implémentation.

    Pour le client lourd, je te conseille de le créer avec Netbeans qui te facilitera la création du GUI.

    Sinon dans l'ensemble, partir sur de l'UML est une bonne chose, cependant je mettrais toute mon attention sur la partie test avant de developper. Il faut que tu écrives tous les scénarios possibles de ton application, et qu'ils passent tous quand tu auras fini le projet, sans régression.

    Bon courage

Discussions similaires

  1. Interview dans le cadre des études d'infographie
    Par Joumf dans le forum Interviews
    Réponses: 0
    Dernier message: 24/10/2011, 15h02
  2. [Bonne pratique] Comment utiliser Subversion dans un cadre multi-projets/multi-domaines?
    Par Nixar dans le forum Subversion
    Réponses: 2
    Dernier message: 09/06/2011, 14h04
  3. Redévelopper un projet pro dans un cadre perso
    Par Jarodd dans le forum Juridique
    Réponses: 5
    Dernier message: 24/05/2011, 10h02
  4. Réponses: 1
    Dernier message: 14/12/2009, 11h07
  5. Réponses: 6
    Dernier message: 08/02/2008, 22h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo