Menu

Estou criando um jogo usando interface java, porém eu não estou conseguindo fazer:

  • Criar menu

Diga em qual método está tendo problema e qual seria o problema tecnicamente.

É muita coisa a ser feita, por isso que dificilmente alguém vai ajudar, acho que seria mais ou menos:

 class HumanoDAO {
  public List<Humano> humanos;
  public Humano buscarPorNome(nome) {
    for (Humano h: humanos) {
      if (h.nome == nome) return h;
    }
    return null;
  }
}

class Humano {
  Estatistica estatistica;
  String senha;
}

if(menu() == 1) {
  this.jogador1 = jogadorDao.buscarPorNome(nome1);
  if (this.jogador1 == null) {
    this.jogador1 = new Humano(nome1);
    cadastrarSenha(this.jogador1);
    jogadorDao.cadastrar(this.jogador1);
  } else {
    logar(this.jogador1);
  }
  this.jogador1.setNumeroDoJogador(1);
}

E está printando como?

Não pode. Posta este código COMPLETO, deve ter outra coisa que está fazendo isso.

Ok

Aqui está o código que printa aquele menu. Mas em que parte está o menu que vc queria que printasse?

Sim, exato só que eu não sei como fazer como ele me mostre o registro de utilizador (nome de utilizador e senha) nem as estatísticas (número total de jogos, número de vitórias, derrotas e empates).

As opções é só adicionar lá no método q printa o menu. Mas se não consegue fazer isso então não tem mta coisa q eu possa fazer por vc.

Ninguem nao tem ai umas dicas que me possam ajudar?

Com todo respeito, https://www.caelum.com.br/download/caelum-java-objetos-fj11.pdf

E para as estatísticas (número total de jogos, número de vitórias, derrotas e empates).

Você pretende salvar esses dados em um banco de dados ou em memória?

Em memoria

ok

Se bem entendi esse :arrow_up: é o menu que você quer printar, mas ele está printando esse :arrow_down:

Será que se você pegar esse código :arrow_down:

E substituir por esse :arrow_down: não resolveria seu problema?

Consegui resolver um dos problemas, juntei essas duas classes:

Que resultou nessa:

public void iniciarJogadores() {
        int opcao = 0;
        do {
            System.out.println(" ------ MENU ------  ");
            System.out.println("Escolha o modo de jogo!");
            System.out.println("1. Humano vs Humano");
            System.out.println("2. Computador vs CPU");
            System.out.println("3. CPU vs CPU");
            System.out.print("Opção: ");
            opcao = entrada.nextInt();

            if (opcao < 1 && opcao > 3) {
                System.out.println("Opção inválida! Tente novamente");
            }
        } while (opcao < 1 && opcao > 3);

        System.out.println("----------------------");
        System.out.println("nome do jogador 1 [X]:");
        nome1 = entrada.next();

        if (opcao == 1) {
            this.jogador1 = new Humano(1); //se a opção do usuário for 1 o primeiro jogador é humano
        } else if (opcao == 2) {
            this.jogador1 = new Humano(1); //mesma coisa do acima ^
        } else {
            this.jogador1 = new Computador(1); //se a opção for 3 o primeiro jogador é a cpu
        } 

        System.out.println("----------------------");
        System.out.println("nome do jogador 2 [O]:");
        nome2 = entrada.next();

        if (opcao == 1) {
            this.jogador2 = new Humano(2); //se a opcao do usuario for 1 o segundo jogador é humano assim resultando em um jogo HxH
        } else if(opcao == 2) {
            this.jogador2 = new Computador(2); //se a opcao do usuario for 2 o segundo jogador é a cpu resultand em um jogo HxCPU
        } else {
            this.jogador2 = new Computador(2); //se a opção for 3 o segundo jogador é a cpu resultando em um jogo CPUxCPU
        } 

    }

Aquele menu tinha que ser executado no void para poder aparecer, primeiro ele vai perguntar a opção de jogo, dependendo do que for escolhido ele vai atribuir os jogadores, deixei um comentário ali, se tu quiser pode substituir o if pelo switch como o netbeans deu a dica, da na mesma, não resolvi todos mas já funciona o estilo de jogo

1 curtida

ahh muito obrigada!! me ajudou muito valeu

De nada!!! ^^, só não tentei fazer as outras coisas porque não parei pra olhar direito todo o código, mas assim que puder dou mais uma olhada

pois é, eu tb com dificuldades também na parte do login de utilizador porque só pode jogar se antes tiver feito um login com (nome e password)