public class DoppioUno{
static boolean compTurno=true, giocTurno=false, giocare = true; //inizia il computer
static int puntC,puntG; //punteggio Computer, Giocatore
static int win = 40; //vince chi ha >= 40 punti
public static void main(String[] arg){
System.out.println("*********************************************");
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++");
System.out.println("+ DoppioUno: un buffo gioco di dadi!! +");
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++");
System.out.println("+ Per le regole leggi il file DoppioUno.txt +");
System.out.println("*********************************************");
System.out.println("*********************************************");
while(giocare){
while(compTurno){ //gioca il computer
int r = tiraDaddi();
switch(r){
case -1:
puntC =0;
System.out.println("Ho perso tutto!! Tocca a te...");
cambiaTurno();
break;
case 0:
System.out.println("Ho perso il turno! Tocca a te...");
cambiaTurno();
break;
default:
puntC += r;
if(puntC >= win){
System.out.println("Il mio punteggio e': "+puntC+" Ho vinto!!");
finePartita();}
else{
int n = (int)(Math.random()*10);
if(n > 5){
System.out.println("Il mio punteggio e': "+puntC);
System.out.println("Passo, tocca a te!");
cambiaTurno();
}
}//fine else
}//fine switch
}// fine while(compTurno)
while(giocTurno){
int r = tiraDaddi();
switch(r){
case -1:
puntG =0;
System.out.println("Hai perso tutto!! Tocca a me!");
cambiaTurno();
break;
case 0:
System.out.println("Hai perso il tuo turno! Tocca a me");
System.out.println("Punteggio giocatore: "+puntG);
System.out.println("Punteggio computer: "+puntC);
cambiaTurno();
break;
default:
puntG += r;
if(puntG >= win){
System.out.println("Il tuo punteggio e': "+puntG+" Hai vinto!!");
finePartita();
}
System.out.println("Punteggio giocatore: "+puntG);
System.out.println("Punteggio computer: "+puntC);
int a = Leggi.Risposta("Continuare? (1) Passare? (0)");
if(a == 0){
System.out.println("Ok, gioco io!");
cambiaTurno();
}
}//fine switch
}//fine while
} // fine while(giocare)
}// fine main
/////////////////////////////////////////////////////////////
////////////////// tiraDaddi() ///////////////////////////////
static int tiraDaddi(){
int r=0,d1,d2;
d1 = (int)(Math.random()*6)+1;
d2 = (int)(Math.random()*6)+1;
if(d1 == 1 & d2 == 1){ //d1*d2 == 1
System.out.println("Dado 1: :< ");
System.out.println("Dado 2: :< ");
r = -1;}
else if(d1 == 1 & d2 > 1){
System.out.println("Dado 1: :< ");
System.out.println("Dado 2: "+d2);
r =0;
}
else if(d2 == 1 & d1 > 1){
System.out.println("Dado 1: "+d1);
System.out.println("Dado 2: :< ");
r = 0;
}
else{
System.out.println("Dado 1: "+d1);
System.out.println("Dado 2: "+d2);
r = d1 +d2;}
return r;
}//fine tiraDaddi()
//////////////////////////////////////////////////////////////
/////////////////// finePartita() ////////////////////////////
static void finePartita(){
int a = Leggi.Risposta("Altra partita? (1) Uscire? (0)");
if( a == 0){
System.exit(0);}
else{
puntC = 0;
puntG = 0;
}
}//fine finePartita()
///////////////////////////////////////////////////////////////////
/////////////////////// cambiaTurno() ////////////////////////////
static void cambiaTurno(){
if(compTurno == true){
compTurno = false;
giocTurno = true;}
else{
compTurno = true;
giocTurno = false;
}
}// fine cambiaTurno()
}//fine classe