MC336 - Paradigmas de Programação

Turmas AB - Segundo Semestre de 2008

Voltar à pagina inicial da disciplina

Breakthrough


O Jogo

Introdução

Breakthrough é um jogo de estratégia que possui algumas similaridades com xadrez e damas, porém as estratégias são completamente diferentes. O jogo consiste de dois jogadores (peças brancas e pretas), e um tabuleiro disposto da seguinte forma.

Tabuleiro.

O tabuleiro acima possui 8 linhas e 8 colunas. Entretanto, o número de linhas e colunas poderá variar livremente no intervalo de 4 a 12.

Para identificar uma posição no tabuleiro usaremos o padrão (linha,coluna). A posição (1,1) será sempre a que está no canto inferior esquerdo das brancas e as outras posições serão numeradas a partir dela.

Movimentação e Captura

O breakthrough possui apenas um tipo de peça que pode se mover um quadrado para frente ou para a diagonal, mas sempre em direção ao campo adversário. Uma peça jamais pode retroceder ou se movimentar para outra posição na mesma linha.

Uma peça pode mover-se para uma posição ocupada pelo adversário se, e somente se, a posição do adversário está diagonalmente a um quadrado de distância. Neste caso, a peça do oponente será removida do tabuleiro (capturada) e o jogador ocupará a casa com a sua peça. A figura a seguir ilustra os dois conceitos.

Movimentação e Captura.

A peça que está em (4,2) pode mover para as casas (5,1), (5,2) e (5,3), que estão marcadas com um “x”. A peça que está em (4,6) pode capturar as peças pretas que estão em (5,5) e (5,7).

Vale ressaltar que a captura não é obrigatória e não pode ser efetuada em cadeia como no jogo de damas.

Fim de Jogo

O jogo acaba quando um dos jogadores consegue colocar uma peça na sua última linha. Ou seja, o objetivo das brancas é colocar uma peça na linha n, onde n é o número de linhas, e o objetivo das pretas é colocar uma peça na linha 1.

Quando um dos jogadores não possuir mais nenhuma peça no tabuleiro será considerado perdedor, pois não poderá mais atingir o objetivo do jogo e não conseguirá evitar que o adversário o atinja.

Um ponto que deve ser observado é que o jogo nunca terminará empatado, pois uma peça nunca pode retroceder e é sempre possível encontrar pelo menos uma diagonal para onde possa se movimentar ou capturar.

Tabuleiro Interativo

Para aprender melhor sobre o jogo foi desenvolvido um tabuleiro interativo desenvolvido em flash.


O Campeonato

Introdução

Cada aluno será reponsável pela implementação de um jogador de breaktrough. 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:

  1. Jogador 1 com as brancas x Jogador 2 com as pretas
  2. Jogador 2 com as brancas x Jogador 1 com as pretas

Haverá ainda uma partida extra para cada aluno, onde ele conduzirá as peças brancas e as pretas.

Configuração Inicial do Tabuleiro

A configuração inicial do tabuleiro seguirá a seguinte idéia:

  1. A dimensão do tabuleiro será escolhida aleatoriamente. O número de linhas e colunas deve estar no intervalo de 4 a 12.
  2. Uma configuração parcial é gerada preenchendo as duas primeiras linhas com peças brancas e as duas últimas linhas com peças pretas.
  3. Um número aleatório “m” de movimentos é sorteado no intervalo de 0 a ((linhas-4)*colunas/2)
  4. São realizados “m” movimentos válidos para as brancas e para as pretas. Os movimentos válidos não incluirão capturas. Dessa forma, no início do jogo tanto as brancas quanto as pretas possuem o mesmo número de peças.

Pontuação nos Campeonatos

Alguns conceitos são necessários para entender a pontuação no campeonato.

A pontuação no campeonato será calculada da forma mostra a seguir.

  1. Para cada partida, o vencedor recebe um ponto.
  2. Os jogadores são separados em dois grupos:
    • Grupo A: Jogadores com pelo menos 90% de partidas válidas
    • Grupo B: Jogadores com menos de 90% de partidas válidas
  3. Em relação aos jogados do Grupo A, a nota final do campeonato será atribuída da seguinte forma:
    1. O jogador com maior pontuação receberá nota 10.
    2. O jogador com menor pontuação receberá nota 5.
    3. As notas dos demais jogadores serão calculadas proporcionalmente à pontuação obtida em relação aos jogadores com maior e menor pontuação do campeonato.
  4. Os jogadores do Grupo B receberão nota de acordo com a fórmula: 5,0*PV, onde PV é o percentual de partidas válidas realizadas pelo jogador no campeonato.

Nota Final do Aluno

As notas finais de cada projeto de implementação serão calculadas através da média de todos os campeonatos realizados durante 8 dias consecutivos (veja página inicial da disciplina para detalhes sobre as datas dos campeonatos).

O cálculo da média será efetuado da seguinte forma:

  1. Seja C o número de campeonatos realizados no período.
  2. Seja Si a pontuação normalizada de um dado jogador no campeonato i. A pontuação normalizada é dada pela nota no campeonato dividida por 10.
  3. Para cada aluno soma-se a sua pontuação normalizada em todos os campeonatos. O valor do somatório será a pontuação total normalizada do aluno (P).
  4. Seja Max a maior pontuação normalizada total existente (e equivalente a nota 10).
  5. Seja Min = C/2 o score mínimo para um aluno obter nota 5.
  6. A nota final (N) de cada jogador é obtida da seguinte forma:
    1. Se a pontuação normalizada total for menor que Min:
      • N = (P/Min) * 5
    2. Se a pontuação normalizada total for maior ou igual a Min:
      • N = (((P - Min)/(Max - Min)) * 5) + 5

Para submeter ou acompanhar os resultados dos campeonato, acesse o site do campeonato oficial.