1
My programming teacher asked us to do a casino roulette that had the option of playing American, European and French roulette.
But after some changes I made to the code when I type the name of the first player does not appear anything else, someone knows how to fix this?
import java.util.Scanner;
public class Jogo {
public static void main(String[]args){
Scanner input = new Scanner(System.in);
Jogador[] jogadores = new Jogador[2];
//--------------------------------------
//-------PRENCHER O ARRAY--------
for(int i=0; i < jogadores.length;i++){
if(jogadores[i]== null){
System.out.println("Deseja adicionar jogador? sim ou não");
while(input.next().equals("sim")){
System.out.println("Digite um nome");
String nome = input.next();
Jogador J = new Jogador(nome);
jogadores[i] = J;
}
}
}
//----------SABER SE JOGADORES QUEREM APOSTAR OU NÃO------------
for(int i=0; i < jogadores.length;i++){
if(jogadores[i]!=null){
System.out.println(jogadores[i].getNome()+ " Deseja apostar? sim ou não");
if(input.next().equals("sim")){ // quer apostar
apostar(jogadores[i]);
}else
if(jogadores[i].getSemapostas()==3){
System.out.println("Você esta sem apostar a tres rodadas");
apostar(jogadores[i]);
}else
jogadores[i].SemApostar();
}
}
Rodar(jogadores);
}
//@overwarnigs(ressources);
//----------APOSTAR--------------
private static void apostar(Jogador J){
Banca banc = new Banca();
Scanner input = new Scanner(System.in);
if(J.getFichas()>0){ //verificar fichas suficientes
System.out.println("Apostar");
System.out.println("--------");
System.out.println("par ou impar\npreto ou vermelho\nnumero\nmaior ou menor");
String aposta = input.next();
J.setAposta(aposta);
System.out.println("Insere o valor (número de fichas)");
J.setFichasApostadas(input.nextInt());
banc.ganharDoJogador(J.getFichasApostadas());
if(J.getAposta().equals("numero")){
System.out.println("Qual número deseja apostar?");
J.setNumeroAposta(input.nextInt());
}
}
}
public static void Rodar(Jogador[] jogadores){
Roleta rol = new Roleta();
Banca banc = new Banca();
rol.rodar();
int numero = rol.getNumero();
String cor = rol.getCor();
for (int i =0;i<jogadores.length;i++){
Jogador JG = jogadores[i];
//----------------------------------PAR------------------------------------------------
if(JG.getAposta().equals("par")) // caso "PAR"
if((numero>0 && (numero%2)==0)){ // acertou
if(banc.getBudget()>= JG.getFichasApostadas()*2){// verifique o budget da banca (Suficiente)
banc.pagarJogador(JG.getFichasApostadas()*2);// Atualise o budget da banca
JG.ganharFichas(JG.getFichasApostadas()*2); //pagar jogador
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() + " acertou");
System.out.println("saldo atual : " + JG.getFichas());
}else // verifique o budget da banca (Insuficiente)
System.out.println(JG.getNome() + " quebrou a banca");
}
else{ //não acertou
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() + " não acertou");
System.out.println("saldo atual : " + JG.getFichas());
}
//----------------------------------IMPAR------------------------------------------------
if(JG.getAposta().equals("impar")) // caso "IMPAR"
if((numero>0 && (numero%2)==1)){ // acertou
if(banc.getBudget()>= JG.getFichasApostadas()*2){// verifique o budget do banco (Suficiente)
banc.pagarJogador(JG.getFichasApostadas()*2);// Atualise o budget do banco
JG.ganharFichas(JG.getFichasApostadas()*2); //paga jogador
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" acertou");
System.out.println("saldo atual : " + JG.getFichas());
}else // verifique o budget do banco (Insuficiente)
System.out.println(JG.getNome() + " deixou a banca pobre");
}
else{ //não acertou
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" não acertou");
System.out.println("saldo atual : " + JG.getFichas());
}
//----------------------------------VERMELHO------------------------------------------------
if(JG.getAposta().equals("vermelho")) // caso "VERMELHO"
if(cor.equals("vermelho")){ // acertou
if(banc.getBudget()>= JG.getFichasApostadas()*2){// verifique o budget do banco (Suficiente)
banc.pagarJogador(JG.getFichasApostadas()*2);// Atualise o budget do banco
JG.ganharFichas(JG.getFichasApostadas()*2); //paga joador
System.out.println(JG.getNome());
System.out.println(numero + " "+cor);
System.out.println(JG.getNome() + " acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}else // verifique o budget do banco (Insuficiente)
System.out.println(JG.getNome() + " deixou a banca pobre");
}
else{ //não acertou
banc.ganharDoJogador(JG.getFichasApostadas());
System.out.println(JG.getNome());
System.out.println(numero + " "+cor);
System.out.println(JG.getNome() +" não acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}
//----------------------------------PRETO------------------------------------------------
if(JG.getAposta().equals("preto")) // caso "PRETO"
if(cor.equals("preto")){ // acertou
if(banc.getBudget()>= JG.getFichasApostadas()*2){// verifique o budget do banco (Suficiente)
banc.pagarJogador(JG.getFichasApostadas()*2);// Atualise o budget do banco
JG.ganharFichas(JG.getFichasApostadas()*2); //paga joador
System.out.println(JG.getNome());
System.out.println(numero + " "+cor);
System.out.println(JG.getNome() +" acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}else // verifique o budget do banco (Insuficiente)
System.out.println(JG.getNome() +" deixou a banca pobre");
}
else{ //não acertou
banc.ganharDoJogador(JG.getFichasApostadas());
System.out.println(JG.getNome());
System.out.println(numero + " "+cor);
System.out.println(JG.getNome() +" não acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}
//----------------------------MENOR------------------------
if(JG.getAposta().equals("menor")) // caso "MENOR"
if(numero>= 1 && numero<19){ // acertou
if(banc.getBudget()>= JG.getFichasApostadas()*2){// verifique o budget do banco (Suficiente)
banc.pagarJogador(JG.getFichasApostadas()*2);// Atualise o budget do banco
JG.ganharFichas(JG.getFichasApostadas()*2); //paga joador
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}
else // verifique o budget do banco (Insuficiente)
System.out.println(JG.getNome() + " deixou a banca pobre");
}
else{ //não acertou
banc.ganharDoJogador(JG.getFichasApostadas());
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" não acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}
//----------------------------MAIOR------------------------
if(JG.getAposta().equals("maior")) // caso "MAIOR"
if(numero>= 19 && numero<37){ // acertou
if(banc.getBudget()>= JG.getFichasApostadas()*2){// verifique o budget do banco (Suficiente)
banc.pagarJogador(JG.getFichasApostadas()*2);// Atualise o budget do banco
JG.ganharFichas(JG.getFichasApostadas()*2); //paga joador
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}
else // verifique o budget do banco (Insuficiente)
System.out.println(JG.getNome() +" deixou a banca pobre");
}
else{ //não acertou
banc.ganharDoJogador(JG.getFichasApostadas());
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" não acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}
//----------------------------NUMERO--------------------------------------
if(JG.getAposta().equals("numero")) // caso "NUMERO"
if(numero == JG.getNumeroAposta()){ // acertou
if(banc.getBudget()>= JG.getFichasApostadas()*36){// verifique o budget do banco (Suficiente)
banc.pagarJogador(JG.getFichasApostadas()*36);// Atualise o budget do banco
JG.ganharFichas(JG.getFichasApostadas()*36); //paga joador
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
}
else // verifique o budget do banco (Insuficiente)
System.out.println(JG.getNome() +" deixou a banca pobre");
}//fim do if num
else{ //não acertou
banc.ganharDoJogador(JG.getFichasApostadas());
System.out.println(JG.getNome());
System.out.println(numero);
System.out.println(JG.getNome() +" não acertou");
System.out.println("-------------------------");
System.out.println("saldo atual : " + JG.getFichas());
} //fim do else de numero
}
}
}
And the Russian trailer ? D
– Isac
My advice is that you run this in an IDE like Netbeans or Eclipse in Debug mode, to see the execution path of your code. And add a breakpoint where you think you’re giving trouble.
– Vinicius Morais
I did that and he told me that I need to close the input but when I do that nothing appears when I execute the code
– HMartins
Why don’t you use
System.console().readLine();
?– Vinicius Morais
Try doing a do while, separate your code to make sure the function you take from the console is being called.
– Vinicius Morais
Another thing I noticed, seeing the code is that you already own a fixed size of players, if you want to add as many players as you don’t you better make an Arraylist? Just commenting on.
– Vinicius Morais
@Viniciusmorais Thanks for the tips, I didn’t know System.console(). readline(); but now I’ll try to use.About the array list I should do like this?:
ArrayList<String> jogadores = new ArrayList<String> ();
– HMartins