Probema nel mio progetto

di il
2 risposte

Probema nel mio progetto

Ciao a tutti sto facendo un progetto molto semplice, una specie di casino in cui c'è un dado, un giocatore e il banco. L'utente sceglie un numero e punta una cifra, se esce lo stesso numero del dado vince e gli vengono aumentati i soldi sul conto. Fin qua va, però dato che sto imparando Java, volevo fare qualcosa in più, volevo far "convertire" i soldi del conti da dollari ad altre valute. Solo che mi sono impacciato e non so come continuare. Di seguito il Codice e la parte della valuta che ho iniziato (non è finito) ma non riesco a capire cosa non va

import java.util.Scanner;

public class VaiAlCasino {
    public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);

		Dado d = new Dado();  //oggetto dado
		//Valuta v = new Valuta(); 
		ContoGiocatore fabio = new ContoGiocatore(5000);   //creo i conti 
		ContoCasino casino = new ContoCasino(10000000);

		String verifica = "si";  
		System.out.println("Benvenuto al casino':\n");
		System.out.println("Scegli un numero da 1 a 6 e punta una somma di denaro");
		System.out.println("se una volta lanciato il dado esce il numero su cui hai puntato, allora hai vinto");

		while ( verifica.equalsIgnoreCase("si"))
		{
			System.out.println("Scegli un numero:"); 
			int num = in.nextInt();
			if(num>0 && num<7)
			{
				//Punto, avviso di quanto ha puntato, controllo se può puntare e dico se ha vinto
				System.out.println("Punta una somma di denaro ($): "); 
				System.out.print("ricorda che il tuo credito è pari a " + fabio.getContoGiocatore());
				System.out.println(" ");
				double somma = in.nextDouble();

				double contoG = fabio.getContoGiocatore();
				double contoC = casino.getContoCasino();
				double contoCc = contoC/5;

				if ( somma <= contoG && somma <= contoCc)
				{
					System.out.println("Lancio il dado...");
					int lancio = d.lancia();
					System.out.print("Il risulatato del dado è :  ");
					System.out.println(lancio);

					if ( lancio == num)  // Verifico se il giocatore vince o perde
					{
						System.out.println("Complimenti hai vinto");
						fabio.aumentaContoGiocatore(somma);
						casino.sottraiContoCasino(somma);
					
						/*System.out.println("Vuoi prelevare il denaro vinto?");
						System.out.println("[Ricorda, puoi prelevare un massimo di 4000 dollari]");
						verifica = in.next();*/
						

					}else{
						System.out.println("Peccato, hai perso");
						casino.sommaContoCasino(somma);
						fabio.sottraiContoGiocatore(somma);
					}

				}else{
					System.out.println("Non puoi puntare quella somma");
				}

				double newSomma = fabio.getContoGiocatore();

				// Verifico se il giocatore può continuare a giocare
				if ( newSomma > 0)
				{
					System.out.println("Vuoi continuare a scommettere?");
					verifica = in.next();
					System.out.print("Il tuo conto è pari a :  ");
					System.out.println(fabio.getContoGiocatore());
				}else{
					System.out.println("CONTO ESAURITO");
					System.out.println(fabio.getContoGiocatore());
					verifica = "no";
				}
			}else{
				System.out.println("NUMERO NON VALIDO"); //se sceglie numero > di 6
                System.out.println("SCEGLI UN NUMERO DA 1 A 6");
			}
		}
	}
}

import java.util.Random;
//===============classe DADO
public class Dado {
	
	public Dado()
	{
		facce = 6;
		generatore = new Random();
	}

	public int lancia() 		
	{
		return 1 + generatore.nextInt(facce); //rivedere?
	}

	private Random generatore;
	private int facce;
}

//==============
public class ContoCasino {
	double contoCas;

	public ContoCasino(double c)
	{
		contoCas = c;
	}
	
	public double getContoCasino()  //restituisco il conto 
	{
		return contoCas;
	}

	public void sottraiContoCasino(double s) //quando vince fabio
	{
		double temp = contoCas;
		double temp1 = s*5;
		temp = temp - temp1;
		contoCas = temp;
	}

	public void sommaContoCasino(double s) //sommo la cifra scommessa
	{
		double temp = contoCas;
		temp = temp + s;
		contoCas = temp;
	}
}

//===============
public class ContoGiocatore {
	double contoGio;
	
	public ContoGiocatore(double c)
	{
		contoGio = c;
	}

	public double getContoGiocatore()
	{
		return contoGio;
	}

	public void sottraiContoGiocatore(double s)
	{
		double temp = contoGio;
		temp = temp - s;
		contoGio = temp;
	}

	public void aumentaContoGiocatore(double s)
	{
		double temp = 5*s;
		contoGio = contoGio + temp;
	}
}


//===============

//qui il problema :(
/*
public class Valuta extends ContoGiocatore{
    double conversione;

	public  Valuta(double v)
	{
		conversione = v;
	}
	
	public double getValuta()  //restituisco il conto 
	{
		return conversione;
	}

	public void ConversioneEuro(double s) //
	{
		double temp = conversione;
		temp = contoGio*0.96;	
		conversione = temp;
	}

	public void ConversionePound(double s) 
	{
		double temp = conversione;
		temp = contoGio*0.85;
		conversione = temp;
	}

	public void ConversioneYen(double s) 
	{
		double temp = conversione;
		temp = contoGio*138.43;
		conversione = temp;
	}

}
*/

2 Risposte

  • Re: Probema nel mio progetto

    Ciao JojoFra,
    c'è un errore nella classe ContoGiocatore: manca il costruttore senza argomento. Quando estendi la classe in Valuta l'IDE te lo segnala con il messaggio "Implicit super constructor ContoGiocatore() is undefined. Must explicitly invoke another constructor".
  • Re: Probema nel mio progetto

    Ah ok grazie Solid, quindi per ora sono apposto per quanto riguarda l'estensione !?
    comunque ho portato fuori la variabile e sembra funzionare
    
    public class ContoGiocatore {
    	double contoGio;
    	double c;
    	
    	public ContoGiocatore()
    	{
    		contoGio = c;
    	}
    
Devi accedere o registrarti per scrivere nel forum
2 risposte