Ok,
Classe Carta:
package gioco2;
public class Carta {
public String seme;
public int valore;
public Carta(String seme,int valore){
this.seme=seme;
this.valore=valore;
};
}
Classe Mazzo:
package gioco2;
import java.util.*;
public class Mazzo {
public List mazzo; // inizializzo il mazzo;
public Mazzo(){ // creo un set mazzo, costruttore
this.mazzo= new ArrayList();
for(int i=1;i<11;i++){
Carta c1= new Carta("Bastoni",i);
mazzo.add(c1);
Carta c2= new Carta("Spade",i);
mazzo.add(c2);
Carta c3= new Carta("Coppe",i);
mazzo.add(c3);
Carta c4= new Carta("Danari",i);
mazzo.add(c4);
}
}
public Carta estraimazzo(){ //estraggo carta casuale dal mazzo
Iterator x = mazzo.iterator();
Object tmp=x.next();
mazzo.remove(tmp);
Carta res=(Carta)tmp;
return res;
}
}
Classe briscola:
package gioco2;
import java.util.Comparator;
/**
*
* @author FinallyDou
*/
public class Briscola implements Comparator<Carta> {
@Override
public int compare(Carta o1, Carta o2) { //ordina prima per numero poi per seme
int res=0;
if(o1.valore<o2.valore) res=-1;
else if(o1.valore==o2.valore){
int x=o1.seme.compareTo(o2.seme);
if(x<0) res=-1;
else if(x==0) res=0;
else res=1;
}
else res=1;
return res;
}
}
Classe scopone:
package gioco2;
import java.util.Comparator;
/**
*
* @author FinallyDou
*/
public class Scopone implements Comparator <Carta> {
@Override
public int compare(Carta o1, Carta o2) { //ordina prima per seme poi per numero
int res=0;
int x=o1.seme.compareTo(o2.seme);
if(x<0) res=-1;
else if(x==0)
if(o1.valore==o2.valore) res=0;
else if(o1.valore<o2.valore) res=-1;
else
res=1;
return res;
}
}
Classe Giocatore:
package gioco2;
import java.util.ArrayList;
import java.util.List;
public class Giocatore {
List g;
public Giocatore(int numerocarte, Mazzo mazzo){ //sceglie quante carte vuole e le estrae
g= new ArrayList();
for(int i=0;i<numerocarte;i++){
Carta tmp =mazzo.estraimazzo(); //estrae dal mazzo quante volte hai scelto di pescare
g.add(tmp);
}
}
}
Nel main posso usare un iteratore che girando nella lista mi stampi i valori, però provando mi stampa delle cose strane e non il valore della carta