Maison  >  Article  >  développement back-end  >  Système de notation Elo de squash

Système de notation Elo de squash

Patricia Arquette
Patricia Arquetteoriginal
2024-11-27 15:22:14289parcourir

Je suis ravi d'annoncer mon nouveau projet, le Squash Elo Rating System. Ce projet est créé pour le Carleton Squash Club.

Pourquoi?

En fréquentant moi-même le club et en discutant avec d'autres joueurs, j'ai réalisé qu'il y avait un besoin pour un système qui pourrait aider les joueurs à voir leur classement et/ou leur progression dans le jeu, tout en ayant une conversation avec un membre, nous avons conclu que les échecs. com Le système de notation Elo fonctionnerait en quelque sorte pour nos besoins.

J'ai donc réalisé ce projet pour répondre à ce besoin sur la base de ces principes :

  1. La chose créée doit être facilement accessible aux joueurs
  2. Les joueurs devraient pouvoir voir facilement leurs notes, statistiques et toute autre donnée
  3. Le système doit être simple et intuitif

Quoi

Alors, qu'est-ce que j'ai fait exactement ici, c'est la question que vous pourriez vous poser après avoir lu aussi longtemps.

Squash Elo Rating System

Discord Bot (écriture)

Responsabilités/caractéristiques :

  • Authentification : Le club de Carleton Squash est privé, très bien entretenu et en plus de cela, il est sur Discord, ce qui à lui seul fournit tellement de réglages pour les administrateurs que l'authentification et donc les mauvaises données sont gérées par Discord. lui-même.
  • Ajout de joueurs au système : les joueurs ne peuvent être ajoutés que via Discord.
  • Ajout d'un match au système : le match ne peut être ajouté que via Discord. De plus, toutes les données sont également nettoyées par le bot.
  • Statistiques : les joueurs peuvent voir leurs statistiques.

Le bot est entièrement réalisé en Golang, c'est d'abord parce que j'adore l'utiliser et aussi il avait un package très facile à utiliser, avec une excellente documentation qui m'a aidé à démarrer en un rien de temps.
https://github.com/bwmarrin/discordgo

La vision originale de ce système était qu'il ne s'agisse que d'un robot Discord où les joueurs peuvent consulter leur classement via Discord. Cette vision a ensuite été perturbée par la conversation que j’ai eue avec les membres de mon club sur la manière dont ils allaient utiliser le bot. D'après la conversation, j'ai pu voir qu'il y aurait un obstacle pour que les joueurs veuillent voir leurs statistiques/classements/matchups, car à chaque fois qu'ils le feraient, cela serait public. Cela m'a amené à la décision d'ajouter un site Web au système.

L'ajout d'un site Web était essentiel car je souhaite que les joueurs de mon club voient toutes les données à tout moment sans avoir à penser à l'étiquette du serveur.

Site Web (lecture)

Responsabilités :

  • Obtenir le classement
  • Obtenir les statistiques actuelles du joueur
  • Avoir les confrontations de tous les joueurs
  • Avoir un graphique pour voir la progression récente des joueurs

Comme je l'ai dit, je voulais que le site Web soit simple, et je n'aime pas écrire une logique d'authentification, donc le site Web est fait pour être lu et non écrit.

Le site Web est également écrit en Golang car c'est le Meilleur langage dans lequel écrire des serveurs.

En conclusion

Je tiens à remercier le président de mon club, Noah, de m'avoir permis de confier ce projet à la communauté et de m'avoir aidé à l'améliorer grâce à sa contribution.

Je voudrais également remercier Adam, un cadre de notre club qui m'a aidé à réaliser que je ne devais pas baser ma base de données sur les noms d'utilisateur Discord, car les gens peuvent les changer, il m'a aidé à la changer en identifiants Discord qui ne sont généralement visibles qu'à la fin. Niveau API.

J'ai beaucoup appris avec ce projet, et j'y ai beaucoup investi, à partir de maintenant je suis en train de l'héberger en attendant la bureaucratie de tout cela. En attendant, je souhaitais partager ce projet avec vous. Vous pouvez le trouver sur mon GitHub.

https://github.com/AaravSibbal/SquashWebsite

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn