Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Gioco dei dadi CRAPS

  1. #1

    Gioco dei dadi CRAPS

    non capisco perchè quest'applet non parte...
    la compilaziona va tutta ok..appena la apro con il browser mi dice applet Craps notinitied (premetto che non è un problema di impostazioni del browser perchè tutte le altre applets le apre tranquillamente...)

    ecco il listato:

    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;

    }
    }
    grazie
    Quando il gioco si fa duro..i duri iniziano a giocare!

    :gren: :sgrat:

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    codice:
    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 ); /*ERRORE, forse intendevi c.add(dado1);*/
    .
    .
    .
    }
    Cosi' funziona. Invece di caricarla nel browser, usa appletviewer, cosi' puoi vedere le eccezioni che vengono lanciate.
    Ciao,
    Lorenzo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.