ciao a tutti..sto facendo un programma che simuli un gioco di carte...
ho fatto le classi mazzo e carta e volevo chieder come faccio a selezionare una carta dal mazzo e poi mostrarla...
qui vi posto le mie due classi:
public class Carta {
public final static int BASTONI = 0, // i 4 semi.
COPPE = 1,
DENARI = 2,
SPADE = 3;
public final static int ASSO = 1, //sono i valori non numerici a cui
FANTE = 8, //andare ad attribuire il rispettivo valore numerico
CAVALLO = 9, //dal 2 al 7 hanno i propri valori numerici
RE = 10;
private final int seme; // Il seme di questa carta è una delle costanti
// BASTONI,COPPE,DENARI,SPADDE.
private final int valore;
//Costruttore il valore della carta e il seme devono essere inseriti
public Carta(int ilValore, int ilSeme) {
valore = ilValore;
seme = ilSeme;
}
//Restituisce il valore intero attribuito al rispettivo seme
public int getSeme() {
return seme;
}
//Restituisce il valore intero attribuito alla carta
public int getValore() {
return valore;
}
//Restituisce la stringa che dice di che seme è la carta
//se per sbaglio non c'è nessun seme alora stampa ??
public String getSemeAsString() {
switch ( seme ) {
case BASTONI: return "Bastoni";
case COPPE: return "Coppe";
case DENARI: return "Denari";
case SPADE: return "Spade";
default: return "??";
}
}
//Restituisce la stringa che dice il valore della carta
//se per sbaglio il valore non è valido allora stampa ??
public String getValoreAsString() {
switch ( valore ) {
case 1: return "Asso";
case 2: return "2";
case 3: return "3";
case 4: return "4";
case 5: return "5";
case 6: return "6";
case 7: return "7";
case 8: return "Fante";
case 9: return "Cavallo";
case 10: return "Re";
default: return "??";
}
}
//Restituisce la stringa per dire la carta.
//es.:"Asso di DENARI"....
public String toString() {
return getValoreAsString() + " di " + getSemeAsString();
}
//mi manca il metodo di prendere una carta
//come dare la carta
} // end Carta
public class Mazzo {
final static int TOTCARTE = 40;
private Carta[] carte;
private int N; // numero di carte
public boolean isEmpty() { return (N == 0);}
public int size() { return N; }
// come mischiare le carte
public void mescola() {
for (int i = 0; i < N; i++) {
int r = (int) (Math.random() * i);
Carta scambia = carte[i];
carte[i] = carte[r];
carte[r] = scambia;
}
}
public String toString() {
String s = "Mazzo ";
for (int i = N - 1; i >= 0; i--)
s += carte[i] + " ";
return s;
}
public Mazzo(){
carte= new Carta[40];
for(int ilseme=0;ilseme<=3;ilseme++){
for(int ilvalore=1;ilvalore<=10;ilvalore++){
carte[N++]=new Carta(ilvalore,ilseme);
}
}
}
public daicarta(){
carte = new Carta[40];
if()
}
// test client
public static void main(String[] args) {
Mazzo mazzo = new Mazzo();
System.out.println(mazzo);
mazzo.mescola();
mazzo.mescola();
mazzo.mescola();
mazzo.mescola();
mazzo.mescola();
System.out.println("");
System.out.println(mazzo);
System.out.println("");
}
}
grazie mille.

Rispondi quotando
