Exercício de Programação – War

No jogo de tabuleiro War, uma batalha é decidida nos dados: um vermelho para cada exército no ataque e um amarelo para cada exército na defesa. Só podem atuar, no máximo, três exércitos de cada lado.

Após jogarem os dados, eles são comparados um a um: o maior vermelho com o maior amarelo, o segundo maior vermelho com o segundo maior amarelo e menor vermelho com o menor amarelo. O maior valor vence, sendo que, em caso de empate, a defesa ganha.

Exemplo 1

No caso do atacante e do defensor jogarem ambos com 3 dados e supondo-se que o atacante tivesse tirado 5, 4 e 1 e o defensor 6, 3 e 1, a comparação seria feita da seguinte forma:

Dados Ataque Defesa Vencedor
Maior 5 6 Defesa
2º Maior 4 3 Ataque
Menor 1 1 Defesa

Como se vê, o atacante teria vencido uma jogada e perdido duas, ou seja, teria perdido 2 exércitos e o defensor 1 exército.

Exemplo 2

No caso do atacante jogar com 2 dados e a defesa com 1 dado, supondo-se que os pontos tenham sido 3 e 2 para o ataque e 6 para a defesa, a comparação seria feita da seguinte forma:

Dados Ataque Defesa Vencedor
Maior 3 6 Defesa
2º Maior 2
Menor

Como se vê, a defesa teria vencido uma jogada, ou seja, o atacante teria perdido 1 exército.

Proposta

Escreva um programa que lê o número de exércitos atacando e o número de exércitos defendendo e, posteriormente, sorteia os valores do dados e mostra o resultado da batalha no formato da tabela do exemplo e indicando quantos exércitos cada um perdeu.


Dependendo da disciplina que você está cursando, faça o(s) exercício(s) acima usando:

  • Portugol, C# e/ou Java
  • Console, Desktop e/ou Web
  • Sem/Com Tratamento de Erros (Exceções)
  • Estruturado, Procedimental e/ou Orientado a Objetos

Se você gostou do post, tem alguma dúvida ou encontrou algum erro, por favor, deixe uma mensagem! Seu feedback é muito importante!