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
Este post foi publicado em Exercícios (AP), Exercícios (OO) e marcado com a tag Exercício, Fácil, War em 4 de outubro de 2014 por Ramon Chiara.
Navegação de posts
← Exercício de Programação – Lâmpada Exercício de Programação – Forca →
Se você gostou do post, tem alguma dúvida ou encontrou algum erro, por favor, deixe uma mensagem! Seu feedback é muito importante! Cancelar resposta