Salve a tutti avrei un dubbio vorrei prendere i metodi distribuisci carte pc ,player e mano e metterli in un altra classe però senza dover creare problemi con visibilità come potrei fare? Magari si potrebbe usare l'ereditearietà?
codice:public class MazzoDiCarte{ Carta mazzo[]; Regole regola=new Regole(); private final int DIM_MAZZO=40; private int next_carta; private Random num_casuale=new Random(); private int conta=0; String semi[]={"Bastoni","Spade","Denari","Coppe"}; String valori[]={"Asso","Due","Tre","Quattro","Cinque","Sei","Sette", "Donna","Cavallo","Re"}; Carta pc; Carta[] player; Carta briscola; public void setMazzoDiCarte(){ mazzo= new Carta[DIM_MAZZO]; for(int j=0;j<4;j++){ String s=semi[j]; for(int i=0;i<10;i++){ Carta temp= new Carta(); String v=valori[i]; temp.setCarta(v,s); mazzo[conta]=temp; conta++; } } } public void mescolaMazzo(){ for(int prima=0;prima<mazzo.length;prima++){ Carta temp=new Carta(); int seconda=num_casuale.nextInt(DIM_MAZZO); temp= mazzo[prima]; mazzo[prima]=mazzo[seconda]; mazzo[seconda]=temp; } } public void mostramazzo(){ for(int i=0; i<mazzo.length;i++){ System.out.println((i+1)+mazzo[i].toString()); } } public void distribuisciCartePc(){ pc= new Carta(); pc=mazzo[0]; } public void distribuisciCartePlayer(){ player= new Carta[3]; int k=0; for(int i=1; i<4; i++){ player[k]=mazzo[i]; k++; } } public void distribuisciBriscola(){ briscola= new Carta(); briscola=mazzo[4]; } public void mano(){ Scanner scanner=new Scanner(System.in); int scelta, next=4, contamano=1, s=0; while(contamano<21){ System.out.println(mazzo); System.out.println("Mano "+(contamano)); System.out.println(); if(contamano<18 || contamano==18){ System.out.println("Il pc tira:"+ pc.toString()); System.out.println(); System.out.println("La Briscola è:"+ briscola.toString()); System.out.println(); System.out.println("Le tue carte:"); System.out.println(); for(int i=0;i<3;i++){ System.out.println((i+1)+player[i].toString()); } System.out.println(); } } }

Rispondi quotando