BCC CHALLENGE 3
Fri Feb 26 17:12:47 2016
Bem-vindo(a) ao BCC Challenge 3, o grande desafio para alunos da UFPR!
O jogo está lançado! Crie seu próprio jogador automático, vença seus colegas e se torne o grande campeão!
Inscrições
Quem pode Participar
- Qualquer aluno da UFPR poderá participar do BCC Challenge;
- Não deixe o nome te enganar. Alunos de todos os cursos da UFPR são bem-vindos, incluindo, mas não limitado a, BCC, IBM, TADS, Mestrado e Doutorado!
- Você pode participar em equipes. Cada equipe deve ter no mínimo 1 aluno e no máximo 3 alunos;
- Cada equipe pode conter alunos de diferentes cursos.
Como se inscrever
- Antes de submeter seu robô, inscreva sua equipe na competição;
- Inscreva sua equipe uma única vez;
- Inscreva sua equipe AQUI!.
Torneio oficial
O grande torneio oficial do BCC Challenge ocorrerá AO VIVO. Venha acompanhar e torcer para sua equipe!
Conheca os participantes
- THORminal
- Hall Barkis
- Robôs Preguiçosos
- Cainã C Trevisan
- Renan D M Greca
- Sanson
Partidas Preliminares
- Serão executadas partidas preliminares entre os robôs já submetidos com frequência até o dia do torneio;
- Sempre que tiver uma nova versão de seu robô, submeta-a para ser usada nas partidas preliminares;
- Os resultados preliminares serão atualizados na tabela abaixo. Serão divulgados apenas o número de partidas e vitórias de seu robô;
- Você pode usar os resultados preliminares para ter uma noção de como seu robô está se saindo em relação aos demais;
- Se sua equipe submeter um novo robô, seus resultados preliminares serão somados aos do robô anterior;
- Os resultados preliminares não contarão no torneio oficial. O torneio ocorrerá ao vivo.
Resultados Preliminares
Equipe |
Robô |
Partidas |
Vitórias |
Hall Barkis |
Hall_Barkis |
3 |
3 |
Robôs Preguiçosos |
BB-8 |
3 |
2 |
Sanson |
ROBOSHI |
4 |
0 |
Submissão
- Antes de submeter um robô, certifique-se que sua equipe está inscrita;
- Sua equipe pode submeter quantos robôs quiser até a véspera do torneio oficial;
- No torneio oficial, será considerado apenas o último robô submetido por cada equipe;
- Todas as equipes que submeteram um robô participarão do torneio oficial.
Submeta seu robô
- Certifique-se de inscrever sua equipe antes de submeter seu robô;
- Submeta quantos robôs quiser. No torneio oficial, apenas o último robô submetido será considerado;
- Escolha um nome para seu robô;
- Para submeter seu robô, envie um email para maratona-bccchallenge arroba inf.ufpr.br;
- Na mensagem, identifique sua equipe e o nome e/ou versão do robô que está enviando;
- Envie em anexo um pacote .tar.gz. O pacote deve conter um diretório cujo nome identifica sua equipe, e, dentro do diretório, um Makefile que compila seu robô (se estiver usando uma linguagem compilada);
- Como exemplo, o robô de exemplo em C++ seria submetido em um pacote com a seguinte estrutura:
- nome_da_equipe/
- nome_da_equipe/Makefile
- nome_da_equipe/gather.cpp
- nome_da_equipe/Util.h
- O Makefile deve ser tal que o comando make gere um executável no mesmo diretório.
O Jogo
O Jogo do BCC Challenge 3 se chama coercion, um jogo de conquista de território! Expanda seu território capturando o território inimigo, enquanto o inimigo tenta impedir de fazer o mesmo!
As regras do jogo estão disponiveis abaixo.
Linguagens aceitas
Os robôs podem ser implementados em C++, Java, C#, Python ou Javascript.
Download e execução
- Faça o download do pacote do jogo AQUI;
- O pacote contém alguns robôs de exemplo. Você pode construir o seu a partir deles, se desejar;
- O jogo pode ser executado nas máquinas do DINF com o seguinte comando:
LC_ALL=en java -jar coercion.jar -player <linguagem_player_1> <executavel_player_1> -player <linguagem_player_2> <executavel_player_2>
- Por exemplo, para testar o robô de exemplo em C++ contra ele mesmo, compile-o, e em seguida execute:
LC_ALL=en java -jar coercion.jar -player cpp c++_example/gather -player cpp c++_example/gather
- Para robôs feitos em Java, utilize a opção '-cp':
LC_ALL=en java -jar coercion.jar -player java -cp java_example Migrate -player java -cp java_example Migrate
- O jogo não suporta robôs feitos em C#, Python ou JavaScript diretamente, mas basta fazê-los ler da entrada padrão e imprimir na saida padrão (como nas demais linguagens) e utilizar um pipe. Por exemplo, para rodar o robô de exemplo em Python contra o robô de exemplo em JavaScript, execute:
LC_ALL=en java -jar coercion.jar -player pipe 2 python python_example/gather.py -player pipe 2 rhino javascript_example/migrate.js
O Jogo coercion
Material de Apoio
- A documentação original e completa do jogo está presente no pacote do mesmo, no diretório docs/.
FAQ
Como tiro alguma dúvida que tenho em relação ao BCC Challenge?
- Envie um email para maratona-bccchallenge arroba inf.ufpr.br
---
CEI e CEIB
Ricardo Oliveira e Flávio Zavan