Ensine você a usar Python para jogar WeChat Jump
modo de jogo
Na tarde do dia 28 de dezembro de 2017, o WeChat lançou a versão 6.6.1, que adicionou a função “minijogo” e disponibilizou a DEMO oficial “Jump”. Este é um jogo de quebra-cabeça estilo ilustração 2.5D. Os jogadores podem controlar a distância de salto deste "vilão" pressionando a tela por um longo tempo. Quanto maior a pontuação, mais alto você estará no ranking de amigos. Execute automaticamente scripts Python, permitindo que você domine facilmente as classificações.
Talvez quando comecei, por não compreender bem a relação entre tempo e distância, só consegui saltar algumas vezes e depois caí debaixo da plataforma. Se o reconhecimento de imagem puder ser usado para medir com precisão a distância entre os pontos inicial e alvo, o tempo de pressão poderá ser estimado para saltar com precisão.
Descrição do princípio
Como a detecção do WeChat é muito rigorosa, o código anti-ban aqui pode não funcionar mais e é principalmente para fins de aprendizagem.
Clique no celular para acessar a interface do miniaplicativo "Jump a Jump"
Use a ferramenta ADB para obter uma captura de tela do telefone celular atual e use o ADB para obter a captura de tela.
adb shell screencap -p /sdcard/autojump.png
adb pull /sdcard/autojump.png .
- Calcular o tempo de compressão
- Versão manual: Use Matplotlib para exibir a captura de tela, use o mouse para primeiro clicar na posição do ponto inicial, depois clicar na posição alvo e calcular a distância do pixel;
- Versão automática: Confie na cor das peças de xadrez para identificar as peças de xadrez e confie na diferença de cor entre a cor de fundo e os quadrados para identificar o tabuleiro de xadrez;
- Use a ferramenta ADB para clicar na tela para dar um salto
adb shell input swipe x y x y time(ms)
Tutorial
Para as etapas de instalação e uso de ferramentas de software relacionadas, consulte as etapas de operação do Android e iOS.
Obtenha o código-fonte
- git clone https://github.com/wangshub/wechat_jump_game.git
É altamente recomendado usar Python3 para evitar problemas de codificação e importação
Solicitação de relações públicas
Escolha mesclar no branch master e escreva uma breve descrição no título, exemplo
[Otimização] Use PEP8 para otimizar o código
Notas de versão
- branch master: versão estável, testada
- branch dev: a versão de desenvolvimento, que contém alguns novos recursos relativamente estáveis. Depois de acumular vários recursos e passar no teste, eles são mesclados no branch prod.
- Outras ramificações: desenvolvimento de recursos (recurso) ou correção de bugs (correção de bugs), que é a versão mais recente dos primeiros adotantes e pode estar em desenvolvimento. Ele será mesclado no ramo de desenvolvimento após ser basicamente concluído.
Perguntas frequentes
- Consulte o Wiki-FAQ para obter detalhes
Registro de alterações
- Veja o changelog para detalhes
Lista de desenvolvedores
- Veja os colaboradores para obter detalhes
comunicar