Dúvidas do EP1

Dúvidas do EP1

por Danila Ribeiro -
Número de respostas: 6

Fiz o programa em três etapas, uma para cada jogada. Falta a terceira rodada, mas imagino que se fosse feito com esquema de laço (while) o programa ficaria mais curto, ou não?

1ª dúvida: Tenho dúvidas se fiz corretamente a verificação das cartas já jogadas (que não podem voltar aojogo) , uma vez que as cartas podem ser repetidas.

2ª dúvida: Qual a sintaxe para incluir  no programa o valor digitado pelo usuário?

3ª dúvida: Como não tenho internet, fiz o download da Java e do DrJava, copiei no pen drive e levei para casa. Instalei o Java mas pulei uma etapa das instruções. Não sei se por isso não vou conseguir compilar. Tentei reinstalar, mas não consegui, apareceu uma mendagem de "Erro fatal". Como já estou usando o DrJava isso garante que vai compilar?

4ª dúvida: Se não compilar, o programa indica onde está o erro, como na linguagem C?

Em resposta à Danila Ribeiro

Re: Dúvidas do EP1

por Simone Harnik -

Olha só, Danila,

Só consigo responder a uma das suas questões, mas espero que ajude em algo. Eu também pensei que seria necessário fazer por partes o EP. Imaginava que era para fazer um método para cada carta.

Só que o monitor que vai corrigir só vai digitar dois métodos no Interactions: o primeiro é o "jogo.inicia.Jogo ();" e o outro é o "jogo.jogaCarta ();". Por isso, toda a parte da jogada de cartas tem de estar no jogaCarta.

Como me ensinaram por aqui, é possível escrever tudo em um método só. Você tem de pensar no jogo como um todo. E escrever condições para o computador jogar a carta. Um exemplo é:

if (cartadojogador1 < cartadocomputador1 && cartadocomputador1 != 0)
   {
   cartadocomputador1 = 0;
   System.out.println ("Computador joga a carta" + cartadocomputador1);
   }

Daí vc vai desenvolvendo isso e os elses. Então, vc tem de pensar no jogo inteiro.

Para fazer com que o computador não jogue mais a carta que jogou, a gente bota o valor dela de 0 [como está naquela linha cartadocomputador1 = 0;]. E a gente elimina ela ao colocar && cartadocomputador1 != 0 [cartado computador é diferente de 0].

Vc entendeu? Se já tinha entendido, desculpe a intromissão.

Eu não usei while e tá dando certo. não sei se precisa, não.

Ah, percebi que consigo responder a sua pergunta 2. Para jogar a carta do jogador, é necessário escrever no interactions:

jogo.jogaCarta (7);

Isso é um exemplo com uma das cartas recebidas pelo usuário igual a sete.

Outra! Pra compilar, precisa instalar direito aquela história das variáveis. Tá no tutorial e não tem erro. Se vc não conseguir no tutorial, dá um google q tem um monte de versões disso na net. Não entendo nada de linguagem C. Aliás, o que é c??? rs brincadeira.

Beijos, espero que tenha conseguido ajudar em algo.

Simone

Em resposta à Simone Harnik

Re: Dúvidas do EP1

por Danila Ribeiro -

Puxa, você respondeu três das todas quatro perguntas!

Eu já tinha entendido que não poderia ser um método para cada jogada, mas não entendi o que significa pensar no jogo como um todo: iniciei como você, usei os ifs e elses  e na seqüência repeti tudo para a segunda e para a terceira jogada.

Sobre a verificação eu não tinha aplicado a dica da atribuição do ZERO para a carta usada e o programa ficou imenso. Agora está bem mais simples.

Sobre o while meu amigo Jeferson me convenceu de que não haveria utilidade prática para ele nesse programa.

Sobre a pergunta não respondida, o Jeferson me orientou a refazer os passos de instalação. Para quem não conseguiu, é grande a probabilidade de que o problema esteja na declaração daquelas variáveis. Quando eu acertei isso, apareceu a localização do compilador no canto inferior direito.

Valeu pela atenção,  Simone

Em resposta à Danila Ribeiro

Re: Dúvidas do EP1

por Arthur Gabriel de Santana -
Oi Danila, as dicas do pessoal estão corretas. =)

Sobre a entrada de dados, ela não será necessária no EP, já que a interação é feita manualmente através dos métodos. Mas, se você quiser mesmo saber, pode dar uma olhada nisso aqui.

A maioria das aplicações comerciais em Java utiliza janelas; é por isso que não existe um modo "padrão" de se obter entrada pelo teclado.
Em resposta à Danila Ribeiro

Re: Dúvidas do EP1

por Simone Harnik -

Oi, Danila!

Então, sobre pensar o programa como um todo, o negócio é o seguinte: vc tem de criar condições com if e else para que ele funcione independentemente da jogada.

Então é assim: [vou escrever em português e vc traduz para o Java...]

- Se a carta do jogador for menor que a carta1 do computador (e se a carta1 do computador for diferente de 0, o micro joga a carta1);

- Se a carta do jogador for menor que a carta 2 do micro; o micro joga a carta 2...

Isso vai até que todos os casos estejam satisfeitos (E, se não me engano, não são muitos, não!!!!).

Qdo o programa roda, chega uma hora que ele pára. Daí, nessa hora o jogador bota uma outra carta na janela de interactions e começa tudo de novo. Duas ou três vezes.

Consegui explicar um pouco melhor? O que vc tá tendo de idéia agora?

Beijos,

Si

Em resposta à Danila Ribeiro

Re: Dúvidas do EP1

por Ariane Haselmann -
A Simone acho que já respondeu parte das suas dúvidas, quanto a parte de C eu conheço um pouquinho e posso tentar te responder. Então quando dá erro na hroa de compilar eu achei o DrJava até melhor do que os compiladores em C que eu já usei, ele mostra sim a linha que está o erro, e quando usei o javac pelo terminal ele até apontava o erro na linha.

A 3a dúvida não tenho idéia, pq eu também fiz como você e demorei muito pra conseguir instalar (aliás não consigo instalar no Windows aqui em casa, só no Linux depois de muita ajuda). Você tem que ver no seu DrJava se ele reconhece o compilador lá. Vc usa Windows ou Linux?

Espero ter ajudado!
Em resposta à Ariane Haselmann

Re: Dúvidas do EP1

por Danila Ribeiro -
De fato o Dr Java não estava reconhecendo o compilador, agora já está (aparece a localização no canto inferior direito). Mas ainda não está compilando, acho que ainda tem erros de sintaxe; como encontrá-los é a questão.