Ir ao conteúdo
  • Cadastre-se

Renan Galina

Membro Pleno
  • Posts

    201
  • Cadastrado em

  • Última visita

Tudo que Renan Galina postou

  1. @Henrique PP Achei bacana este. Mas essa marca é confiavel? E qual seria o melhor cabo para utilizar?
  2. @grievous esse suporte dele não caberia na minha mesa
  3. Salve galera, to precisando trocar meu monitor. Quero comprar um monitor que não seja tão grande devido a espaço curto na mesa (máx 26 polegadas). Me indiquem monitores gamers até 1500 reais, se ultrapassar um pouco o valor, não tem problema. #edit: Qual é o melhor cabo para maior qualidade da imagem? DVI, HDMI, VGA, DisplayPort? Meu pc: Ryzen 2600 GTX 1060 6gb 8gb ram
  4. import java.util.Scanner; public class PalavrasCruzadas { public final static int FALSO = 0; public final static int VERD = 1; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int MAX = 102; // tamanho máximo da matriz. int[][] a = new int[MAX][MAX]; int m, n; int cont; System.out.print("Digite m & n: "); m = sc.nextInt(); n = sc.nextInt(); System.out.println("Digite a matriz linha por linha"); for(int i = 1; i <= m; i++) { for(int j = 1; j <= n; j++) { a[i][j] = sc.nextInt(); } } for(int j = 0; j <= n + 1; j++) { a[0][j] = -1; a[m + 1][j] = -1; } for(int i = 1; i <= m; i++) { a[i][0] = -1; a[i][n + 1] = -1; } cont = 0; for(int i = 1; i <= m; i++) { for(int j = 1; j <= n; j++) { if(inicio(a, i, j) == VERD) { cont++; a[i][j] = cont; } } } System.out.println("Palavras cruzadas:"); for(int i = 1; i <= m; i++) { for(int j = 1; j <= n; j++) { System.out.printf("%3d", a[i][j]); } System.out.println(); } } public static int inicio(int[][] a, int i, int j) { if(a[i][j] != -1 && (a[i - 1][j] == -1 && a[i + 1][j] != -1 || a[i][j - 1] == -1 && a[i][j + 1] != -1)) { return VERD; } else { return FALSO; } } } Então pessoal, eu quero criar mais um caso de teste para essa matriz aí. Mas não sei como criar. Um exemplo: o usuário digita 2 (2 casos de teste). aí vai para o primeiro caso de teste, digita as linhas e colunas dessa matriz A, e depois resultado. aí em vez do código terminar, iria para o 2 caso, com uma matriz A de valores diferentes. Como proceder?
  5. @giu_d Obrigado pela ajuda giu_d!
  6. @giu_d O meu ficou assim: public class JogoDaVelha { public static void main(String[] args) { Menu menu = new Menu(); Tabuleiro tabuleiro = new Tabuleiro(); // Identifica o jogador 1 como humano ( usando id 1 ) Jogador jogador1 = new Jogador(1); Jogador jogador2 = new Jogador(2); // Impressão inicial para começar o jogo menu.imprimeTabuleiro(tabuleiro); // começa com o jogador humano Jogador jogador = jogador1; boolean acabou = false; do { if (jogador.getid() == 1) { // Faz a jogada do considerando o método para usuário humano jogador.jogada(tabuleiro, menu.lerLinha(), menu.lerColuna()); } else { // Faz a jogada do considerando o método para computador jogador.jogada(tabuleiro); } // troca de jogador if (jogador == jogador1) { jogador = jogador2; } else { jogador = jogador1; } // Imprime o tabuleiro para o usuário ver a situação atual menu.imprimeTabuleiro(tabuleiro); // Verifica se alguém venceu if (tabuleiro.verificaVitoria("X")) { System.out.println("Vitória do jogador X"); acabou = true; } else if (tabuleiro.verificaVitoria("O")) { System.out.println("Vitória do jogador O"); acabou = true; } else if ((jogador1.getQtd() + jogador2.getQtd()) == 9) { System.out.println("Deu velha!"); acabou = true; } } while (!acabou); } } public class Jogador { private int qtd, id; // o atributo qtd ainda não está em uso public Jogador(int id_jogador) { this.id = id_jogador; this.qtd = 0; } public int getQtd() { return qtd; } public int getid() { return this.id; } // Em um desses métodos aqui teria que validar se a posição da jogada está vazia public void jogada(Tabuleiro tabuleiro, int linha, int coluna) { if (id == 1) { tabuleiro.setPosicao(linha, coluna, "X"); } else { tabuleiro.setPosicao(linha, coluna, "O"); } qtd++; } public void jogada(Tabuleiro tabuleiro) { // aqui o computador deve escolher uma posição vazia do tabuleiro para jogar int linha = 0; // trocar o zero pela linha escolhida pelo computador; int coluna = 0; // trocar o zero pela coluna escolhida pelo computador; tabuleiro.setPosicao(linha, coluna, "O"); qtd++; } } Só que quando executo, mesmo problema: Precisa de uma lógica para quando jogar X, trocar para o O. adicionado 6 minutos depois Rodei seu código aqui, mas não da pra digitar a linha nem coluna: sempre aparece: "Erro essa jogada ja foi efetuada" sendo que nao ta preenchido. Consegui arrumar: em vez do continue; era break.
  7. Ok, consegui rodar finalmente o programa. Agora, há um dilema: Tenho que alterar para td vez não repetir o 'x' porque qualquer valor que eu digite em linha ou coluna me retorna apenas X.
  8. @r.c_lopez Tenta acessar as pastas dele, mas acho muito difícil conseguir pois o cel precisa ta ligado p você acessar os dados. Se tiver backup só pegar na google e ja era
  9. @giu_d O único erro para compilar agora, está na classe Jogador. Jogador.java:17: error: cannot find symbol tabuleiro.setPosicao(linha, coluna, "X"); ^ symbol: variable linha location: class Jogador Jogador.java:17: error: cannot find symbol tabuleiro.setPosicao(linha, coluna, "X"); ^ symbol: variable coluna location: class Jogador Jogador.java:19: error: cannot find symbol tabuleiro.setPosicao(linha, coluna, "O"); ^ symbol: variable linha location: class Jogador Jogador.java:19: error: cannot find symbol tabuleiro.setPosicao(linha, coluna, "O"); ^ symbol: variable coluna location: class Jogador Jogador.java:24: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable posições location: class Jogador Jogador.java:24: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable sinal location: class Jogador Jogador.java:24: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable posições location: class Jogador Jogador.java:27: error: cannot find symbol posições[linha][coluna] = sinal; ^ symbol: variable posições location: class Jogador Jogador.java:27: error: cannot find symbol posições[linha][coluna] = sinal; ^ symbol: variable sinal location: class Jogador Jogador.java:28: error: cannot find symbol jogada++; ^ symbol: variable jogada location: class Jogador 10 errors
  10. Fiz alterações! > Tabuleiro public class Tabuleiro { public String[][] matriz; public String[][] posições; public Tabuleiro() { posições = new String[3][3]; for (int i = 0; i < posições.length; i++) { for (int j = 0; j < posições[i].length; j++) { posições[i][j] = ""; } } } public String getPosicao(int linha, int coluna) { return posições[linha][coluna]; } public String getPosicoes(int a, int b){ return matriz[a][b]; } public void setPosicao(int linha, int coluna, String valor) { posições[linha][coluna] = valor; } public boolean verificaVitoria(String sinal) { if ((posições[0][0] == sinal && posições[0][1] == sinal && posições[0][2] == sinal) || //linha 1 (posições[1][0] == sinal && posições[1][1] == sinal && posições[1][2] == sinal) || //linha 2 (posições[2][0] == sinal && posições[2][1] == sinal && posições[2][2] == sinal) || //linha 3 (posições[0][0] == sinal && posições[1][0] == sinal && posições[2][0] == sinal) || //coluna 1 (posições[0][1] == sinal && posições[1][1] == sinal && posições[2][1] == sinal) || //coluna 2 (posições[0][2] == sinal && posições[1][2] == sinal && posições[2][2] == sinal) || //coluna 3 (posições[0][0] == sinal && posições[1][1] == sinal && posições[2][2] == sinal) || //diagonal (posições[0][2] == sinal && posições[1][1] == sinal && posições[2][0] == sinal)) { //diagonal inversa return true; } return false; } } Jogador public class Jogador{ private int qtd, id, id_jogador; public int linha=0, coluna=0; //Construtor public Jogador(int id_jogador){ this.id_jogador = id_jogador; } public int getid(){ return this.id; } public void jogada(Tabuleiro tabuleiro, int linha, int coluna){ this.linha = linha; this.coluna = coluna; if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { return false; } else { //jogada válida posições[linha][coluna] = sinal; jogada++; return true; } } public void jogada(Tabuleiro tabuleiro){ System.out.println(tabuleiro); menu.lerLinha(); menu.lerColuna(); } public void jogada(Tabuleiro tabuleiro){ if (id ==1) tabuleiro.setPosicao(linha, coluna, "X"); else tabuleiro.setPosicao(linha, coluna, "O"); } } Menu import java.util.Scanner; public class Menu{ private Scanner sc = new Scanner (System.in); private int linha=0, coluna=0; public Menu(){ } public void imprimeTabuleiro(int oi, int ola, Tabuleiro tabuleiro){ String[][] matriz = tabuleiro.getPosicoes(); for (int a = 0; a < matriz.length; a++) { for (int b = 0; b < matriz[0].length; b++) { System.out.print(matriz[a][b] + " | "); } System.out.println(); } } public int lerLinha(){ System.out.println("Digite a linha: "); this.linha = sc.nextInt(); return linha; } public int lerColuna(){ System.out.println("Digite a coluna: "); this.coluna = sc.nextInt(); return coluna; } } Main public class JogoDaVelha { public static void main(String[] args) { Menu menu = new Menu(); Tabuleiro tabuleiro = new Tabuleiro(); int linha, coluna, contador=0; Jogador jogador1; Jogador jogador2; boolean vitoriaX=false, vitoriaO=false; //Identifica o jogador 1 como humano ( usando id 1 ) jogador1 = new Jogador(1); jogador2 = new Jogador(2); //Impressão inicial para começar o jogo menu.imprimeTabuleiro(tabuleiro); do{ //Faz a jogada do primeiro jogador, considerando o método para usuário humano jogador1.jogada(tabuleiro,menu.lerLinha(), menu.lerColuna()); //contabiliza a jogada com sucesso, visto que os métodos já garantem que a jogada sempre acontecerá com sucesso contador++; //Imprime o tabuleiro para o usuário ver a situação atual menu.imprimeTabuleiro(tabuleiro); //Verifica se alguém venceu vitoriaX = tabuleiro.verificaVitoria("X"); vitoriaO = tabuleiro.verificaVitoria("O"); //Caso ngm tenha vencido ainda e não tenha acabado as jogadas, o segundo jogador joga. if(vitoriaX == false && vitoriaO == false && contador < 9){ //Faz a jogada do primeiro jogador, considerando o método para usuário computador jogador2.jogada(tabuleiro); //contabiliza a jogada com sucesso, visto que os métodos já garantem que a jogada sempre acontecerá com sucesso contador++; //Imprime o tabuleiro para o usuário ver a situação atual menu.imprimeTabuleiro(tabuleiro); //Verifica se alguém venceu vitoriaX = tabuleiro.verificaVitoria("X"); vitoriaO = tabuleiro.verificaVitoria("O"); } //Repete a estrutura enquanto ngm vencer e houver jogadas disponíveis. }while(vitoriaX == false && vitoriaO == false && contador < 9); //Verifica se o jogador 1 ganhou if (vitoriaX) { System.out.println("Vitória do jogador X"); }else{ //Verifica se o jogador 2 ganhou if (vitoriaO) { System.out.println("Vitória do jogador O"); }else{ //Verifica se deu velha System.out.println("Deu velha!"); } } } } Agora, dá os seguintes erros: .\Jogador.java:29: error: method jogada(Tabuleiro) is already defined in class J ogador public void jogada(Tabuleiro tabuleiro){ ^ JogoDaVelha.java:15: error: method imprimeTabuleiro in class Menu cannot be appl ied to given types; menu.imprimeTabuleiro(tabuleiro); ^ required: int,int,Tabuleiro found: Tabuleiro reason: actual and formal argument lists differ in length JogoDaVelha.java:23: error: method imprimeTabuleiro in class Menu cannot be appl ied to given types; menu.imprimeTabuleiro(tabuleiro); ^ required: int,int,Tabuleiro found: Tabuleiro reason: actual and formal argument lists differ in length JogoDaVelha.java:34: error: method imprimeTabuleiro in class Menu cannot be appl ied to given types; menu.imprimeTabuleiro(tabuleiro); ^ required: int,int,Tabuleiro found: Tabuleiro reason: actual and formal argument lists differ in length .\Menu.java:8: error: method getPosicoes in class Tabuleiro cannot be applied to given types; String[][] matriz = tabuleiro.getPosicoes(); ^ required: int,int found: no arguments reason: actual and formal argument lists differ in length .\Jogador.java:15: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable posições location: class Jogador .\Jogador.java:15: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable sinal location: class Jogador .\Jogador.java:15: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable posições location: class Jogador .\Jogador.java:16: error: incompatible types: unexpected return value return false; ^ .\Jogador.java:19: error: cannot find symbol posições[linha][coluna] = sinal; ^ symbol: variable posições location: class Jogador .\Jogador.java:19: error: cannot find symbol posições[linha][coluna] = sinal; ^ symbol: variable sinal location: class Jogador .\Jogador.java:20: error: cannot find symbol jogada++; ^ symbol: variable jogada location: class Jogador .\Jogador.java:21: error: incompatible types: unexpected return value return true; ^ .\Jogador.java:26: error: cannot find symbol menu.lerLinha(); ^ symbol: variable menu location: class Jogador .\Jogador.java:27: error: cannot find symbol menu.lerColuna(); ^ symbol: variable menu location: class Jogador 15 errors
  11. @giu_d Mas ta com sinal de + no UML. O que tem sinal de - é apenas o teclado, que eu declarei: private Scanner sc = new Scanner (System.in); Pensei em um método para criar o jogada: boolean validarJogada(Tabuleiro tabuleiro) { if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { return false; } else { //jogada válida posições[linha][coluna] = sinal; jogada++; return true; } }
  12. Pega uma GTX 1060 6gb, ou 1070+ como GPU. Ram 8gb já basta, mas se quiser 16gb também é bom> SSD é indispensável. Processador vai de Ryzen da AMD, aí vai do seu uso. Eu pegaria o 2600X que é o meio termo.
  13. @r.c_lopez Tenta colocar uma bateria própria do SM G530( gran prime ); Caso contrário, bixou o firmware ou a placa, de tanto você insistir em colocar baterias diferentes. Já tive esse celular, quando deu o primeiro problema já joguei ele longe. Em vez de trocar tanto de bateria era só ter comprado um novo.
  14. Estou parado, não consigo evoluir nesse código... Ao compilar, recebo os seguintes erros: Ao compilar a classe main, dá os seguintes erros: JogoDaVelha.java:19: error: 'void' type not allowed here jogador1.jogada(tabuleiro,menu.lerLinha(), menu.lerColun a()); ^ JogoDaVelha.java:19: error: 'void' type not allowed here jogador1.jogada(tabuleiro,menu.lerLinha(), menu.lerColun a()); ^ JogoDaVelha.java:30: error: method jogada in class Jogador cannot be applied to given types; jogador2.jogada(tabuleiro); ^ required: Tabuleiro,int,int found: Tabuleiro reason: actual and formal argument lists differ in length .\Jogador.java:15: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable posições location: class Jogador .\Jogador.java:15: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable sinal location: class Jogador .\Jogador.java:15: error: cannot find symbol if (posições[linha][coluna] == sinal || posições[linha][coluna] == 'O') { ^ symbol: variable posições location: class Jogador .\Jogador.java:16: error: incompatible types: unexpected return value return false; ^ .\Jogador.java:19: error: cannot find symbol posições[linha][coluna] = sinal; ^ symbol: variable posições location: class Jogador .\Jogador.java:19: error: cannot find symbol posições[linha][coluna] = sinal; ^ symbol: variable sinal location: class Jogador .\Jogador.java:20: error: cannot find symbol jogada++; ^ symbol: variable jogada location: class Jogador .\Jogador.java:21: error: incompatible types: unexpected return value return true; ^ 11 errors
  15. Vai de 2600, tenho um e não me arrependo. Eu paguei 880, logo quando lançou.
  16. @Thiago Zillinger Você tá atualizando ou restaurando? Tenta restaurar, e usa o último backup feito pelo iCloud.
  17. Olá amigos, meu monitor antigo deu problema, e estou precisando de um novo. Tenho 1000 reais para investir (a vista). Meu pc é um Ryzen 2600 com uma Gtx 1060 6gb. Queria jogar em full hd, e não tenho interesse em competitivo. Ah, o monitor não pode ser muito grande porque a mesa não vai caber... até 25 polegadas dá
  18. @PiruzaoONFIRE Obrigado! Pelo jeito que fiz estava correto, só faltou adicionar os métodos de retorno THIS, procede? Eu preciso de um método equals (boolean) que vai comparar dois itens do objeto Item. Como eu faço para adicionar?
  19. @aerolipe Vou fazer aqui e atualizo adicionado 3 minutos depois public class Item{ public int codigo; public String nome; public String descricao; public double preco; public int qtd; public Item (int codigo, string nome, string descricao, double preco) { } public void setNome(String nome){ this.nome = nome; } public void setDescricao (String descricao){ this.descricao = descricao; } public void setPreco (double preco){ this.preco = preco; } public void setQtd (int qtd){ this.qtd = qtd; } public int getCodigo(){ return codigo; } public String getNome(){ return nome; } public String getDescricao(){ return descricao; } public double getPreco(){ return preco; } public int getQtd(){ return qtd; } } O correto é colocar em cima ou após o getQtd? E para fazer o equals e incrementaItem, como procedo?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!