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

Modélisation Discussion :

[A-07] Gestion de joueurs de paint-ball


Sujet :

Modélisation

  1. #1
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut [A-07] Gestion de joueurs de paint-ball
    Je dois créer une base de données sous Access 2007 gérant des joueurs de paint-ball, malheureusement je me heurte à certaines difficultés.

    Chaque JOUEUR a (pour le moment)
    - un identifiant
    - un nom
    - un pseudo
    - un classement (juste un nombre reflétant son niveau)
    - une bannière (logo avec nom d'équipe)
    - un "grade" (par exemple entre 10 et 15 de classement c'est Lieutenant)
    - des "alliés" (joueurs avec qui il joue)

    Comme plusieurs joueurs peuvent avoir la même bannière, j'en ai fais une table:
    BANNIERES
    - Identifiant
    - nom d'équipe

    même chose pour les grades:
    GRADES
    - Identifiant
    - libellé
    - Niveau Minimum

    Par contre je n'arrive pas à savoir trop comment faire pour représenter les Alliances entre joueurs:
    Par exemple, prenons A,B,C et D 4 joueurs.
    Première manche
    - A est allié à B
    - C est allié à D
    Deuxième manche
    - A est allié à C
    - B est seul
    - D est seul
    Troisième manche
    - A est allié à D
    - B est allié à C

    J'aurais donc
    Alliés de A: B, C et D
    Alliés de B: A et C
    Alliés de C: B et D
    Alliés de D: A et C

    J'espère avoir réussi à exposer mon problème clairement et attend votre aide/conseils avec impatience, merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 052
    Points : 24 645
    Points
    24 645
    Par défaut
    Bonjour,

    Pourquoi dupliquer la bannière à la fois dans la table joueur et dans la table équipe ? Dans l'équipe c'est suffisant.

    Ton problème vient du champ partenaire, il te faut une table supplémentaire pour gérer l'alliance.
    • IdPartie (si tu souhaites conserver l'historique des alliances passées ou planifier des alliances pour de future partie.)
    • IdManche
    • IdJoueur1
    • IdJoueur2 (l'allié)


    Cordialement,

  3. #3
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Citation Envoyé par loufab Voir le message
    Bonjour,

    Pourquoi dupliquer la bannière à la fois dans la table joueur et dans la table équipe ? Dans l'équipe c'est suffisant.
    Je pense ne pas avoir été assez clair en fait pour ce point, je vais donc réécrire mes tables avec une notations plus explicite:

    Légende: clef primaire , clef étrangère, [rôle]

    JOUEURS (IdJoueur, NomJoueur, PseudoJoueur, Niveau, RefBanniere, RefGrade)
    BANNIERES (IdBanniere, NomEquipe)
    GRADES (IdGrade, NomGrade, NiveauMini)

    Citation Envoyé par loufab Voir le message
    Ton problème vient du champ partenaire, il te faut une table supplémentaire pour gérer l'alliance.
    • IdPartie (si tu souhaites conserver l'historique des alliances passées ou planifier des alliances pour de future partie.)
    • IdManche
    • IdJoueur1
    • IdJoueur2 (l'allié)


    Cordialement,
    Par contre là j'aimerais une explication, parce que je comprends pas la logique du raisonnement, (et si possible savoir où est la clef dans tout ça)

    Personnellement mon approche là dessus était partie sur une table de ce genre (même légende que précédemment):
    ALLIANCES (RefJoueur[Princ], RefJoueur[Allie])

    Car j'avais vu en formation un exemple qui y ressemblait, Une base de donnée sur des films et les acteurs/réalisateurs de ces films dont le schéma était le suivant:

    FILMS (IdFilm, Titre, RefCat, annee, nation, duree, RefPers[réalisateur])
    CATEGORIES (IdCat, NomCat)
    PERSONNES (IdPers, NomPers, PrenomPers)
    et le point ressemblant (à mon goût):
    ACTEURS (RefFilm, RefPers[acteur])

    Pour définir l'acteur d'un film c'est le lien entre l'identifiant du film et l'identifiant de la personne, donc je m'étais dis que pour définir l'alliance de deux joueurs, c'était le lien entre l'identifiant du premier joueur et celui du second; serais-je dans l'erreur ?

    Quand à l'histoire des manches et des parties, c'était surtout pour illustrer mon propos de manière plus simple, car, dans le cas actuel, il n'en est nullement question, il me faut juste trouver un moyen de conserver toutes les alliances entre joueur (sachant que d'une certaine façon au final cette table ressemblera beaucoup à un "pour chaque joueur ses alliés seront tous les autres" étant donné que l'on en efface jamais le contenu)

    En espérant cette fois m'être montré plus explicite et avoir levé toute ambiguïté.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 052
    Points : 24 645
    Points
    24 645
    Par défaut
    Bonjour,

    Commenté comme cela l'organisation bannière est plus logique.

    Pour le problème des alliances, il faut se poser la question suivante.

    Comment vérifier une alliance si il n'y a pas de critére. Le critère est la manche ou la partie. Après quelques parties tu ne pourras plus savoir quelle alliance est celle en cours, celles précédentes tu vas avoir des doublons (1 joueur ayant plusieurs fois le même joueur allié...)

    Dans le cas d'un film c'est le film qui regroupe les acteurs, un acteur ne peut jouer qu'une seule fois dans un film... même s'il interprète plusieurs rôles. Dans ton cas il faut considérer la partie ou/et la manche comme un film.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion Différents Joueurs
    Par Hemir dans le forum C#
    Réponses: 24
    Dernier message: 05/06/2015, 15h24
  2. Réponses: 20
    Dernier message: 29/03/2014, 12h37
  3. [Debutant] Probleme de gestion des joueurs pour un jeu
    Par Mokette dans le forum Langage
    Réponses: 21
    Dernier message: 10/01/2008, 23h01
  4. Gestion des états du joueur
    Par YéTeeh dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 11/09/2007, 14h33

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