mrdev / lugo4php
Cliente PHP para Lugo Bots
Requires
- php: ^8.3.11
- google/protobuf: ^4.28
- grpc/grpc: ^1.57
Requires (Dev)
- pestphp/pest: ^2.35
This package is auto-updated.
Last update: 2025-07-28 17:33:04 UTC
README
Lugo 4 PHP
Cliente em PHP para criar Lugo Bots
🌟 Sobre o projeto
Lugo4PHP é um pacote feito em PHP criado para conectar um bot com servidor do Lugo Bots, escondendo a complexidade da conexão gRPC e disponibilizando várias classes e métodos que auxiliam um desenvolvedor a criar seu próprio bot.
🎯 Features
- Conectar ao game server do Lugo Bots.
- Classe env para capturar as variáveis e validar.
- Wrapper de classes do game para uma tipagem mais forte.
- Vários métodos comumente usadas já embutido no
Point
e noVector2D
, por exemploadd()
,scale()
,subtract()
,divide()
e outros... - Vários métodos comumente usadas já embutido no
Player
eBall
, por exemplo$ball->distanceToPoint($point)
,$ball->directionToPlayer($player)
e outros... - Vários métodos de atalho para um acesso mais rápido e claro, por exemplo
$inspector->getBallDirection()
em vez de$inspector->getBall()->getVelocity()->getDirection()
. - Vários métodos alternativos para gerar uma ordem, por exemplo
$inspector->makeOrderLookAtDirection($direction)
,$inspector->makeOrderMoveToRegion($region)
,$inspector->makeOrderKickToPlayer($player)
e outros... - Vários métodos com duplicados, podendo optar por um que lança uma exceção ou um retorno nulo, por exemplo
$inspector->getMyPlayer(10)
(lança um erro caso o jogador não exista) e$inspector->tryGetMyPlayer(10)
(retorna null caso o jogador não exista). - 94% do código coberto por testes automatizados, facilitando o incremento de novas funcionalidades, com uma change muito menor de quebrar as já existentes.
- Totalmente documentada, para uma busca rápida, acesse: Lugo4php Docs.
⚡ Como usar
Veja o the-dummies-php, um bot criado usando esse pacote
🔧 Desenvolvimento
Clone o projeto
git clone https://github.com/mauriciorobertodev/lugo4php.git
Entre na pasta do projeto
cd lugo4php
Instale as dependências
composer install
Rode um jogo de teste usando o BotTester
docker compose -f ./example/bot/docker-compose.yml up --remove-orphans
👋 Contribuindo
Contribuições são sempre bem vindas!
- Faça o fork do projeto (https://github.com/mauriciorobertodev/lugo4php/fork)
- Crie uma branch para sua modificação (
git checkout -b meu-novo-recurso
) - Faça o commit (
git commit -am 'Adicionando um novo recurso...'
) - Push (
git push origin meu-novo-recurso
) - Crie um novo Pull Request
🔒 License
Licença MIT (MIT). Consulte o arquivo de licença para obter mais informações.
🔗 Links úteis
Portfolio: mauricioroberto.com/
Link do projeto: https://github.com/mauriciorobertodev/lugo4php
Link da documentação: https://lugo4php.mauricioroberto.com
Link do the-dummies-php: https://github.com/mauriciorobertodev/the-dummies-php