Domanda Gioco Briscola creato con java

Marvin22

Utente Iron
21 Gennaio 2021
3
1
0
9
Buona sera a tutti cerco qualcuno che mi aiuti a programmare questo gioco di carte(briscola) usando java come linguaggio di programmazione...grazie in anticipo
 
Ultima modifica da un moderatore:
Giocatore
Java:
public class Giocatore {
String nome;              //nome giocatore
    int classifica;  //classifica
    //carte in mano del primo giocatore
    Carta primaCarta;
    Carta secondaCarta;
    Carta terzaCarta;

    int puntiGiocatore;
    boolean turno;

    public Giocatore(String nome){
this.nome=nome;
        classifica=new classifica(nome);
        primaCarta=new Carta();
        secondaCarta=new Carta();
        terzaCarta=new Carta();
        puntiGiocatore=0;
        turno=false;
    }

public boolean isTurnoGiocatore() {
return turno==true;
    }
public setTrueTurnoGiocatore(){
turno=true;
    }
public setFalseTurnoGiocatore(){
turno=false;
    }

public void setPrimaCarta(Carta c) {
primaCarta=new Carta(c.getValore(),c.getSeme());
    }
public void setSecondaCarta(Carta c){
secondaCarta=new Carta(c.getValore(),c.getSeme());
    }
public void setTerzaCarta(Carta c){
terzaCarta=new Carta(c.getValore(),c.getSeme());
    }
public int getPuntiGiocatore(){
return puntiGiocatore;
    }
public String getNome(){
return nome;
    }
private Carta getPrimaCarta(){
return primaCarta;
    }
private Carta getSecondaCarta(){
return secondaCarta;
    }
private Carta getTerzaCarta(){
return terzaCarta;
    }
public String toString(){
return"Giocatore: " +this.nome;
    }

public classifica getClassifica() {
return classifica;
    }
}


Tavolo
Java:
public class Tavolo {
    public class Tavolo {

        protected Carta Giocatore1Tavolo;          //Carta giocata dal primo giocatore
        protected Carta Giocatore2Tavolo;        //Carta giocata dal secondo giocatore
        protected Carta briscolaTavolo;    //Briscola
        protected Mazzo mazzo;             //Nel tavolo è presente anche il mazzo di carte

        public Tavolo() {
            Giocatore1Tavolo = new Carta();
            Giocatore2Tavolo = new Carta();
            briscolaTavolo = new Carta();
            mazzo = new Mazzo();
        }

        //METODI GET

        public Carta getGiocatore1Tavolo() {
            return Giocatore1Tavolo;
        }

        public Carta getBriscolaTavolo() {
            return briscolaTavolo;
        }

        public Mazzo getMazzo() {
            return mazzo;
        }

        //METODI SET

        public void setGiocatore1Tavolo(Carta c) {
            Giocatore1Tavolo = new Carta(c.getValore(),c.getSeme());
        }

        public void setGiocatore2Tavolo(Carta c) {
            Giocatore2Tavolo = new Carta(c.getValore(),c.getSeme());
        }

        public void setBriscolaTavolo(Carta c) {
            briscolaTavolo = new Carta(c.getValore(),c.getSeme());
        }
}

Mazzo

Java:
public class Mazzo {
    import java.util.ArrayList;
import java.util.Collections;

    public class Mazzo {

        private ArrayList<Carta> carte;
        private int indiceCorrente;
        int Seme;
        public Mazzo() {

            carte = new ArrayList<Carta>();

            //inizializza il mazzo
            for (int valore=1; valore<=10; valore++) {
                for (Seme seme: Seme.values()) {
                    carte.add(new Carta(valore, seme));
                }
            }

            //mischia le carte
            Collections.shuffle(carte);

            // la prima carta da servire e' la carta in indice zero
            indiceCorrente = 0;
        }


        //Mischia il mazzo di carte
        public void mischia() {
            Collections.shuffle(carte);
        }
        public Carta estrai() {
            Carta estratta = null;
            try {
                estratta = carte.remove(indiceCorrente++);
                return estratta;
            } catch (IndexOutOfBoundsException e) {
                return null;
            }
        }

        public Carta getBriscola() {
            return carte.get(indiceCorrente++);
        }

        public int carteRimanenti() {
            return this.carte.size();
        }
}

Carta

Java:
public class Carta {
    //caratteristiche della carta
    private final int seme;  //seme della carta;
    private final int valore; //valore della carta;

    static final int visibile = 1;
    static final int coperta = 0;
    static final int rimossa = -1;

    private int stato;

    public Carta(int valore, int seme) {
        this.seme = seme;
        this.valore = valore;
        this.stato = coperta;
    }

    //ritorna il valore della carta
    public int getValore() {
        return this.valore;
    }

    public String getValoreStr() {
        switch (this.valore) {
            case 1:
                return "Asso";
            case 2:
                return "Due";
            case 3:
                return "Tre";
            case 4:
                return "Quattro";
            case 5:
                return "Cinque";
            case 6:
                return "Sei";
            case 7:
                return "Sette";
            case 8:
                return "Donna";
            case 9:
                return "Cavallo";
            case 10:
                return "Re";
            default:
                return "-";
        }
    }

    //ritorna il seme
    public int getSeme() {
        return this.seme;
    }

    //funzione utilizzata per girare la carta
    public void gira() {
        if (stato == Carta.visibile) {
            stato = Carta.coperta;
        } else if (stato == Carta.coperta) {
            stato = Carta.visibile;
        }
    }

    //rimuove la carta in gioco
    public void rimuovi() {
        stato = Carta.rimossa;
    }

    //fa tornare una carta in gioco
    public void riassegna() {
        stato = Carta.coperta;
    }

    //verifica se la carta è stata rimossa
    public boolean rimossa() {
        if (stato == Carta.rimossa)
            return true;
        else
            return false;
    }
    //verifica se la carta è visibile
    public boolean visibile(){
        if (stato == Carta.visibile)
            return true;
        else
            return false;
    }
    //stampa la carta
    public String toString(){
        String ret=this.getValoreStr()+" di "+this.seme;
        return ret;
    }
    //ridefinizione equals
    //verifica se la carta è una figura
    public boolean figura(){
        return(this.valore==8||this.valore==9||this.valore==10);
    }
    //ritorna l'url dell'immagine associata alla carta
    public String getUrlImage(int seme){
        String url1="images/retro.jpg";
        String url2="images/"+ getValoreStr()+" "+seme+".jpg";
        if(this.visibile()){
            return url2;
        }
        else
            return url1;
    }
}
}

Messaggio unito automaticamente:


Queste sono le classi che ho fatto...il main con la parte grafica devo farla