public void accioBotoIniciaPartida()
{
// Inicialitzo els dos jugadors de la partida en base a les dades dels seus formularis
if ( camp_nom_partida.getText().isEmpty() )
{
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat = dialeg.setDialeg( "Error", "Has de definir un nom de partida, " +
"això servirà per identificar-la quan per exemple la" +
"guardis i la vulguis tornar a carregar.", botons,
JOptionPane.ERROR_MESSAGE );
}
else
{
// Si ha posat el nom de la partida, comprobo al mateix temps la validesa dels dos usuaris
boolean usuaris_prinicialitzats_ok = false;
try
{
preInicialitzaUsuariPartida( 0, combo_tipus_jugador_a, camp_nom_convidat_a, combo_tipus_maquina_a, "",
"" );
usuaris_prinicialitzats_ok = true;
}
catch ( ClassNotFoundException excepcio )
{
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat = dialeg.setDialeg( "Error amb l'usuari 1", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
catch ( IOException excepcio )
{
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat = dialeg.setDialeg( "Error amb l'usuari 1", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
catch ( IllegalArgumentException excepcio )
{
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat = dialeg.setDialeg( "Error amb l'usuari 1", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
try
{
preInicialitzaUsuariPartida( 1, combo_tipus_jugador_b, camp_nom_convidat_b, combo_tipus_maquina_b,
camp_nom_usuari_b.getText(), new String( camp_contrasenya_usuari_b.getPassword() ) );
}
catch ( IOException excepcio )
{
usuaris_prinicialitzats_ok = false;
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat = dialeg.setDialeg( "Error amb l'usuari 2", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
catch ( ClassNotFoundException excepcio )
{
usuaris_prinicialitzats_ok = false;
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat = dialeg.setDialeg( "Error amb l'usuari 2", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
catch ( IllegalArgumentException excepcio )
{
usuaris_prinicialitzats_ok = false;
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat = dialeg.setDialeg( "Error amb l'usuari 2", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
// Si els dos usuaris son correctes, trato d'inicilitzar la partida
if ( usuaris_prinicialitzats_ok )
{
try
{
PresentacioCtrl.getInstancia().inicialitzaPartida( 7, camp_nom_partida.getText(), false );
PresentacioCtrl.getInstancia().vistaConfiguraPartidaAPartida();
}
catch ( ClassNotFoundException excepcio )
{
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat =
dialeg.setDialeg( "Error inicialitzant la partida", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
catch ( InstantiationException excepcio )
{
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat =
dialeg.setDialeg( "Error inicialitzant la partida", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
catch ( IllegalAccessException excepcio )
{
VistaDialeg dialeg = new VistaDialeg();
String[] botons = { "Accepta" };
String valor_seleccionat =
dialeg.setDialeg( "Error inicialitzant la partida", excepcio.getMessage(), botons,
JOptionPane.ERROR_MESSAGE );
}
}
}
}