Como fazer para ir para a carta 2?

Como fazer para ir para a carta 2?

por Simone Harnik -
Número de respostas: 9

Gente,

Tô conseguindo fazer com que o computador entenda a primeira carta e responda certo. Mas como faço para ir para a carta 2? No meu truco, o computador já se confunde de cara. Ele pensa que a primeira carta também é a dois.

Como faço pra pedir uma nova carta para o usuário? Achei que tinha de ser com um novo método. Mas, pelo que estávamos discutindo aqui no fórum, não precisa de mais métodos...

Beijos.

[PS: estou tendo muita dificuldade com isso. alguém passa pelo mesmo problema?]

Simone

Em resposta à Simone Harnik

Re: Como fazer para ir para a carta 2?

por Thiago Paixão -
Simone, tudo bem? Se a carta foi utilizada voce pode marcar ela com um 0 (zero - isso se chama flag, um indicador de que ela ja foi utilizada). Na jogada do computador deve ser verificado se o valor da carta e 0. Se for, deve-se procurar outra carta. Se ainda tiver duvidas podemos detalhar mais o problema. Abraco!
Em resposta à Thiago Paixão

Re: Como fazer para ir para a carta 2?

por José Eduardo Santos -

Olá..

Eu não entendi como faço para marcar a carta com um zero. Depois que eu jogar ela eu por exemplo faço: carta1 = 0 ???

Em resposta à José Eduardo Santos

Re: Como fazer para ir para a carta 2?

por Vinícius Daros -
Olá, José

É exatamente isso.
Dessa forma, antes de jogar uma carta, você deve primeiro verificar se o valor dela não é zero.

Abraço,

Vinícius
Em resposta à Vinícius Daros

Re: Como fazer para ir para a carta 2?

por José Eduardo Santos -

if (cartaDoUsuario > cartaPc1&&cartaDoUsuario > cartaPc2&&cartaDoUsuario > cartaPc3)
     placarUsuario = 1;
       System.out.println("1x0 pra você");
       else if(cartaDoUsuario< cartaPc1)
         System.out.println("1x0 pra máquina");

1 error found:
File: C:\jdk1.5.0_15\Trucoteste.java  [line: 29]
Error: 'else' without 'if'

Se no lugar do else if eu coloco só else e tiro a condição também aparece esse erro. Que else é esse que tá faltando???

Em resposta à José Eduardo Santos

Re: Como fazer para ir para a carta 2?

por Diego Wesllen da Silva -
Bom José,

tive esse mesmo problema. Comigo funcionou colocar o bloco if entre chaves. Por exemplo:

- Você está fazendo:
if (condição)
comando

- Faça desta maneira
if (condição)
{
comando
}


Espero ter ajudado!
Abraços
Diego
Em resposta à José Eduardo Santos

Re: Como fazer para ir para a carta 2?

por Claudiney Gonçalves Primo -

if ((cartaDoUsuario) > (cartaPc1&&cartaDoUsuario) > (cartaPc2&&cartaDoUsuario > cartaPc3)
     placarUsuario = 1;
       System.out.println("1x0 pra você");
       else if(cartaDoUsuario< cartaPc1)
         System.out.println("1x0 pra máquina");

Meu camaradinha... descreva o que vc quer fazer, pois, eu num consegui entender a sequencia das condições e nem para onde leva

Em resposta à José Eduardo Santos

Re: Como fazer para ir para a carta 2?

por Vinícius Daros -
Olá, José

O que o Diego disse está correto.

O "if" e o "esle" são precedidos por um bloco de comandos.
Um bloco de comandos é definido como o que está entre "{" e "}" (sem as aspas).

Quando o bloco é constituído por apenas um comando, o uso das chaves é opcional, apesar de ser recomendado. Mas, quando usa-se mais de um comando no bloco, as chaves são obrigatórias.

Seu código, com as chaves, ficaria assim:

if (cartaDoUsuario > cartaPc1 && cartaDoUsuario > cartaPc2 && cartaDoUsuario > cartaPc3) {
placarUsuario = 1;
System.out.println("1x0 pra você");
}
else if (cartaDoUsuario< cartaPc1) {
/* Não esqueça de marcar também a vitórias do computador. */
placarComputador = 1;
System.out.println("1x0 pra máquina");
}

Abraço,

Vinícius