Menu

20 respostas Resolvido
S

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

  • Criar menu

20 Respostas

R

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

D

É 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);
}
R

E está printando como?

R

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

S

Ok

R

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

S

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

R

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.

S

Ninguem nao tem ai umas dicas que me possam ajudar?

P

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

S

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

P

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

S

Em memoria

S

ok

H

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?

H
Solucao aceita

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

S

ahh muito obrigada!! me ajudou muito valeu

H

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

S

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)

H

Olha, isso de registro de utilizador e esses dados ou tu salva no banco de dados, ou então tu usa um array list, se usar o banco tem que criar conexão, e as classes pra salvar, caso for usar o array tudo estará salvo enquanto funcionar o programa, tu parou o programa ele exclui tudo

Criado 16 de junho de 2018
Ultima resposta 26 de jun. de 2018
Respostas 20
Participantes 5