import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Craps extends JApplet implements ActionListener {
final int VINCE = 0, PERDE = 1, CONTINUA = 2;
boolean primoTiro = true;
int sommaDadi=0;
int punti= 0;
int statoGioco = CONTINUA;
JLabel dado1Label,dado2Label,sommaLabel,punteggioLabel;
JTextField dado1,dado2,somma,punteggio;
JButton roll;
public void init()
{
Container c= getContentPane();
c.setLayout (new FlowLayout() );
dado1Label=new JLabel( "Dado 1 " );
c.add( dado1Label );
dado1=new JTextField( 10 );
dado1.setEditable( false );
c.add( dado2 );
dado2Label=new JLabel( "Dado 2" );
c.add( dado2Label );
dado2=new JTextField( 10 );
dado2.setEditable( false );
c.add(dado2);
sommaLabel=new JLabel( "Somma Dadi ");
c.add( sommaLabel );
somma=new JTextField( 10 );
somma.setEditable( false );
c.add( somma );
punteggioLabel= new JLabel( "Punteggio" );
c.add( punteggioLabel );
punteggio=new JTextField(10);
punteggio.setEditable( false );
c.add( punteggio );
roll= new JButton( "Lancia i Dadi" );
roll.addActionListener( this );
c.add( roll );
}
public void actionPerformed( ActionEvent e )
{
play();
}
public void play()
{
if (primoTiro) {
sommaDadi= tiraDadi();
switch ( sommaDadi ) {
case 7 : case 11:
statoGioco=VINCE;
punteggio.setText( "" );
break;
case 2: case 3: case 12:
statoGioco= PERDE;
punteggio.setText( "" );
break;
default:
statoGioco= CONTINUA;
punti=sommaDadi;
punteggio.setText( Integer.toString ( punti ) );
primoTiro= false;
break;
}
}
else
{
sommaDadi=tiraDadi();
if ( sommaDadi == punti )
statoGioco= VINCE;
else
if (sommaDadi == 7 )
statoGioco= PERDE;
}
if (statoGioco == CONTINUA )
showStatus ( " Tira ancora...");
else
{
if ( statoGioco == VINCE )
showStatus ( "Il giocatore vince!...click su Tira Dadi per giocare ancora..." );
else
showStatus ("Hai perso...click su Tira Dadi per giocare ancora..." );
primoTiro= true;
}
}
public int tiraDadi()
{
int d1,d2,tot;
d1 = 1 + ( int ) ( Math.random() * 6 );
d2 = 1 + ( int ) ( Math.random() * 6 );
tot= d1 + d2;
dado1.setText ( Integer.toString ( d1 ) );
dado2.setText ( Integer.toString ( d2 ) );
somma.setText ( Integer.toString ( tot ) );
return tot;
}
}