Jump to content
Mandrake

Ajuda jogo 21

Recommended Posts

Mandrake

faz pouco tempo que estou apredendo java. estou tentanto criar um jogo de cartas 21.

criei as classe carta,baralho,jogador e jogo.

classe jogo:

import java.util.*;
public class Jogo {

public static void main(String[] args) {


Baralhos b = new Baralhos();
b.embaralha();
Carta cartasJogador1[] = new Carta[20];
Carta cartasJogador2[] = new Carta[20];
String resp = "n";
int i=0;
Jogador numero1=new Jogador("joão");
Jogador numero2=new Jogador("Artur");

//do {

cartasJogador1[i] = b.deal();
System.out.print("sua Carta:");
System.out.println();
System.out.printf("%s",cartasJogador1[i]);





}

}

porem não sei como fazer o atributo pontos da classe jogador receber o valor da carta atual. alguem pode ajudar?

vlw

classe jogador;


public class Jogador {


String jogador;
int Pontos=0;

public Jogador(String jogador)
{
this.jogador=jogador;


}

public int getPontos() {
return Pontos;
}

public void setPontos(int pontos) {
this.Pontos = pontos;
}

}

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
HappyHippyHippo

com uma pequena alteração poderás (talvez) chegar mais facilmente à solução:

em vez de teres dois arrais de cartas para guardar as "mãos" dos jogadores, passa a guardar essa informação na clase jogador:

public class Jogador {
 String jogador;
 int pontos;

 LinkedList<Carta> mao;

 public Jogador(String jogador)
 {
   this.jogador = jogador;
   this.pontos = 0;
   this.mao = new LinkedList<Carta>();
 }

 public int getPontos() {
   return this.pontos;
 }

 // esta funcção nunca deve ser chamada fora da classe Jogador
 protected void setPontos(int pontos) {
   this.pontos = pontos;
 }

 // esta funcção nunca deve ser chamada fora da classe Jogador
 protected void addPontos(int pontos) {
   this.pontos += pontos;
 }
 public LinkedList<Carta>() getMao() {
   return this.mao;
 }

 public Carta addCarta(Baralhos baralho) {
   Carta carta = baralho.deal()
   // separei o código de proposito ... dica ...
   this.mao.add(carta);

   return carta;
 }

 public void reset() {
   this.pontos = 0;
   this.mao.clear();
 }
}

a tua função main passaria a ter este aspecto:

public class Jogo {
 public static void main(String[] args) {

   Baralhos b = new Baralhos();
   Jogador numero1 = new Jogador("joão");
   Jogador numero2 = new Jogador("Artur");

   // ...

   b.embaralha();
   do {

     // ...

     Carta carta = numero1.addCarta(b);

     System.out.print("a sua carta : ");
     System.out.printf("%s\n", carta);

     // ...
   } while (/* ... */)

   // ...
 }
}

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.