Ir ao conteúdo

Posts recomendados

Postado

Estou criando um jogo da velha, inicializei uma matriz de 3x3 e quero saber como posso inserir os dados nela.

O usuário ira digitar um número de 1 a 9 (uma casa do jogo), supondo que ele digitou o número 5, como posso como posso adicionar um valor (X ou O) no campo [1][1] da matriz?

 

Pensei em criar um vetor e depois colocar os valores dele na matriz porém vou usar essa matriz em outros 2 funções e e precisaria transformar ela de vetor pra matriz nas outras 2 também, como posso inserir os dados diretamente na minha matriz?

 

import java.util.Scanner;

public class Main {
    public static void showGame(int[] game){
        int[][] plays = {{game[0], game[1], game[2]}, {game[3], game[4], game[5]}, {game[6], game[7], game[8]}};
        for(int x = 0;x < 3;x++){
            for(int y = 0; y < 3;y++){
                System.out.print(plays[x][y] == 0 ? "  | " : (plays[x][y] == 1 ? "X" : "O") + " | ");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        Scanner read = new Scanner(System.in);
        int[] game = new int[9];
        int currentCel;

        for(int x = 0;x < 9;x++){
            System.out.printf(x % 2 == 0 ? "X: " : "0: ");
            currentCel = read.nextInt();
            while(game[currentCel-1] != 0 || currentCel > 9 || currentCel < 1){
                System.out.printf("Invalid cell, try again: ");
                currentCel = read.nextInt();
            }
            game[currentCel-1] = x % 2 + 1;
            showGame(game);
        }
    }
}

 

 

 

Postado

Seria melhor ler a linha e a coluna.

		String[][] tabuleiro = new String[3][3];
		Scanner s = new Scanner(System.in);
		int linha, coluna;
		System.out.print("\nDigite a linha (0 a 2): ");
		linha = s.nextInt();
		System.out.print("Digite a coluna (0 a 2): ");
		coluna = s.nextInt();		
		tabuleiro[linha][coluna] = "X";

Se quiser ler a linha e a coluna a partir do 1 (1 a 3), basta subtrair 1 na hora de fazer a atribuição.

tabuleiro[linha - 1][coluna -1 ] = "X";

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!