Não consegui entender porque a variável ''somaCartaJogador' não está sendo atualizada no meu código
import p1.aplic.cartas.Baralho;
import p1.aplic.cartas.Carta;
import p1.aplic.cartas.Mao;
import java.util.Scanner;
public class SeteeMeioPreparacao {
public static void main(String[] args) {
float somaCartaJogador = (float)0.0;
// public float somaCartaCarteador = 0;
Baralho monte = new Baralho();
monte.baralhar();
Mao maoJogador = new Mao();
// Mao carteador = new Mao();
IniciarJogo(monte, maoJogador, somaCartaJogador);
System.out.println("parei");
}
private static void AdicionaCartaValida (Baralho baralho, Mao pessoa, float somaCartas){
Carta[] cartasInvalidas = {new Carta(8,Carta.PAUS),new Carta(8,Carta.OUROS),new Carta(8,Carta.COPAS),new Carta(8,Carta.ESPADAS), new Carta(9,Carta.PAUS),new Carta(9,Carta.OUROS),new Carta(9,Carta.COPAS),new Carta(9,Carta.ESPADAS),new Carta(10,Carta.PAUS), new Carta(10,Carta.OUROS),new Carta(10,Carta.COPAS),new Carta(10,Carta.ESPADAS)};
Carta possivelCarta = baralho.pegaCarta();
int igual=0;
for (int i = 0; i < cartasInvalidas.length; i++) {
Carta umaCarta = cartasInvalidas[i];
if ((possivelCarta.getValor() == umaCarta.getValor()) && (possivelCarta.getNaipe() == umaCarta.getNaipe())){
AdicionaCartaValida(baralho,pessoa,somaCartas);
igual = 1;
break;
}
}
if (igual==0){
ContaCartas(pessoa, possivelCarta, somaCartas);
pessoa.adicionar(possivelCarta);
}
}
private static void IniciarJogo(Baralho baralho, Mao maoPessoa, float somaCartas){
Scanner sc = new Scanner(System.in);
String maisCarta;
System.out.print("Mao do Jogador: ");
System.out.println(maoPessoa);
do{
AdicionaCartaValida(baralho, maoPessoa, somaCartas);
System.out.print("Mao do Jogador: ");
System.out.println(maoPessoa);
System.out.println("Soma carta jogador: " + somaCartas);
System.out.print("Quer outra carta? (Digite t para encerrar)");
maisCarta = sc.nextLine();
}while(!maisCarta.equals("t"));
}
private static void ContaCartas(Mao maoPessoa, Carta carta, float somaCartas){
if ( (carta.getValor()== 11)||(carta.getValor()== 12)||(carta.getValor()== 13)){
somaCartas = somaCartas + (float)0.5;
}else{
somaCartas = somaCartas + carta.getValor();
}System.out.println("getValor"+carta.getValor());
}
}
A atualização da variável deveria acontecer na linha 53 ou 55. Qualquer ajuda é bem vinda !
Obrigado