À propos du projet

Black 8 Master est un PWA de billard américain solo conçu pour mobile en mode paysage. Ouvrez la page web pour jouer, ou ajoutez-la à l'écran d'accueil du téléphone ; après le premier chargement, elle fonctionne hors ligne. Côté gameplay, le joueur fait glisser son doigt sur la table pour ajuster la direction de la queue, contrôle la puissance via la barre de force à droite, puis appuie sur « Tirer » pour confirmer. Après la première bille empochée légalement, les billes pleines ou rayées sont attribuées ; videz votre groupe puis empochez la 8 pour gagner. Si la bille blanche tombe dans une poche, si aucune bille n'est touchée ou si le mauvais groupe est touché en premier, une faute est sifflée et l'adversaire obtient bille en main ; lorsque le joueur obtient bille en main, il peut déplacer la blanche en touchant une position légale sur la table. Côté fonctionnalités, le projet utilise Matter.js pour les collisions entre billes, les rebonds sur bandes, la décélération par friction et la détection des six poches, avec des règles simplifiées de la 8, un état de tour complet et la détermination du vainqueur. Il propose trois niveaux d'adversaire informatique (facile, normal, difficile), trois thèmes de table, de queue et d'environnement, ainsi que des réglages de ligne de visée, de sensibilité de puissance, de sons et de vibrations. L'interface s'adapte à la zone sûre en paysage, avec cache hors ligne et PWA installable. Pour le développement local, Node.js 22+ et pnpm sont requis ; exécutez pnpm install puis pnpm dev, ouvrez l'adresse locale affichée dans le terminal et passez le téléphone en mode paysage. Pour vérifier, exécutez pnpm test et pnpm build ; les tests couvrent les sanctions des règles, la sélection légale de cibles par l'IA, les collisions, la friction, les rebonds sur bandes et la détection des poches. Dans le processus de publication, chaque push sur la branche main exécute les tests et la construction de production ; une fois tout validé, GitHub Actions publie dist sur GitHub Pages. Pour la première publication, sélectionnez GitHub Actions dans Settings → Pages → Build and deployment du dépôt. La pile technique comprend TypeScript, Vite, Phaser 3, Matter.js, Vitest et vite-plugin-pwa.