Preciso de uma ajudinha em java

Estou fazendo um jogo bem simples para um trabalho do curso que to fazendo onde tenho que aplicar em um projeto com o conteudo que foi ministrado até então(coisas básicas de sintaxe java e um pouco de orientação a objeto) que é um jogo de perguntas e respostas com premiação a cada pergunta que nem o show do milhão, o jogo até então era 3 classe a primeira era a classe Jogador com atributo nome a segunda Perguntas com atributos como p1 até p16 onde você teria que entrar com um o número correspondendo a alternativa correta da questão, até ai tudo bem… porém decidi acrescentar os ajudantes (aka universitários) e to tendo um problema pois eu queria que fosse possível pedir ajuda 3 vezes apenas porém do jeito que eu fiz a lógica n ta dando certo segue abaixo uma parte do código pra entenderem o que to fazendo.

public double per(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11, int p12, int p13, int p14, int p15, int p16, int ajudant){
        if(oprep==0){
            valor=0;
        }
        ajudant=3;
        p1=Integer.parseInt(JOptionPane.showInputDialog("█ 1-Qual desses animais comem insetos e solta o rabo para se defender? █\n1-LARGATIXA     2-TATURANA     3-JABUTI     5-nda\nVocê quer pedir ajuda?10-SIM     9-NÃO\n N° DE AJUDAS RESTANTES="+ajudant));
        if(p1==10 && ajudant!=0){
            ajudant=2;
            p1=Integer.parseInt(JOptionPane.showInputDialog("█ 1-Qual desses animais comem insetos e solta o rabo para se defender? █\nAjudante n°1 - "+getNome()+" a resposta é 5-nda     Ajudante n°2 - "+getNome()+" a resposta é 1-LARGATIXA\n N° DE AJUDAS RESTANTES="+ajudant));
            if(p1==1){
                valor=1000;
                JOptionPane.showMessageDialog(null, "Você acertou! e ganhou o valor de R$"+valor);
                oparar=Integer.parseInt(JOptionPane.showInputDialog(getNome()+" deseja parar? Se sim irá para casa com"+valor+"\n0-SIM     1-NÃO"));
                if(oparar==0){
                    JOptionPane.showMessageDialog(null, "VOCÊ DECIDIU PARAR!\nObrigado por ter participado do Show do milhão! este é o valor que irá levar para casa\nR$"+valor);
                }
                else{
                    p2=Integer.parseInt(JOptionPane.showInputDialog("█ 2-Qual desses animais podem viver até 200 anos? █\n1-LONTRA     2-TARTARUGA     3-GIRAFA     4-nda     5-GUEPARDO\nVocê quer pedir ajuda?10-SIM     9-NÃO\n N° DE AJUDAS RESTANTES="+ajudant));
                    if(p2==10 && ajudant!=0){
                        ajudant=1;
                        p2=Integer.parseInt(JOptionPane.showInputDialog("█ 2-Qual desses animais podem viver até 200 anos? █\nAjudante n°1 - "+getNome()+" a resposta é 2-TARTARUGA     Ajudante n°2 - "+getNome()+" a resposta é 4-nda\n N° DE AJUDAS RESTANTES="+ajudant));
                        if(p2==2){
                           valor+=1000;
                            JOptionPane.showMessageDialog(null, "Você acertou! e ganhou o valor de R$"+valor); 
                            oparar=Integer.parseInt(JOptionPane.showInputDialog(getNome()+" deseja parar? Se sim irá para casa com"+valor+"\n0-SIM     1-NÃO"));
                            if(oparar==0){
                                JOptionPane.showMessageDialog(null, "VOCÊ DECIDIU PARAR!\nObrigado por ter participado do Show do milhão! este é o valor que irá levar para casa\nR$"+valor);
                            }
                            else{
                                p3=Integer.parseInt(JOptionPane.showInputDialog("█ 3-Qual o nome do teorema que diz que ´´o quadrado da hipotenusa é igual a soma dos quadrados dos catetos``? █\\n 1-PITÁGORAS     2-EDNALDO PEREIRA     3-EPHIGENIO     4-NENHUMA DAS ALTERNATIVAS\nVocê quer pedir ajuda?10-SIM     9-NÃO\n N° DE AJUDAS RESTANTES="+ajudant));
                                if(p3==10 && ajudant!=0){
                                    ajudant=0;
                                    valor+=1000;
                                    p3=Integer.parseInt(JOptionPane.showInputDialog("█ 3-Qual o nome do teorema que diz que ´´o quadrado da hipotenusa é igual a soma dos quadrados dos catetos``? █\\n 1-PITÁGORAS     2-EDNALDO PEREIRA     3-EPHIGENIO     4-NENHUMA DAS ALTERNATIVAS\nAjudante n°1 - "+getNome()+" a resposta é 2-TARTARUGA     Ajudante n°2 - "+getNome()+" a resposta é 4-nda\n N° DE AJUDAS RESTANTES="+ajudant));
                                    
                                }

Não faz sentido esses 17 parâmetros aí, até porque você está alterando o valor deles deles dentro do método.

Posta o código completo das classes, só que não esqueça de selecionar o código aqui no fórum e clicar no botão </>.

1 curtida
Classe Jogador

private String nome;

public Jogador(){
    
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;

}

public class Perguntas extends Jogador{
private int p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16;
double valor=0;
int op=0, oparar=0, oprep=0;

public Perguntas(){
    
}

public int getOprep() {
    return oprep;
}

public void setOprep(int oprep) {
    this.oprep = oprep;
}


public int getP1() {
    return p1;
}

public void setP1(int p1) {
    this.p1 = p1;
}

public int getP2() {
    return p2;
}

public void setP2(int p2) {
    this.p2 = p2;
}

public int getP3() {
    return p3;
}

public void setP3(int p3) {
    this.p3 = p3;
}

public int getP4() {
    return p4;
}

public void setP4(int p4) {
    this.p4 = p4;
}

public int getP5() {
    return p5;
}

public void setP5(int p5) {
    this.p5 = p5;
}

public int getP6() {
    return p6;
}

public void setP6(int p6) {
    this.p6 = p6;
}

public int getP7() {
    return p7;
}

public void setP7(int p7) {
    this.p7 = p7;
}

public int getP8() {
    return p8;
}

public void setP8(int p8) {
    this.p8 = p8;
}

public int getP9() {
    return p9;
}

public void setP9(int p9) {
    this.p9 = p9;
}

public int getP10() {
    return p10;
}

public void setP10(int p10) {
    this.p10 = p10;
}

public int getP11() {
    return p11;
}

public void setP11(int p11) {
    this.p11 = p11;
}

public int getP12() {
    return p12;
}

public void setP12(int p12) {
    this.p12 = p12;
}

public int getP13() {
    return p13;
}

public void setP13(int p13) {
    this.p13 = p13;
}

public int getP14() {
    return p14;
}

public void setP14(int p14) {
    this.p14 = p14;
}

public int getP15() {
    return p15;
}

public void setP15(int p15) {
    this.p15 = p15;
}

public int getP16() {
    return p16;
}

public void setP16(int p16) {
    this.p16 = p16;
}


public double per(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11, int p12, int p13, int p14, int p15, int p16, int ajudant){
    if(oprep==0){
        valor=0;
    }
    p1=Integer.parseInt(JOptionPane.showInputDialog("█ 1-Qual desses animais comem insetos e solta o rabo para se defender? █\n1-LARGATIXA     2-TATURANA     3-JABUTI     "
            + "4-HEVERSON\nVocê quer pedir ajuda?\n10-SIM     9-NÃO\nAjudas restantes="+ajudant));
    if(p1==10 && ajudant!=0){
        ajudant--;
        p1=Integer.parseInt(JOptionPane.showInputDialog("█ 1-Qual desses animais comem insetos e solta o rabo para se defender? █\n1-LARGATIXA     2-TATURANA     3-JABUTI     "
            + "4-HEVERSON\n Ajudante n°1 -> 4-HERVERSON      Ajudante n°2 -> 1-LARGATIXA\nAjudas restantes="+ajudant));
        if(p1==1){
            valor+=1000;
            oparar=Integer.parseInt(JOptionPane.showInputDialog("Você acertou! Deseja parar? se sim irá para casa com "+valor+"\n0-SIM     1-NÃO"));
            if(oparar==0){
                JOptionPane.showMessageDialog(null, "PAROU\nVocê irá para casa com R$"+valor);
            }else{
                p2=Integer.parseInt(JOptionPane.showInputDialog("█ 2-Qual desses animais podem viver até 200 anos? █\n1-LONTRA     2-TARTARUGA     3-GIRAFA     4-RILMAR    "
                        + " 5-GUEPARDO\nVocê quer pedir ajuda?\n10-SIM     9-NÃO\nAjudas restantes="+ajudant));
                if(p2==10 && ajudant!=0){
                    ajudant--;
                    p2=Integer.parseInt(JOptionPane.showInputDialog("█ 2-Qual desses animais podem viver até 200 anos? █\n1-LONTRA     2-TARTARUGA     3-GIRAFA     4-VILMAR    "
                        + " 5-GUEPARDO\nAjudante n°1 -> 2-TARTARUGA      Ajudante n°2 ->4-VILMAR\nAjudas restantes="+ajudant));
                    if(p2==2){
                        valor+=1000;
                        oparar=Integer.parseInt(JOptionPane.showInputDialog("Você acertou! Deseja parar? se sim irá para casa com "+valor+"\n0-SIM     1-NÃO"));
                        if(oparar==0){
                            JOptionPane.showMessageDialog(null, "PAROU\nVocê irá para casa com R$"+valor);
                        }else{
                            p3=Integer.parseInt(JOptionPane.showInputDialog("█ 3-Qual o nome do teorema que diz que \"o quadrado da hipotenusa é igual a soma dos quadrados dos catetos\"? "
                                    + "█\n 1-PITÁGORAS     2-EDNALDO PEREIRA     3-EPHIGENIO     4-NENHUMA DAS ALTERNATIVAS\nVocê quer pedir ajuda?\n10-SIM     9-NÃO\nAjudas restantes="+ajudant));
                            if(p3==10 && ajudant!=0){
                                ajudant--;
                                p3=Integer.parseInt(JOptionPane.showInputDialog("█ 3-Qual o nome do teorema que diz que \"o quadrado da hipotenusa é igual a soma dos quadrados dos catetos\"? "
                                    + "█\n 1-PITÁGORAS     2-EDNALDO PEREIRA     3-EPHIGENIO     4-NENHUMA DAS ALTERNATIVAS\nAjudante n°1 -> 2-EDNALDO PEREIRA      "
                                        + "Ajudante n°2 ->1-PITÁGORAS\nAjudas restantes="+ajudant));
                                if(p3==1){
                                    valor+=1000;
                                    oparar=Integer.parseInt(JOptionPane.showInputDialog("Você acertou! Deseja parar? se sim irá para casa com "+valor+"\n0-SIM     1-NÃO"));
                                    if(oparar==0){
                                        JOptionPane.showMessageDialog(null, "PAROU\nVocê irá para casa com R$"+valor);
                                    }else{
                                        p4=Integer.parseInt(JOptionPane.showInputDialog("█ 4-Quem escreveu “Sítio do Pica-Pau Amarelo”? █\n1-RILMAR LOBATO     2-MONTEIRO LOBATO     3-MACHADO DE ASSIS     "
                                                + "4-CIRINO UZUMAKI\nVocê quer pedir ajuda?10-SIM     9-NÃO\nAjudas restantes="+ajudant));
                                        if(p4==10 && ajudant!=0){
                                            ajudant--;
                                            p4=Integer.parseInt(JOptionPane.showInputDialog("█ 4-Quem escreveu “Sítio do Pica-Pau Amarelo”? █\n1-GILMAR LOBATO     2-MONTEIRO LOBATO     3-MACHADO DE ASSIS     "
                                                + "4-CIRINO UZUMAKI\nAjudante n°1 -> 2-MONTEIRO LOBATO     Ajudante n°2 ->1-GILMAR LOBATO\nAjudas restantes="+ajudant));
                                            if(p4==2){
                                                valor+=1000;
                                                oparar=Integer.parseInt(JOptionPane.showInputDialog("Você acertou! Deseja parar? se sim irá para casa com "+valor+"\n0-SIM     1-NÃO"));
                                                if(oparar==0){
                                                    JOptionPane.showMessageDialog(null, "PAROU\nVocê irá para casa com R$"+valor);
                                                }else{
                                                    p5=Integer.parseInt(JOptionPane.showInputDialog("█ 5-Em que peça a história do Rei Leão é baseada? █\n1-EDIPO REI     2-ROMEU E JULIETA     3-O SONHO DE UMA NOITE DE VERÃO"
                                                            + "     4-HAMLET\nVocê quer pedir ajuda?10-SIM     9-NÃO\nAjudas restantes="+ajudant));
                                                }
                                            }else{
                                                valor=1500;
                                                JOptionPane.showMessageDialog(null, "Você errou e irá para casa com R$"+valor);
                                            }
                                        }else{
                                            p4=Integer.parseInt(JOptionPane.showInputDialog("█ 4-Quem escreveu “Sítio do Pica-Pau Amarelo”? █\n1-RILMAR LOBATO     2-MONTEIRO LOBATO     3-MACHADO DE ASSIS     "
                                                + "4-CIRINO UZUMAKI\nAjudas restantes="+ajudant));

public class Ajudantes {
private int ajudant=3;

public Ajudantes(){
    
}

public int getAjudant() {
    return ajudant;
}

public void setAjudant(int ajudant) {
    this.ajudant = ajudant;
}

Pôxa ainda pedi para você selecionar o código postado e clicar no botão </>, ignorou totalmente… :frowning:

Você está dizendo que as perguntas são um jogador.
Isso faz sentido pra você?

Suas perguntas são números inteiros?

O que são essas opções?

Pra que esses 17 parâmetros?

1 curtida

Sobre n ter apertado o </> peço perdão :sweat_smile:

“Você está dizendo que as perguntas são um jogador.
Isso faz sentido pra você?” realmente ficou sem sentido

"Suas perguntas são números inteiros?"
Tipo o que eu tinha pensado… essa variável ia no JOptionpane mostrar as alternativas que seriam números inteiros e isso iria resultar se a pessoa acertaria ou não a questão

"O que são essas opções?"
A terceira opção está na estrutura de repetição que caso o usuário digitasse 0 quando aparecesse a pergunta ele reiniciaria o jogo. A segunda opção séria a opção de parar o jogo que nem no jogo do milhão onde o jogador escolhe parar e ir só com aquela quantia embora. a primeira opção nem tá sendo usada :sweat:

"Pra que esses 17 parâmetros?"
Realmente depois que você comentou mais ali em cima percebi que era burrice

Se eu fosse você, criaria uma classe Pergunta com três atributos:

  • enunciado;
  • alternativas;
  • resposta;

Aí na classe Perguntas, eu declararia uma variável para cada pergunta.