Sobre o projeto
黑8大师 é um PWA de bilhar de bola 8 para um jogador, projetado para celular em modo paisagem. Basta abrir a página para jogar, ou adicioná-lo à tela inicial do celular e usá-lo offline após o primeiro carregamento.
Na jogabilidade, o jogador desliza o dedo sobre a mesa para ajustar a direção do taco, controla a força pela barra no lado direito e toca em “击球” para confirmar. Após a primeira bola legal encaçapada, são atribuídos os grupos de bolas lisas ou listradas; é preciso limpar o próprio grupo e depois encaçapar a bola 8 para vencer. Se a bola branca cair, se nenhuma bola alvo for tocada ou se a primeira bola tocada for do grupo errado, é falta e o adversário recebe bola livre; quando o jogador tem bola livre, basta tocar em uma posição legal da mesa para mover a bola branca.
Em termos de recursos, o projeto usa Matter.js para colisões entre bolas, ricochete nas tabelas, desaceleração por atrito e detecção das seis caçapas, além de incluir regras simplificadas de bola 8, estado completo de turnos e determinação de vitória/derrota. Oferece três níveis de oponente de computador — fácil, normal e difícil —, três conjuntos de temas de mesa, taco e ambiente, e ajustes de linha de mira, sensibilidade de força, efeitos sonoros e vibração. A interface se adapta à área segura em modo paisagem e suporta cache offline e instalação como PWA.
Para desenvolvimento local, são necessários Node.js 22+ e pnpm; execute pnpm install e pnpm dev, depois abra no navegador o endereço local exibido no terminal e gire o celular para o modo paisagem. Para validar, execute pnpm test e pnpm build; os testes cobrem decisões de falta, seleção de alvo legal pela IA, colisões, atrito, reflexão nas tabelas e detecção de queda nas caçapas.
No fluxo de publicação, cada push na branch main executa testes e build de produção; se tudo passar, o GitHub Actions publica a pasta dist no GitHub Pages. Na primeira publicação, é necessário selecionar GitHub Actions em Settings → Pages → Build and deployment no repositório. A stack técnica é TypeScript, Vite, Phaser 3, Matter.js, Vitest e vite-plugin-pwa.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.