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

Access Discussion :

Gestion de score d'un club de jeu


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Gestion de score d'un club de jeu
    Bonjour et d'avance merci des réponse que vous pourrez m'apporter ou de l'aide fournie.

    Voila, je cherche a faire une base de données assez simple pour gerer les scores et les classements d'un petit club de jeu.

    Concrètement, je cherche à créer un formulaire simple contenant:

    • La date de la séance de jeu
    • Le nombre de participants lors de cette séance de jeu
    • le nom des personnes présentes
    • et le score de chacun, sachant que ce score change en fonction du nombre de participants


    J'ai donc créé une table avec la liste des noms des joueurs et une table pour le suivi des scores avec pour champs:

    • date de la séance
    • nom
    • score


    et c'est à partir de là que je bloque.
    J'ai essayé, dans mon formulaire, en passant par une présentation tabulaire de créer quelque chose mais sans succès car je ne sais pas comment intégrer le fait que le score change en fonction et de la place et du nombre de joueurs présent.

    D'une manière générale, le calcul de points se fait ainsi:

    • vainqueur: (nombre de participants) + 5 (victoire = bonus de 5 pts)
    • second: (nombre de participants -1) + 3 (2ème place = bonus de 3 pts)
    • troisième: (nombre de participants - 2 ) +1 (3ème place = bonus de 1 pt)
    • quantrième: nombre de participants - 3
    • cinquième: nombre de participants - 4
    • sixième: nombre de participants - 5
    • etc ...


    Je vous remercie de toute les pistes que vous pourriez me donner.

    Hélène

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Je te suggère l'architecture suivante :

    Table Joueur :
    ClefJoueur (Numero Automatique, Celf primaire)
    Autre info sur joueur

    Note que le nom d'une personne n'est pas un bon identifiant unique cra plusieurs personnes peuvent porter le même nom. Personnellement, je connais dans mon environnement proche une douzaine de Martin ROY.

    Table Partie :
    ClefPartie (Numero Automatique, Clef primaire)
    DatePartie (Champ DateHeure, Attention ne pas utiliser le nom "Date" pour un champ car il y a aussi une fonction Date et cela crée de la confusion).
    Autre info sur partie

    Table RangPartieJoueur :
    ClefRangPartie (Numero automatique, Celf primaire)
    ClefPartie (Entier long)
    ClefPersonne (entier long)
    RangPersonne (entier long)

    Mettre aussi un "Index Unique composé" de ClefPartie + ClefPersonne (empèche que la même personne participe deux fois à la même partie)

    Relation entre Personne et RangPartieJoueur sur ClefPersonne
    Relation entre Partie et RangPartieJoueur sur ClefPartie

    Après tu crée une fonction de calcul du score en fonction du rang

    À mettre dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public function CalculerScore(prmPartie as long, prmRang as long) as long
       dim result as long
       dim nbParticipant=DCount("ClefPersonne","RangPartieJoueur ","[ClefPartie]=" & prmClefPartie) 'Trouve le nombre de participants dans la partie.
     
       select case prmRang
           case 1: result=nbParticipant+5
           case 2: result=nbParticipant -1 +3
           case 3: result=nbParticipant -2 + 1
           case >=4 : result=nbParticipant - (prmRang -1)
           case else
               'Cas impossible
               error 5
       end select
     
       CalculerScore=result.
    end function
    Pour afficher le score il te suffit de faire une requête sur la table RangPartieJoueur et de créer un champ calculé Score : CalculerScore([ClefPartie];[RangPersonne])A+

Discussions similaires

  1. Gestion de score au tennis :)
    Par Unicorndu33 dans le forum Général Java
    Réponses: 1
    Dernier message: 16/03/2014, 14h58
  2. Réponses: 0
    Dernier message: 20/10/2010, 13h03
  3. gestion du score avec Array et push
    Par clem037 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 22/03/2009, 16h16
  4. Gestion de la memoire pour un petit jeu
    Par franck06 dans le forum Langage
    Réponses: 15
    Dernier message: 11/07/2008, 11h25
  5. [Recherche] Nom pour club de jeu
    Par prgasp77 dans le forum La taverne du Club : Humour et divers
    Réponses: 11
    Dernier message: 23/04/2007, 17h24

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