MC336 - Paradigmas de Programação

Turma A - Primeiro Semestre de 2008

Voltar à pagina inicial da disciplina

Catch the Cat


O Jogo

O jogo consiste de dois jogadores, gato e pegador, e um tabuleiro 11 x 11 disposto da seguinte forma.

Figura 1: Tabuleiro.

O gato tem por objetivo fugir, ou seja, chegar a uma borda do tabuleiro. O pegador, por sua vez, deve impedir a fuga do gato. A jogada do gato consiste em mover-se para uma das casas desbloqueadas de sua vizinhança. A jogada do pegador consiste em bloquear uma casa do tabuleiro. Vale salientar que o pegador não pode bloquear uma casa já bloqueada ou ocupada pelo gato.

Figura 2: Borda do tabuleiro.
Figura 3: Possíveis movimentos para o gato. A casa preenchida com a cor preta representa a posição corrente do gato e as casas preenchidas com a cor ciano, os movimentos válidos para o gato.

O jogo acaba quando o gato alcança a borda do tabuleiro e torna-se vencedor ou quando o gato tem toda a sua adjacência bloqueada e assim o pegador é o vencedor. O jogo sempre inicia pelo pegador e a disposição inicial do tabuleiro é aleatória, podendo o gato começar em qualquer casa (excetuando-se a borda) e podendo existir zero ou mais casas já bloqueadas no começo do jogo. Veja um tabuleiro interativo desenvolvido em Flash.


O Campeonato

Cada aluno será reponsável pela implementação de um gato e de um pegador. A competição dar-se-á da seguinte forma. Escolhe-se aleatoriamente uma configuração inicial para o tabuleiro de todas as partidas da competição. Depois, para cada par de alunos, serão realizadas duas partidas (Gato do 1º aluno x Pegador do 2º aluno e Gato do 2º aluno x Pegador do 1º aluno). Haverá ainda uma partida extra para cada aluno, que é disputada entre gato e pegador do mesmo aluno.

Para cada partida serão distribuídos 500 pontos. O perderdor recebe como pontuação o número de movimentos realizados na partida. O vencedor recebe o restante. Desta forma o vencedor soma no mínimo 261 pontos numa partida e o perdedor soma no máximo 239 pontos. Tal situação ocorre quando o pegador vence depois de bloquear todas as casas, com exceção apenas da casa ocupada pelo gato, e o partida foi iniciada sem bloqueios.

É importante salientar que a ocorrência de um movimento inválido de um dos jogadores acarretará no encerramento da partida com vitória para o último jogador a fazer um movimento válido. Haverá também um limite de tempo de 1 segundo para que o jogador realize a sua jogada. Caso o jogador exceda este tempo, o jogo será encerrado e o jogador será punido como tendo realizado uma jogada inválida.

Ao final do campeonato será calculado, para cada jogador, o total de pontos obtidos, bem como o percentual de partidas válidas, ou seja, o percentual de partidas em que o jogador não realizou jogadas inválidas.

Para os jogadores que realizaram mais de 90% de partidas válidas, as notas serão atribuídas de acordo com as pontuaçães no campeonato. O jogador com maior pontuação recebe 10,0 e o com menor pontuação recebe 5,0. O restante dos jogadores receberão uma nota entre 5,0 e 10,0 de acordo com sua pontuação relativa no campeonato.

Para jogadores que tiveram menos de 90% de partidas válidas, suas notas serão dadas por 5,0*PV, onde PV é o percentual de partidas válidas.

Veja o site do campeonato oficial.