Como adicionar o motor de xadrez StockFish à aplicação androide
On iOS an App não pode abrir outro processo, então a única maneira de executar um motor é comunicar dentro do binário ou construí-lo em seu App. No Android um aplicativo pode abrir outro processo. O Open Source Chess Engine (site stockfish) tem binário Android mas tem que ser compilado a partir de um arquivo make para obter o binário que funciona no Android. Possivelmente você pode encontrar um binário em outro lugar e não compilá-lo pois você precisa do Linux para compilá-lo.
Após você ter um binário eu acho que você iria colocá-lo na pasta de ativos e depois copiá-lo na instalação se o arquivo não existe na estrutura de arquivos para ser aberto.
Ver Hospedando um executável dentro do aplicativo Android como abrir o binário no seu aplicativo. Você usa um runtime(). E o resto no fluxo de entrada e saída será necessário para construir o seu pipe que redireciona a entrada e saída ao longo desse pipe. Mas você pode encontrar outros links sobre como usar tempos de execução e fluxos de entrada e saída na web.
Após você abrir o binário em java com um tempo de execução e obter um fluxo de entrada e saída para falar com ele o resto está implementando o protocolo UCI Você apenas envia e recebe texto para conversar com o engine. Se você abrir qualquer um desses mecanismos manualmente você verá que eles são apenas aplicativos de console que imprimem texto ou recebem texto enviado após pressionar enter.
Artigos semelhantes
- Como instalar o motor de xadrez Stockfish para PCArtboard
- Que motor de xadrez seria mais forte, Alpha Zero ou Stockfish 12?
- Posso adaptar um motor de xadrez a um motor de xadrez chinês (regras diferentes)?
- Quão prejudicial para um motor é adicionar um litro de Lucas Paragem do motor de óleo vazamento a um cárter cheio?