Ir para conteúdo
Fórum Script Brasil

Reaper

Membros
  • Total de itens

    7
  • Registro em

  • Última visita

Sobre Reaper

Reaper's Achievements

0

Reputação

  1. Pessoal tenho que fazer o seguinte trabalho: Uma das categorias de jogos mais populares é a de Estratégia. Nessa categoria, dois ou mais jogadores criam exércitos com soldados, tanques e outras unidades, afim de destruir o exército inimigo. Esses jogos incentivavam o crescimento da maturidade no processo de tomada de decisão e nas percepções do mundo ao seu redor. O seu objetivo será desenvolver um algoritmo que simule o funcionamento de um programa especializado em jogos de estratégia: o UniFORCE. O jogo consiste em um tabuleiro com 20 (vinte) posições de largura e 20 posições de altura, formando um tabuleiro de 20x20. Nesse tabuleiro, dois exércitos se gladiarão pelo domínio do território, cada um com cinco soldados. Cada soldado possui cinco atributos: ataque, defesa, inteligência, resistência e velocidade. Esses atributos são do tipo inteiro, e a soma de seus valores sempre é 12 (doze). Exemplo: Soldado A Ataque: 4 Defesa: 2 Inteligência: 1 Resistência: 3 Velocidade: 2 Soldado B Ataque: 2 Defesa: 5 Inteligência: 3 Resistência: 1 Velocidade: 1 Soldado C Ataque: 3 Defesa: 3 Inteligência: 3 Resistência: 0 Velocidade: 3 Soldado D Ataque: 1 Defesa: 4 Inteligência: 3 Resistência: 2 Velocidade: 2 Soldado E Ataque: 4 Defesa: 0 Inteligência: 0 Resistência: 3 Velocidade: 5 Quando o jogo é iniciado, o programa solicita o nome dos dois jogadores. Em seguida, o jogo solicita ao primeiro jogador definir o valor dos atributos de cada um de seus cinco soldados (lembrando que o total de pontos de todos os atributos deve ser igual a 12). É possível que o jogador informe o valor 0 (zero) para um atributo, caso deseje. Quando o primeiro player termina de configurar os seus jogadores, o programa exibe a lista dos cinco soldados, e pergunta se o player deseja alterar os valores de um de seus soldados ou confirmar a criação do seu exército. Caso queira alterar os valores de um de seus soldados, ele informa o número do soldado e todos os atributos são solicitados novamente para aquele soldado. Caso esteja tudo OK, o jogador confirma a criação do seu exército. O segundo jogador, em seguida, realiza o mesmo procedimento do primeiro jogador, definindo o seu exército. Uma vez os dois exércitos criados, eles são então posicionados aleatoriamente no tabuleiro, de tal forma que um soldado não pode ocupar um espaço já alocado por outro soldado. Depois de posicionados, a cada rodada do jogo, cada soldado movimenta-se aleatoriamente para uma das quatro direções: cima, baixo, esquerda e direita. A quantidade de passos do soldado é igual ao valor da velocidade deste. O soldado não pode sair do tabuleiro, de tal forma que se ele chegar em uma das bordas, ele deve continuar o movimento na direção oposta. Se em um ciclo dois soldados de exércitos inimigos se encontram, ocorre uma LUTA! Na luta, os valores de cada atributo dos soldados são comparados. A cada comparação, um soldado ganha se o valor de seu atributo é maior que o do inimigo. Ao final da comparação dos cinco atributos, morre aquele que perder em mais atributos. Observe o exemplo: Soldado Time Vermelho Ataque: 4 Defesa: 2 Inteligência: 1 Resistência: 3 Velocidade: 2 Soldado Time Azul Ataque: 2 Defesa: 5 Inteligência: 3 Resistência: 1 Velocidade: 1 Neste exemplo, o soldado do time azul morre, e o do time vermelho permanece no tabuleiro. O final da partida ocorre quando todos os soldados de um exército são eliminados. Após a execução de uma partida, o programa deve perguntar se ele deseja continuar jogando ou não. Caso o jogador selecione a opção negativa, o programa é então encerrado. Caso contrário, ele inicia o jogo da parte onde os jogadores definem seus nomes. Já fiz isso: import java.util.Random; import java.util.Scanner; class soldado{ int ataque, defesa, inteligencia, resistencia, velocidade; Random random = new Random(); soldado(int a, int b, int c, int d, int e){ ataque = a; defesa = b; inteligencia = c; resistencia = d; velocidade = e; } void RetornaAtributos(int i){ System.out.println("---------------"); System.out.println(" Soldado "+i); System.out.println("---------------"); System.out.println("Ataque: " + ataque); System.out.println("Defesa: " + defesa); System.out.println("Inteligencia: " + inteligencia); System.out.println("Resistencia: " + resistencia); System.out.println("Velocidade: " + velocidade); } void TrocaAtributos(int a, int b, int c, int d, int e ){ ataque = a; defesa = b; inteligencia = c; resistencia = d; velocidade = e; } void Posicao(char matriz[][], String matriz1[][], int a, int b, char simbolo, String c){ if(matriz[a][b] == '*'){ matriz[a][b] = simbolo; matriz1[a][b] = c; } else{ a = random.nextInt(20); b = random.nextInt(20); matriz[a][b] = simbolo; matriz1[a][b] = c; } } void Mover(char matriz[][], String matriz1[][], int a, int B){ int numero = random.nextInt(4); char aux; String aux1; switch(numero){ case 0: a = a - velocidade; if (a<0){ a = 0; } if(matriz[a][b] == 'X' || matriz[a][b] == 'O'){ a = a - velocidade - 1; } aux = matriz[a][b]; matriz[a+velocidade][b] = matriz[a][b]; matriz[a][b] = aux; aux1 = matriz1[a][b]; matriz1[a+velocidade][b] = matriz1[a][b]; matriz1[a][b] = aux1; break; case 1: b = b - velocidade; if (b<0){ b = 0; } if(matriz[a][b] == 'X' || matriz[a][b] == 'O'){ b = b - velocidade - 1; } aux = matriz[a][b]; matriz[a][b+velocidade] = matriz[a][b]; matriz[a][b] = aux; aux1 = matriz1[a][b]; matriz1[a][b+velocidade] = matriz1[a][b]; matriz1[a][b] = aux1; break; case 2: a = a + velocidade; if (a>20){ a = 20; } if(matriz[a][b] == 'X' || matriz[a][b] == 'O'){ a = a + velocidade - 1; } aux = matriz[a][b]; matriz[a-velocidade][b] = matriz[a][b]; matriz[a][b] = aux; aux1 = matriz1[a][b]; matriz1[a-velocidade][b] = matriz1[a][b]; matriz1[a][b] = aux1; break; case 3: b = b + velocidade; if (b>20){ b = 20; } if(matriz[a][b] == 'X' || matriz[a][b] == 'O'){ b = b + velocidade - 1; } aux = matriz[a][b]; matriz[a][b-velocidade] = matriz[a][b]; matriz[a][b] = aux; aux1 = matriz1[a][b]; matriz1[a][b-velocidade] = matriz1[a][b]; matriz1[a][b] = aux1; break; } } } public class Jogo { public static Scanner entrada = new Scanner(System.in); public static Random random = new Random(); public static int a, b, c, d, e; public static int opcao; public static int opcao1; public static char matriz[][] = new char [20][20]; public static String matriz1[][] = new String [20][20]; public static void imprimir(){ for(int i = 0; i<20; i++){ System.out.print("\n"); for(int j = 0; j<20; j++){ System.out.print(matriz[i][j]); } } } public static void preencher(int i){ a = 0; b = 0; c = 0; d = 0; e = 0; System.out.println("---------------"); System.out.println(" Soldado "+i); System.out.println("---------------"); System.out.println("Digite o ataque do soldado"); a = entrada.nextInt(); while(a<0 || a>12 || (a+b+c+d+e)>12){ System.out.println("Numero invalido. Digite novamente"); a = entrada.nextInt(); } System.out.println("Digite a defesa do soldado"); b = entrada.nextInt(); while(b<0 || b>12 || (a+b+c+d+e)>12){ System.out.println("Numero invalido. Digite novamente"); b = entrada.nextInt(); } System.out.println("Digite a inteligencia do soldado"); c = entrada.nextInt(); while(c<0 || c>12 || (a+b+c+d+e)>12){ System.out.println("Numero invalido. Digite novamente"); c = entrada.nextInt(); } System.out.println("Digite a resistencia do soldado"); d = entrada.nextInt(); while(d<0 || d>12 || (a+b+c+d+e)>12){ System.out.println("Numero invalido. Digite novamente"); d = entrada.nextInt(); } System.out.println("Digite a velocidade do soldado"); e = entrada.nextInt(); while(e<0 || e>12 || (a+b+c+d+e)>12){ System.out.println("Numero invalido. Digite novamente"); e = entrada.nextInt(); } } public static void Briga(String matriz1[][], soldado s1, soldado s2, soldado s3, soldado s4, soldado s5, soldado s6, soldado s7, soldado s8, soldado s9, soldado s10, int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10){ int c1 = 0, c2 = 0; for(int i = 0; i<20; i++){ for(int j =0; j<20; j++){ if(matriz1[i][j]=="s1" && matriz1[i-1][j]=="s6"){ System.out.println("Briga entre s1 e s6"); if(s1.ataque>s6.ataque){ c1++; } else{ c2++; } if(s1.defesa>s6.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s6.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s6.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s6.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a6 = 0; matriz1[i-1][j] = " "; } else if(c1<c2){ System.out.println("O soldado s6 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a6 = 0; matriz1[i][j] = " "; matriz1[i-1][j] = " "; matriz[i-1][j] = '*'; matriz[i][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i+1][j]=="s6"){ System.out.println("Briga entre s1 e s6"); if(s1.ataque>s6.ataque){ c1++; } else{ c2++; } if(s1.defesa>s6.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s6.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s6.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s6.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a6 = 0; matriz1[i+1][j] = " "; matriz[i+1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s6 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a6 = 0; matriz1[i][j] = " "; matriz1[i+1][j] = " "; matriz[i][j] = '*'; matriz[i+1][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j-1]=="s6"){ System.out.println("Briga entre s1 e s6"); if(s1.ataque>s6.ataque){ c1++; } else{ c2++; } if(s1.defesa>s6.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s6.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s6.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s6.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a6 = 0; matriz1[i][j-1] = " "; matriz[i][j-1] = '*'; } else if(c1<c2){ System.out.println("O soldado s6 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a6 = 0; matriz1[i][j] = " "; matriz1[i][j-1] = " "; matriz[i][j-1] = '*'; matriz[i][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j+1]=="s6"){ System.out.println("Briga entre s1 e s6"); if(s1.ataque>s6.ataque){ c1++; } else{ c2++; } if(s1.defesa>s6.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s6.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s6.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s6.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a6 = 0; matriz1[i][j+1] = " "; matriz[i][j+1] = '*'; } else if(c1<c2){ System.out.println("O soldado s6 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a6 = 0; matriz1[i][j] = " "; matriz1[i][j+1] = " "; matriz[i][j+1] = '*'; matriz[i][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i-1][j]=="s7"){ System.out.println("Briga entre s1 e s7"); if(s1.ataque>s7.ataque){ c1++; } else{ c2++; } if(s1.defesa>s7.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s7.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s7.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s7.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a7 = 0; matriz1[i-1][j] = " "; matriz[i-1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s7 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a7 = 0; matriz1[i][j] = " "; matriz1[i-1][j] = " "; matriz[i][j] = '*'; matriz[i-1][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i+1][j]=="s7"){ System.out.println("Briga entre s1 e s7"); if(s1.ataque>s7.ataque){ c1++; } else{ c2++; } if(s1.defesa>s7.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s7.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s7.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s7.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a7 = 0; matriz1[i+1][j] = " "; matriz[i+1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s7 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a7 = 0; matriz1[i][j] = " "; matriz1[i+1][j] = " "; matriz[i][j] = '*'; matriz[i+1][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j+1]=="s7"){ System.out.println("Briga entre s1 e s7"); if(s1.ataque>s7.ataque){ c1++; } else{ c2++; } if(s1.defesa>s7.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s7.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s7.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s7.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a7 = 0; matriz1[i][j+1] = " "; matriz[i][j+1] = '*'; } else if(c1<c2){ System.out.println("O soldado s7 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a7 = 0; matriz1[i][j] = " "; matriz1[i][j+1] = " "; matriz[i][j] = '*'; matriz[i][j+1] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j-1]=="s7"){ System.out.println("Briga entre s1 e s7"); if(s1.ataque>s7.ataque){ c1++; } else{ c2++; } if(s1.defesa>s7.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s7.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s7.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s7.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a7 = 0; matriz1[i][j-1] = " "; matriz[i][j-1] = '*'; } else if(c1<c2){ System.out.println("O soldado s7 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a7 = 0; matriz1[i][j] = " "; matriz1[i][j-1] = " "; matriz[i][j] = '*'; matriz[i][j-1] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i-1][j]=="s8"){ System.out.println("Briga entre s1 e s8"); if(s1.ataque>s8.ataque){ c1++; } else{ c2++; } if(s1.defesa>s8.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s8.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s8.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s8.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a8 = 0; matriz1[i-1][j] = " "; matriz[i-1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s8 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a8 = 0; matriz1[i][j] = " "; matriz1[i-1][j] = " "; matriz[i][j] = '*'; matriz[i-1][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i+1][j]=="s8"){ System.out.println("Briga entre s1 e s8"); if(s1.ataque>s8.ataque){ c1++; } else{ c2++; } if(s1.defesa>s8.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s8.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s8.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s8.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a8 = 0; matriz1[i+1][j] = " "; matriz[i+1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s8 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a8 = 0; matriz1[i][j] = " "; matriz1[i+1][j] = " "; matriz[i][j] = '*'; matriz[i+1][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j-1]=="s8"){ System.out.println("Briga entre s1 e s8"); if(s1.ataque>s8.ataque){ c1++; } else{ c2++; } if(s1.defesa>s8.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s8.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s8.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s8.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a8 = 0; matriz1[i][j-1] = " "; matriz[i][j-1] = '*'; } else if(c1<c2){ System.out.println("O soldado s8 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a8 = 0; matriz1[i][j] = " "; matriz1[i][j-1] = " "; matriz[i][j] = '*'; matriz[i][j-1] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j+1]=="s8"){ System.out.println("Briga entre s1 e s8"); if(s1.ataque>s8.ataque){ c1++; } else{ c2++; } if(s1.defesa>s8.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s8.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s8.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s8.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a8 = 0; matriz1[i][j+1] = " "; matriz[i][j+1] = '*'; } else if(c1<c2){ System.out.println("O soldado s8 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a8 = 0; matriz1[i][j] = " "; matriz1[i][j+1] = " "; matriz[i][j] = '*'; matriz[i][j+1] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j-1]=="s8"){ System.out.println("Briga entre s1 e s8"); if(s1.ataque>s8.ataque){ c1++; } else{ c2++; } if(s1.defesa>s8.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s8.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s8.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s8.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a8 = 0; matriz1[i][j-1] = " "; matriz[i][j-1] = '*'; } else if(c1<c2){ System.out.println("O soldado s8 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a8 = 0; matriz1[i][j] = " "; matriz1[i][j-1] = " "; matriz[i][j] = '*'; matriz[i][j-1] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i-1][j]=="s9"){ System.out.println("Briga entre s1 e s9"); if(s1.ataque>s9.ataque){ c1++; } else{ c2++; } if(s1.defesa>s9.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s9.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s9.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s9.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a9 = 0; matriz1[i-1][j] = " "; matriz[i-1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s9 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a9 = 0; matriz1[i][j] = " "; matriz1[i-1][j] = " "; matriz[i][j] = '*'; matriz[i-1][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i+1][j]=="s9"){ System.out.println("Briga entre s1 e s9"); if(s1.ataque>s9.ataque){ c1++; } else{ c2++; } if(s1.defesa>s9.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s9.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s9.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s9.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a9 = 0; matriz1[i+1][j] = " "; matriz[i+1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s9 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a9 = 0; matriz1[i][j] = " "; matriz1[i+1][j] = " "; matriz[i][j] = '*'; matriz[i+1][j] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j-1]=="s9"){ System.out.println("Briga entre s1 e s9"); if(s1.ataque>s9.ataque){ c1++; } else{ c2++; } if(s1.defesa>s9.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s9.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s9.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s9.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a9 = 0; matriz1[i][j-1] = " "; matriz[i][j-1] = '*'; } else if(c1<c2){ System.out.println("O soldado s9 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a9 = 0; matriz1[i][j] = " "; matriz1[i][j-1] = " "; matriz[i][j] = '*'; matriz[i][j-1] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i][j+1]=="s9"){ System.out.println("Briga entre s1 e s9"); if(s1.ataque>s9.ataque){ c1++; } else{ c2++; } if(s1.defesa>s9.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s9.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s9.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s9.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a9 = 0; matriz1[i][j+1] = " "; matriz[i][j+1] = '*'; } else if(c1<c2){ System.out.println("O soldado s9 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a9 = 0; matriz1[i][j] = " "; matriz1[i][j+1] = " "; matriz[i][j] = '*'; matriz[i][j+1] = '*'; } } if(matriz1[i][j]=="s1" && matriz1[i-1][j]=="s10"){ System.out.println("Briga entre s1 e s10"); if(s1.ataque>s10.ataque){ c1++; } else{ c2++; } if(s1.defesa>s10.defesa){ c1++; } else{ c2++; } if(s1.inteligencia>s10.inteligencia){ c1++; } else{ c2++; } if(s1.resistencia>s10.resistencia){ c1++; } else{ c2++; } if(s1.velocidade>s10.velocidade){ c1++; } else{ c2++; } if(c1>c2){ System.out.println("O soldado s1 ganhou"); a10 = 0; matriz1[i-1][j] = " "; matriz[i-1][j] = '*'; } else if(c1<c2){ System.out.println("O soldado s10 ganhou"); a1 = 0; matriz1[i][j] = " "; matriz[i][j] = '*'; } else{ System.out.println("Deu empate"); a1 = 0; a10 = 0; matriz1[i][j] = " "; matriz1[i-1][j] = " "; matriz[i][j] = '*'; matriz[i-1][j] = '*'; } } } } } public static void main(String[] args){ for(int i = 0; i<20; i++){ for(int j = 0; j<20; j++){ matriz[i][j]= '*'; } } Scanner entrada = new Scanner(System.in); System.out.println("************************************************"); System.out.println("-----------Bem-vindo ao Jogo UniFORCE-----------"); System.out.println("************************************************"); System.out.println("Digite o nome do primeiro jogador"); String nome1 = entrada.nextLine(); System.out.println("Digite o nome do segundo jogador"); String nome2 = entrada.nextLine(); System.out.println("************************************************"); System.out.println(nome1 + " digite os atributos do seus personagens"); System.out.println("************************************************"); preencher(1); soldado s1 = new soldado(a,b,c,d,e); preencher(2); soldado s2 = new soldado(a,b,c,d,e); preencher(3); soldado s3 = new soldado(a,b,c,d,e); preencher(4); soldado s4 = new soldado(a,b,c,d,e); preencher(5); soldado s5 = new soldado(a,b,c,d,e); System.out.println("************************************************"); System.out.println(nome2 + " digite os atributos do seus personagens"); System.out.println("************************************************"); preencher(6); soldado s6 = new soldado(a,b,c,d,e); preencher(7); soldado s7 = new soldado(a,b,c,d,e); preencher(8); soldado s8 = new soldado(a,b,c,d,e); preencher(9); soldado s9 = new soldado(a,b,c,d,e); preencher(10); soldado s10 = new soldado(a,b,c,d,e); System.out.println("************************************************"); System.out.println("Os atributos dos personagens do "+nome1+" são:"); System.out.println("************************************************"); s1.RetornaAtributos(1); s2.RetornaAtributos(2); s3.RetornaAtributos(3); s4.RetornaAtributos(4); s5.RetornaAtributos(5); System.out.println("Voce deseja trocar os atributos de algum soldado?"); System.out.println("0- sim"); System.out.println("1- não"); opcao = entrada.nextInt(); while(opcao == 0){ System.out.println("Digite o numero do soldado que deseja alterar (1-5) 0-para sair"); int valor = entrada.nextInt(); switch(valor){ case 0: opcao = 1; System.out.println(opcao); break; case 1: preencher(1); s1.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s1.RetornaAtributos(1); break; case 2: preencher(2); s2.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s2.RetornaAtributos(2); break; case 3: preencher(3); s3.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s3.RetornaAtributos(3); break; case 4: preencher(4); s4.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s4.RetornaAtributos(4); break; case 5: preencher(5); s5.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s5.RetornaAtributos(5); break; default: System.out.println("Numero invalido. Digite novamente"); valor = entrada.nextInt(); break; } } System.out.println("Os atributos dos personagens do "+nome2+" são:"); s6.RetornaAtributos(6); s7.RetornaAtributos(7); s8.RetornaAtributos(8); s9.RetornaAtributos(9); s10.RetornaAtributos(10); System.out.println("Voce deseja trocar os atributos de algum soldado?"); System.out.println("0- sim"); System.out.println("1- não"); opcao = entrada.nextInt(); while(opcao == 0){ System.out.println("Digite o numero do soldado que deseja alterar (6-10) 0-para sair"); int valor = entrada.nextInt(); switch(valor){ case 0: opcao = 1; break; case 6: preencher(6); s6.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s6.RetornaAtributos(6); break; case 7: preencher(7); s7.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s7.RetornaAtributos(7); break; case 8: preencher(8); s8.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s8.RetornaAtributos(8); break; case 9: preencher(9); s9.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s9.RetornaAtributos(9); break; case 10: preencher(10); s10.TrocaAtributos(a,b,c,d,e); System.out.println("Os novos atributos são: "); s10.RetornaAtributos(10); break; default: System.out.println("Numero invalido. Digite novamente"); valor = entrada.nextInt(); break; } } int v1 = random.nextInt(20); int v2 = random.nextInt(20); s1.Posicao(matriz, matriz1, v1, v2, 'X', "s1"); int v3 = random.nextInt(20); int v4 = random.nextInt(20); s2.Posicao(matriz, matriz1, v3, v4, 'X', "s2"); int v5 = random.nextInt(20); int v6 = random.nextInt(20); s3.Posicao(matriz, matriz1, v5, v6, 'X', "s3"); int v7 = random.nextInt(20); int v8 = random.nextInt(20); s4.Posicao(matriz, matriz1, v7, v8, 'X', "s4"); int v9 = random.nextInt(20); int v10 = random.nextInt(20); s5.Posicao(matriz, matriz1, v9, v10, 'X', "s5"); int v11 = random.nextInt(20); int v12 = random.nextInt(20); s6.Posicao(matriz, matriz1, v11, v12, 'O', "s6"); int v13 = random.nextInt(20); int v14 = random.nextInt(20); s7.Posicao(matriz, matriz1, v13, v14, 'O', "s7"); int v15 = random.nextInt(20); int v16 = random.nextInt(20); s8.Posicao(matriz, matriz1, v15, v16, 'O', "s8"); int v17 = random.nextInt(20); int v18 = random.nextInt(20); s9.Posicao(matriz, matriz1, v17, v18, 'O', "s9"); int v19 = random.nextInt(20); int v20 = random.nextInt(20); s10.Posicao(matriz, matriz1, v19, v20, 'O', "s10"); imprimir(); System.out.println(" "); s1.Mover(matriz, matriz1, v1, v2); s2.Mover(matriz, matriz1, v3, v4); s3.Mover(matriz, matriz1, v5, v6); s4.Mover(matriz, matriz1, v7, v8); s5.Mover(matriz, matriz1, v9, v10); s6.Mover(matriz, matriz1, v11, v12); s7.Mover(matriz, matriz1, v13, v14); s8.Mover(matriz, matriz1, v15, v16); s9.Mover(matriz, matriz1, v17, v18); s10.Mover(matriz, matriz1, v19, v20); imprimir(); } } Porém estou com problemas no método Mover. Os personagens não se movem. Será que alguém pode me ajudar. Agradeço desde já.
  2. Tenta isso: for (cont = 1; cont <= 10; cont ++); { int a= cont * num; System.out.println(a); }
  3. Pessoal preciso converter de binário pra decimal. Já fiz isso: public static char ConverterParaCaracter ( int digito ){ switch( digito ){ case 0: return '0'; case 1: return '1'; case 2: return '2'; case 3: return '3'; case 4: return '4'; case 5: return '5'; case 6: return '6'; case 7: return '7'; case 8: return '8'; case 9: return '9'; case 10: return 'A'; case 11: return 'B'; case 12: return 'C'; case 13: return 'D'; case 14: return 'E'; default : return 'F'; } } public static void ConverterDeDecimalParaBase ( int base, int numero, String numStr ){ int resto = 0, expoente = 0; while (numero > 0){ resto = numero%base; int valor = ConverterParaCaracter( resto ); numStr = valor * Math.pow(10, expoente); expoente = expoente + 1; numero = numero/base; } } Porém não sei terminar. Por favor me ajudem.
  4. Pessoal tenho o seguinte trabalho para fazer: O seu objetivo será desenvolver um algoritmo que simule o funcionamento de um programa que extrairá dados estatísticos de uma matriz gerada aleatoriamente. Inicialmente, o programa solicita ao usuário que informe a dimensão da matriz. O programa então deverá gerar uma matriz com a dimensão informada e preenchida com valores aleatórios entre 1 e 99.Lógica de Programação Trabalho 02 Universidade de Fortaleza 2 Exemplo: Dimensão da matriz: 4 Matriz gerada pelo programa: 25 12 47 20 91 84 3 7 68 75 20 78 81 25 43 36 O programa deve exibir a matriz gerada na tela depois de criada. Em seguida, o programa deve solicitar ao usuário qual dado estatístico ele deseja saber. As opções que o programa deve fornecer são:  Par e Impar: Nesta opção, o programa retorna a quantidade de números pares e de números impares existentes na matriz. No exemplo, são 7 pares e 9 impares.  Maior número: Nesta opção, o programa retorna o maior número existente na matriz. No exemplo, o número retornado é 91.  Menor número: Nesta opção, o programa retorna o menor número existente na matriz. No exemplo, o número retornado é 3.  Número que mais se repete: Nesta opção, o programa retorna o número que mais se repete dentro da matriz, além da quantidade de vezes que ele se repete. No exemplo, o número retornado é 20 e a quantidade de vezes é 2.  Média: Nesta opção, o programa retorna a média aritmética dos números existente na matriz. No exemplo, o valor retornado é aproximadamente 44,68.  Números primos: Nesta opção, o programa retorna a quantidade de números primos existente na matriz. No exemplo, o valor retornado é 4. Ao fim do processamento de uma opção escolhida pelo usuário, o programa deve retornar ao menu de opções. O programa deve possuir no menu a opção de encerrar, para que o usuário encerre a execução do programa. Com exceção da primeira opção, todas as demais opções do programa devem ser desenvolvidas como função. Queria saber como faço estas duas funções:  Número que mais se repete: Nesta opção, o programa retorna o número que mais se repete dentro da matriz, além da quantidade de vezes que ele se repete. No exemplo, o número retornado é 20 e a quantidade de vezes é 2.  Números primos: Nesta opção, o programa retorna a quantidade de números primos existente na matriz. No exemplo, o valor retornado é 4.
  5. O problema esta no scanf. Deveria ser scanf("%6.2f", &c); e não scanf("%6.2f", c);. O primeiro tambem deve ser corrigido scanf("%6.2f", &a);
  6. Reaper

    Problema com matrizes

    Valeu General Shepherd. Aproveitando o tópico como faço para fazer estas duas funções: Número que mais se repete: Nesta opção, o programa retorna o número que mais se repete dentro da matriz, além da quantidade de vezes que ele se repete. No exemplo, o número retornado é 20 e a quantidade de vezes é 2. Números primos: Nesta opção, o programa retorna a quantidade de números primos existente na matriz. No exemplo, o valor retornado é 4.
  7. Pessoal tenho o seguinte trabalho para fazer: O seu objetivo será desenvolver um algoritmo que simule o funcionamento de um programa que extrairá dados estatísticos de uma matriz gerada aleatoriamente. Inicialmente, o programa solicita ao usuário que informe a dimensão da matriz. O programa então deverá gerar uma matriz com a dimensão informada e preenchida com valores aleatórios entre 1 e 99. Exemplo: Dimensão da matriz: 4 Matriz gerada pelo programa: 25 12 47 20 91 84 3 7 68 75 20 78 81 25 43 36 O programa deve exibir a matriz gerada na tela depois de criada. Em seguida, o programa deve solicitar ao usuário qual dado estatístico ele deseja saber. As opções que o programa deve fornecer são:  Par e Impar: Nesta opção, o programa retorna a quantidade de números pares e de números impares existentes na matriz. No exemplo, são 7 pares e 9 impares.  Maior número: Nesta opção, o programa retorna o maior número existente na matriz. No exemplo, o número retornado é 91.  Menor número: Nesta opção, o programa retorna o menor número existente na matriz. No exemplo, o número retornado é 3.  Número que mais se repete: Nesta opção, o programa retorna o número que mais se repete dentro da matriz, além da quantidade de vezes que ele se repete. No exemplo, o número retornado é 20 e a quantidade de vezes é 2.  Média: Nesta opção, o programa retorna a média aritmética dos números existente na matriz. No exemplo, o valor retornado é aproximadamente 44,68.  Números primos: Nesta opção, o programa retorna a quantidade de números primos existente na matriz. No exemplo, o valor retornado é 4. Ao fim do processamento de uma opção escolhida pelo usuário, o programa deve retornar ao menu de opções. O programa deve possuir no menu a opção de encerrar, para que o usuário encerre a execução do programa. Com exceção da primeira opção, todas as demais opções do programa devem ser desenvolvidas como função. A primeira função deve ser desenvolvida como procedimento. Além disso, cada opção deve ter o seu fluxograma criado e adicionado ao trabalho. Eu já fiz o seguinte: #include <stdio.h> #include <stdlib.h> #include <time.h> int opcao, c1, c2, c3, c4; int i, j, num; int matriz[i][j]; void MaiorNumero(int matriz[i][j]){ int a; a = matriz[0][0]; for(i = 0; i<num; i++) for(j = 0; j<num; j++){ if (a < matriz[i][j]) a = matriz[i][j]; } printf("\nO maior numero e %d\n",a); } void MenorNumero(int matriz[i][j]){ int a; a = matriz[0][0]; for(i = 0; i<num; i++) for(j = 0; j<num; j++){ if (a > matriz[i][j]) a = matriz[i][j]; } printf("\nO menor numero e %d\n",a); } void NumeroRepete(){ } void Media(int matriz[i][j]){ int total; float media; for(i = 0; i<num; i++) for(j = 0; j<num; j++){ total = total + matriz[i][j]; } media = total/(i*j); printf("\nA media e %d\n", media); } void NumerosPrimos(int matriz[i][j]){ for(i = 0; i<num; i++) for(j = 0; j<num; j++) for(int k = 0; k<matriz[i][j]; k++){ if (matriz[i][j] % k == 0) c3++; } if(c3 == 2) c4++; printf("o numero de primos e %d", c4); } int main() { srand(time(NULL)); printf("Bem-vindo ao programa estatistico de matrizes\n"); printf("Digite a dimensao da matriz\n"); scanf("%d", &num); for(i = 0; i<num; i++) for(j = 0; j<num; j++) matriz[i][j] = 0; for(i = 0; i<num; i++) for(j = 0; j<num; j++) matriz[i][j] = rand()%100; printf("A matriz gerada e :"); for(i = 0; i<num; i++) printf("\n"); for(j = 0; j<num; j++) printf("%d", matriz[i][j]); opcao = 1; while(opcao != 0){ printf("1- Par ou impar\n"); printf("2- Maior numero\n"); printf("3- Menor numero\n"); printf("4- Numero que mais se repete\n"); printf("5- Media\n"); printf("6- Numeros primos\n"); printf("0- Sair\n"); scanf("%d", &opcao); switch(opcao){ case 1: for(i = 0; i<num; i++) for(j = 0; j<num; j++){ if (matriz[i][j]%2 == 0) c1++; else c2++; } printf("Temos %d numeros pares\n", c1); printf("Temos %d numeros impares\n", c2); break; case 2: MaiorNumero(matriz[num][num]); break; case 3: MenorNumero(matriz[num][num]); break; case 4: NumeroRepete(matriz[num][num]); break; case 5: Media(matriz[num][num]); break; case 6: NumerosPrimos(matriz[num][num]); break; case 0: return 0; default: printf("Numero invalido. Digite novamente\n"); scanf("%d", &opcao); break; } } system("pause"); return 0; } Como faço para declarar uma matriz com dimensões desconhecidas ?
×
×
  • Criar Novo...