Opa
Tenho essa classe, teria como dividir ela?
[code]package modelo;
import java.util.ArrayList;
public class JogoDeTruco {
private JogadorDeTruco jogador1, jogador2;
private Baralho baralho;
private ArrayList maoJ1 = new ArrayList(),
maoJ2 = new ArrayList();
protected Carta umaCarta, outraCarta, cartaVirada;
protected int numeroUmaCarta, naipeUmaCarta, numeroOutraCarta,
naipeOutraCarta, j1FezPrimeiro = 0, j2FezPrimeiro = 0, rodada = 0,
tentos;
public JogoDeTruco(JogadorDeTruco j1, JogadorDeTruco j2) {
jogador1 = j1;
jogador2 = j2;
baralho = Baralho.obterBaralho();
}
public void darCartas() {
for (int i = 0; i <= 2; i++) {
umaCarta = baralho.retirarCarta();
jogador1.receberCarta(umaCarta);
maoJ1.add(umaCarta);
umaCarta = baralho.retirarCarta();
jogador2.receberCarta(umaCarta);
maoJ2.add(umaCarta);
}
cartaVirada = baralho.retirarCarta();
}
public void darCartas(ArrayList<Carta> j1, ArrayList<Carta> j2,
Carta cVirada) {
for (int i = 0; i < j1.size(); i++) {
umaCarta = j1.get(i);
jogador1.receberCarta(umaCarta);
maoJ1.add(umaCarta);
}
for (int i = 0; i < j2.size(); i++) {
umaCarta = j2.get(i);
jogador2.receberCarta(umaCarta);
maoJ2.add(umaCarta);
}
cartaVirada = cVirada;
}
public Carta compararCartas() {
if (umaCarta.ehManilha(cartaVirada)) {
if (!outraCarta.ehManilha(cartaVirada)) {
return umaCarta;
} else if (naipeUmaCarta > naipeOutraCarta) {
return umaCarta;
}
return outraCarta;
}
if (outraCarta.ehManilha(cartaVirada))
return outraCarta;
if (numeroOutraCarta == numeroUmaCarta)
return null;
if (numeroUmaCarta > numeroOutraCarta)
return umaCarta;
return outraCarta;
}
public void cartaVirada(Carta c) {
cartaVirada = c;
}
public void quantoValeOTento() {
tentos = 1;
if (jogador1.trucado && !jogador2.correu || jogador2.trucado
&& !jogador1.correu)
tentos = 3;
if (jogador2.pediuSeis && !jogador1.correu || jogador2.pediuSeis
&& !jogador1.correu)
tentos = 6;
if (jogador1.pediuNove && !jogador2.correu || jogador2.pediuNove
&& !jogador1.correu)
tentos = 9;
if (jogador1.pediuDoze && !jogador2.correu || jogador2.pediuDoze
&& !jogador1.correu)
tentos = 12;
}
public void darOPonto(Carta vUmaCarta, Carta vOutraCarta) {
quantoValeOTento();
rodada++;
umaCarta = vUmaCarta;
outraCarta = vOutraCarta;
numeroUmaCarta = umaCarta.obterNumero().getArabico();
naipeUmaCarta = umaCarta.obterNaipe().getArabico();
numeroOutraCarta = outraCarta.obterNumero().getArabico();
naipeOutraCarta = outraCarta.obterNaipe().getArabico();
umaCarta = compararCartas();
for (int i = 0; i < maoJ1.size(); i++) {
if (umaCarta == maoJ1.get(i)) {
jogador1.receberPontoNaRodada();
if (j2FezPrimeiro == 0)
j1FezPrimeiro = 1;
}
if (umaCarta == maoJ2.get(i)) {
jogador2.receberPontoNaRodada();
if (j1FezPrimeiro == 0)
j2FezPrimeiro = 1;
}
}
if (rodada == maoJ1.size()) {
ganharOTento();
maoJ2.clear();
maoJ1.clear();
j1FezPrimeiro = 0;
j2FezPrimeiro = 0;
rodada = 0;
jogador1.terminarRodada();
jogador2.terminarRodada();
}
}
public void ganharOTento() {
if (jogador1.informeNumeroDePontos() > jogador2.informeNumeroDePontos())
jogador1.ganharTentos(tentos);
if (jogador2.informeNumeroDePontos() > jogador1.informeNumeroDePontos())
jogador2.ganharTentos(tentos);
if (jogador1.informeNumeroDePontos() == 1
&& jogador2.informeNumeroDePontos() == 1)
if (j1FezPrimeiro == 1)
jogador1.ganharTentos(tentos);
else
jogador2.ganharTentos(tentos);
}
public void fimDaRodada() {
quantoValeOTento();
if (jogador1.correu)
jogador2.ganharTentos(tentos);
if (jogador2.correu)
jogador1.ganharTentos(tentos);
}
}
[/code]