ancient-projects

My earliest programs (2006-2010)
git clone https://git.tronto.net/ancient-projects
Log | Files | Refs | README

Main.java (39026B)


      1 /*
      2 Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
      3 
      4 This file is part of JBriscola.
      5 
      6     JBriscola is free software; you can redistribute it and/or modify
      7     it under the terms of the GNU General Public License as published by
      8     the Free Software Foundation; either version 2 of the License, or
      9     (at your option) any later version.
     10 
     11     JBriscola is distributed in the hope that it will be useful,
     12     but WITHOUT ANY WARRANTY; without even the implied warranty of
     13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14     GNU General Public License for more details.
     15 
     16     You should have received a copy of the GNU General Public License
     17     along with JBriscola; if not, write to the Free Software
     18     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     19 
     20 */
     21 
     22 import java.io.*;
     23 import java.util.*;
     24 import javax.swing.*;
     25 import java.awt.*;
     26 
     27 public class Main {
     28 	public static int semeBriscola, punteggio, punteggioCPU, mano, cartaDaPescare, cartaDaGiocare;	
     29 	public static boolean toccaAllaCPU = false;
     30 	public static boolean CPUHaGiocato = false;
     31 	public static boolean haGiocatoPrima = true;
     32 	public static boolean sound = true;
     33 	public static Frame frame;
     34 	public static Color color = new Color( 0, 150, 0 );
     35 	public static String version = "0.2 Beta 3";
     36 	public static String stringaBottonePrendi = "Prendi/Lascia carte";
     37 	public static String stringaPrimaGioca = "Prima Gioca!";
     38 	public static String stringaUltime4 = "Ultima carta - Occhio alla briscola!";
     39 	public static String stringaVinto = "Hai Vinto!";
     40 	public static String stringaPerso = "Hai Perso";
     41 	public static String stringaPareggio = "Pareggio";
     42 	public static String stringaGiocatore = "Giocatore: ";
     43 	public static String stringaComputer = "\nComputer: ";
     44 	public static String stringaNuovaPartita = "Nuova Partita";
     45 	public static String stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?";
     46 	public static String stringaVuoiDavveroUscire = "Vuoi davvero uscire?";
     47 	public static String stringaSi = "Si";
     48 	public static String stringaNo = "No";
     49 	public static String stringaOpzioni = "Opzioni...";
     50 	public static String stringaEsci = "Esci";
     51 	public static String stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n";
     52 	public static String stringaLingua = "Lingua";
     53 	public static String stringaAnnulla = "Annulla";
     54 	public static String stringaIt = "Italiano";
     55 	public static String stringaLa = "Latino";
     56 	public static String stringaBL = "Dialetto Bellunese";
     57 	public static String stringaBV = "Dialetto Basso Veneto";
     58 	public static String stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua.\nAlcune parti saranno comunque tradotte prima.";
     59 	public static String stringaModificaOpzioni = "Modifica Opzioni";
     60 	public static String stringaInformazioni = "Informazioni";
     61 	public static String stringaInformazioni2 = "JBriscola e' un gioco di briscola per pc scritto in java ideato\ne realizzato da Sebastiano Tronto. Il gioco viene rilasciato sotto licenza GNU/Gpl versione 2 o successive; questo permette\npotenzialmente a chiunque di modificare il gioco partendo dal codice sorgente del programma. Se non avete ricevuto i sorgenti\nassieme al gioco, potete richiedermeli con un'e-mail a sebastiano@luganega.org.\n\nJBriscola version " + version + "\nCopyright 2009 Sebastiano Tronto, license GNU/Gpl 2.0 or later\nE-mail: sebastiano@luganega.org";
     62 	public static String stringaSuono = "Effetti Sonori";
     63 	public static String stringaPunteggio = "Punteggio";
     64 	public static String stringaSfondo = "Sfondo";
     65 	public static String stringaTasti = "Tasti rapidi";
     66 	public static String stringaTasti2 = "1    Gioca la prima carta\n2    Gioca la seconda carta\n3    Gioca la terza carta\nF1   Visualizza questo messaggio\nF2   Nuova partita\nF3   Opzioni\nF4   Visualizza Punteggio\nF5   Informazioni\nq    Esci";
     67 	public static String lang, soundString;
     68 	public static File[] suoni = new File[6];
     69 	public static File suonoVinto, suonoPerso, suonoPareggio;
     70 	public static void main( String args[] ) {
     71 		settaOpzioni();
     72 		frame = new Frame();
     73 		frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
     74 		frame.setResizable( false );
     75 		frame.setSize( 600, 600 );
     76 		frame.setLocation( (Toolkit.getDefaultToolkit().getScreenSize().width - 600) / 2,
     77 							(Toolkit.getDefaultToolkit().getScreenSize().height - 600) / 2);
     78 		frame.setVisible( true );
     79 	}
     80 	public void mischia() {
     81 		mano = 0;
     82 		punteggio = 0;
     83 		punteggioCPU = 0;
     84 		cartaDaPescare = 6;
     85 		ImageIcon aux;
     86 		frame.mazzo = true;
     87 		toccaAllaCPU = false;
     88 		CPUHaGiocato = false;
     89 		haGiocatoPrima = true;
     90 		for ( int i = 0, k = 0; i < 10; i++ )
     91 			for ( int j = 0; j < 4; j++, k++ )
     92 				frame.arrayCarteMescolate[k] = frame.arrayCarte[i][j];
     93 		for ( int i = 0; i < 391; i++ ) {
     94 			double a = Math.random() * 40;
     95 			int x = (int) a;
     96 			double b = Math.random() * 40;
     97 			int y = (int) b;
     98 			aux = frame.arrayCarteMescolate[x];
     99 			frame.arrayCarteMescolate[x] = frame.arrayCarteMescolate[y];
    100 			frame.arrayCarteMescolate[y] = aux;
    101 		}
    102 		char auxChar[] = frame.arrayCarteMescolate[39].toString().toCharArray();
    103 		semeBriscola = auxChar[auxChar.length-5] - 49;
    104 		frame.carteInMano[0] = frame.arrayCarteMescolate[0];
    105 		frame.carteInMano[1] = frame.arrayCarteMescolate[1];
    106 		frame.carteInMano[2] = frame.arrayCarteMescolate[2];
    107 		frame.carteCPU[0] = frame.arrayCarteMescolate[3];
    108 		frame.carteCPU[1] = frame.arrayCarteMescolate[4];
    109 		frame.carteCPU[2] = frame.arrayCarteMescolate[5];
    110 		frame.ultimaCarta = frame.arrayCarteMescolate[39];
    111 		frame.giocata[0] = null;
    112 		frame.giocata[1] = null;
    113 	}
    114 	public void giocaCPU() {
    115 		if ( mano < 16 ) {
    116 			if ( frame.giocata[0] == null ) {
    117 				if ( vaiPunti() );
    118 				else if ( vaiLiscio() );
    119 				else if ( vaiTaglio() );
    120 				else if ( vaiBriscolaAlta() );
    121 				else if ( vaiCarico() );
    122 				else if ( vaiTre() );
    123 				else if ( vaiAsso() );
    124 				else;
    125 			}
    126 			else {
    127 				if ( haLisciato() ) {
    128 					if ( vaiSopra() );
    129 					else if ( vaiLiscio() );
    130 					else if ( vaiPunti() );
    131 					else if ( vaiTaglio() );
    132 					else if ( vaiTre() );
    133 					else if ( vaiBriscolaAlta() );
    134 					else if ( vaiCarico() );
    135 					else if ( vaiAsso() );
    136 				} else if ( haMessoPunti() ) {
    137 					if ( vaiSopra() );
    138 					else if ( vaiLiscio() );
    139 					else if ( vaiTaglio() );
    140 					else if ( vaiPunti() );
    141 					else if ( vaiTre() );
    142 					else if ( vaiBriscolaAlta() );
    143 					else if ( vaiCarico() );
    144 					else if ( vaiAsso() );
    145 				} else if ( haTagliato() ) {
    146 					if ( vaiLiscio() );
    147 					else if ( vaiPunti() );
    148 					else if ( vaiTaglio() );
    149 					else if ( vaiTre() );
    150 					else if ( vaiBriscolaAlta() );
    151 					else if ( vaiCarico() );
    152 					else if ( vaiAsso() );
    153 				} else if ( haMessoBriscolaAlta() ) {
    154 					if ( vaiLiscio() );
    155 					else if ( vaiPunti() );
    156 					else if ( vaiTre() );
    157 					else if ( vaiTaglio() );
    158 					else if ( vaiBriscolaAlta() );
    159 					else if ( vaiCarico() );
    160 					else if ( vaiAsso() );
    161 				} else if ( haMessoTre() ) {
    162 					if ( vaiAsso() );
    163 					else if ( vaiLiscio() );
    164 					else if ( vaiPunti() );
    165 					else if ( vaiTaglio() );
    166 					else if ( vaiBriscolaAlta() );
    167 					else if ( vaiCarico() );
    168 				} else if ( haMessoAsso() ) {
    169 					if ( vaiLiscio() );
    170 					else if ( vaiPunti() );
    171 					else if ( vaiTaglio() );
    172 					else if ( vaiBriscolaAlta() );
    173 					else if ( vaiCarico() );
    174 					else if ( vaiTre() );
    175 				} else if ( haCaricato() ) {
    176 					if ( vaiSopra() );
    177 					else if ( vaiTre() );
    178 					else if ( vaiBriscolaAlta() );
    179 					else if ( vaiAsso() );
    180 					else if ( vaiTaglio() );
    181 					else if ( vaiLiscio() );
    182 					else if ( vaiPunti() );
    183 					else if ( vaiCarico() );
    184 				}
    185 			}
    186 		}
    187 		else if ( mano == 16 ) {
    188 			if ( frame.giocata[0] == null ) {
    189 				char aux[];
    190 				aux = frame.ultimaCarta.toString().toCharArray();
    191 				if ( aux[aux.length-7] - 48 == 3 || aux[aux.length-7] - 48 == 1 ) {
    192 					if ( vaiCarico() );
    193 					else if ( vaiPunti() );
    194 					else if ( vaiLiscio() );
    195 					else if ( vaiTaglio() );
    196 					else if ( vaiBriscolaAlta() );
    197 					else if ( vaiTre() );
    198 					else if ( vaiAsso() );
    199 					else;
    200 				} else {
    201 					if ( vaiPunti() );
    202 					else if ( vaiLiscio() );
    203 					else if ( vaiTaglio() );
    204 					else if ( vaiBriscolaAlta() );
    205 					else if ( vaiCarico() );
    206 					else if ( vaiTre() );
    207 					else if ( vaiAsso() );
    208 					else;
    209 				}
    210 			}
    211 			else {
    212 				char aux[];
    213 				aux = frame.ultimaCarta.toString().toCharArray();
    214 				if ( aux[aux.length-7] - 48 == 3 || aux[aux.length-7] - 48 == 1 ) {
    215 					if ( haCaricato() ) {
    216 						if ( vaiSopra() );
    217 						else if ( vaiLiscio() );
    218 						else if ( vaiPunti() );
    219 						else if ( vaiTre() );
    220 						else if ( vaiTaglio() );
    221 						else if ( vaiBriscolaAlta() );
    222 						else if ( vaiAsso() );
    223 						else if ( vaiCarico() );
    224 					}
    225 				} else {
    226 					if ( haLisciato() ) {
    227 						if ( vaiSopra() );
    228 						else if ( vaiLiscio() );
    229 					else if ( vaiPunti() );
    230 						else if ( vaiTaglio() );
    231 						else if ( vaiTre() );
    232 						else if ( vaiBriscolaAlta() );
    233 						else if ( vaiCarico() );
    234 						else if ( vaiAsso() );
    235 					} else if ( haMessoPunti() ) {
    236 						if ( vaiSopra() );
    237 						else if ( vaiLiscio() );
    238 						else if ( vaiTaglio() );
    239 						else if ( vaiPunti() );
    240 						else if ( vaiTre() );
    241 						else if ( vaiBriscolaAlta() );
    242 						else if ( vaiCarico() );
    243 						else if ( vaiAsso() );
    244 					} else if ( haTagliato() ) {
    245 						if ( vaiLiscio() );
    246 						else if ( vaiPunti() );
    247 						else if ( vaiTaglio() );
    248 						else if ( vaiTre() );
    249 						else if ( vaiBriscolaAlta() );
    250 						else if ( vaiCarico() );
    251 						else if ( vaiAsso() );
    252 					} else if ( haMessoBriscolaAlta() ) {
    253 						if ( vaiLiscio() );
    254 						else if ( vaiPunti() );
    255 						else if ( vaiTre() );
    256 						else if ( vaiTaglio() );
    257 						else if ( vaiBriscolaAlta() );
    258 						else if ( vaiCarico() );
    259 						else if ( vaiAsso() );
    260 					} else if ( haMessoTre() ) {
    261 						if ( vaiAsso() );
    262 						else if ( vaiLiscio() );
    263 						else if ( vaiPunti() );
    264 						else if ( vaiTaglio() );
    265 						else if ( vaiBriscolaAlta() );
    266 						else if ( vaiCarico() );
    267 					} else if ( haMessoAsso() ) {
    268 						if ( vaiLiscio() );
    269 						else if ( vaiPunti() );
    270 						else if ( vaiTaglio() );
    271 						else if ( vaiBriscolaAlta() );
    272 						else if ( vaiCarico() );
    273 						else if ( vaiTre() );
    274 					} else if ( haCaricato() ) {
    275 						if ( vaiSopra() );
    276 						else if ( vaiTre() );
    277 						else if ( vaiBriscolaAlta() );
    278 						else if ( vaiAsso() );
    279 						else if ( vaiTaglio() );
    280 						else if ( vaiLiscio() );
    281 						else if ( vaiPunti() );
    282 						else if ( vaiCarico() );
    283 					}
    284 				}
    285 			}
    286 		} else if ( mano == 17 ) {
    287 			if ( frame.giocata[0] == null ) {
    288 				if ( hoAsso() ) {
    289 					if ( vaiTre() );
    290 					else if ( vaiBriscolaAlta() );
    291 					else if ( vaiTaglio() );
    292 					else if ( vaiLiscio() );
    293 					else if ( vaiPunti() );
    294 					else if ( vaiAsso() );
    295 					else if ( vaiCarico() );
    296 				} else {
    297 					if ( vaiLiscio() );
    298 					else if ( vaiPunti() );
    299 					else if ( vaiTaglio() );
    300 					else if ( vaiBriscolaAlta() );
    301 					else if ( vaiCarico() );
    302 					else if ( vaiTre() );
    303 				}
    304 			}
    305 			else {
    306 				if ( haLisciato() ) {
    307 					if ( vaiSopra() );
    308 					else if ( vaiLiscio() );
    309 					else if ( vaiPunti() );
    310 					else if ( vaiTaglio() );
    311 					else if ( vaiTre() );
    312 					else if ( vaiBriscolaAlta() );
    313 					else if ( vaiCarico() );
    314 					else if ( vaiAsso() );
    315 				} else if ( haMessoPunti() ) {
    316 					if ( vaiSopra() );
    317 					else if ( vaiLiscio() );
    318 					else if ( vaiTaglio() );
    319 					else if ( vaiPunti() );
    320 					else if ( vaiTre() );
    321 					else if ( vaiBriscolaAlta() );
    322 					else if ( vaiCarico() );
    323 					else if ( vaiAsso() );
    324 				} else if ( haTagliato() ) {
    325 					if ( vaiLiscio() );
    326 					else if ( vaiPunti() );
    327 					else if ( vaiTaglio() );
    328 					else if ( vaiTre() );
    329 					else if ( vaiBriscolaAlta() );
    330 					else if ( vaiCarico() );
    331 					else if ( vaiAsso() );
    332 				} else if ( haMessoBriscolaAlta() ) {
    333 					if ( vaiLiscio() );
    334 					else if ( vaiPunti() );
    335 					else if ( vaiTre() );
    336 					else if ( vaiTaglio() );
    337 					else if ( vaiBriscolaAlta() );
    338 					else if ( vaiCarico() );
    339 					else if ( vaiAsso() );
    340 				} else if ( haMessoTre() ) {
    341 					if ( vaiAsso() );
    342 					else if ( vaiLiscio() );
    343 					else if ( vaiPunti() );
    344 					else if ( vaiTaglio() );
    345 					else if ( vaiBriscolaAlta() );
    346 					else if ( vaiCarico() );
    347 				} else if ( haMessoAsso() ) {
    348 					if ( vaiLiscio() );
    349 					else if ( vaiPunti() );
    350 					else if ( vaiTaglio() );
    351 					else if ( vaiBriscolaAlta() );
    352 					else if ( vaiCarico() );
    353 					else if ( vaiTre() );
    354 				} else if ( haCaricato() ) {
    355 					if ( vaiSopra() );
    356 					else if ( vaiTre() );
    357 					else if ( vaiBriscolaAlta() );
    358 					else if ( vaiAsso() );
    359 					else if ( vaiTaglio() );
    360 					else if ( vaiLiscio() );
    361 					else if ( vaiPunti() );
    362 					else if ( vaiCarico() );
    363 				}
    364 			}
    365 		} else if ( mano == 18 ) {
    366 			if ( frame.giocata[0] == null ) {
    367 				if ( vaiAsso() );
    368 				else if ( vaiCarico() );
    369 				else if ( vaiBriscolaAlta() );
    370 				else if ( vaiTaglio() );
    371 				else if ( vaiPunti() );
    372 				else if ( vaiLiscio() );
    373 				else if ( vaiTre() );
    374 			}
    375 			else {
    376 				if ( haLisciato() ) {
    377 					if ( vaiSopra() );
    378 					else if ( vaiLiscio() );
    379 					else if ( vaiPunti() );
    380 					else if ( vaiTaglio() );
    381 					else if ( vaiTre() );
    382 					else if ( vaiBriscolaAlta() );
    383 					else if ( vaiCarico() );
    384 					else if ( vaiAsso() );
    385 				} else if ( haMessoPunti() ) {
    386 					if ( vaiSopra() );
    387 					else if ( vaiLiscio() );
    388 					else if ( vaiTaglio() );
    389 					else if ( vaiPunti() );
    390 					else if ( vaiTre() );
    391 					else if ( vaiBriscolaAlta() );
    392 					else if ( vaiCarico() );
    393 					else if ( vaiAsso() );
    394 				} else if ( haTagliato() ) {
    395 					if ( vaiLiscio() );
    396 					else if ( vaiPunti() );
    397 					else if ( vaiTaglio() );
    398 					else if ( vaiTre() );
    399 					else if ( vaiBriscolaAlta() );
    400 					else if ( vaiCarico() );
    401 					else if ( vaiAsso() );
    402 				} else if ( haMessoBriscolaAlta() ) {
    403 					if ( vaiLiscio() );
    404 					else if ( vaiPunti() );
    405 					else if ( vaiTre() );
    406 					else if ( vaiTaglio() );
    407 					else if ( vaiBriscolaAlta() );
    408 					else if ( vaiCarico() );
    409 					else if ( vaiAsso() );
    410 				} else if ( haMessoTre() ) {
    411 					if ( vaiAsso() );
    412 					else if ( vaiLiscio() );
    413 					else if ( vaiPunti() );
    414 					else if ( vaiTaglio() );
    415 					else if ( vaiBriscolaAlta() );
    416 					else if ( vaiCarico() );
    417 				} else if ( haMessoAsso() ) {
    418 					if ( vaiLiscio() );
    419 					else if ( vaiPunti() );
    420 					else if ( vaiTaglio() );
    421 					else if ( vaiBriscolaAlta() );
    422 					else if ( vaiCarico() );
    423 					else if ( vaiTre() );
    424 				} else if ( haCaricato() ) {
    425 					if ( vaiSopra() );
    426 					else if ( vaiTre() );
    427 					else if ( vaiBriscolaAlta() );
    428 					else if ( vaiAsso() );
    429 					else if ( vaiTaglio() );
    430 					else if ( vaiLiscio() );
    431 					else if ( vaiPunti() );
    432 					else if ( vaiCarico() );
    433 				}
    434 			}
    435 		} else {
    436 			if ( vaiTre() );
    437 			else if ( vaiBriscolaAlta() );
    438 			else if ( vaiAsso() );
    439 			else if ( vaiTaglio() );
    440 			else if ( vaiLiscio() );
    441 			else if ( vaiPunti() );
    442 			else if ( vaiCarico() );
    443 		}
    444 		frame.giocata[1] = frame.carteCPU[cartaDaGiocare];
    445 		frame.carteCPU[cartaDaGiocare] = null;
    446 		frame.pannello.repaint();
    447 		CPUHaGiocato = true;
    448 		if ( frame.giocata[0] == null )
    449 			toccaAllaCPU = false;
    450 	}
    451 	public void chiPrende() {
    452 		char aux[], auxCPU[];
    453 		aux = frame.giocata[0].toString().toCharArray();
    454 		auxCPU = frame.giocata[1].toString().toCharArray();
    455 		giocatorePrende(   ( (aux[aux.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) )
    456 			|| ( (aux[aux.length-5] == auxCPU[auxCPU.length-5]) && laPrimaEPiuAlta( aux[aux.length-7] - 48, auxCPU[auxCPU.length-7] - 48 ) )
    457 			|| ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (aux[aux.length-5] != auxCPU[auxCPU.length-5]) && haGiocatoPrima ) );
    458 	}
    459 	public boolean laPrimaEPiuAlta( int prima, int seconda ) {
    460 		int a, b;
    461 		switch ( prima ) {
    462 			case 0:
    463 				a = 10;
    464 				break;
    465 			case 1:
    466 				a = 12;
    467 				break;
    468 			case 3:
    469 				a = 11;
    470 				break;
    471 			default:
    472 				a = prima;
    473 				break;
    474 		}
    475 		switch ( seconda ) {
    476 			case 0:
    477 				b = 10;
    478 				break;
    479 			case 1:
    480 				b = 12;
    481 				break;
    482 			case 3:
    483 				b = 11;
    484 				break;
    485 			default:
    486 				b = seconda;
    487 				break;
    488 		}
    489 		return a > b;
    490 	}
    491 	public void giocatorePrende( boolean giocatore ) {
    492 		if ( giocatore ) {
    493 			toccaAllaCPU = CPUHaGiocato = false;
    494 			haGiocatoPrima = true;
    495 		}
    496 		else {
    497 			toccaAllaCPU = true;
    498 			CPUHaGiocato = haGiocatoPrima = false;
    499 		}
    500 		daiPunti( giocatore );
    501 		if ( toccaAllaCPU )
    502 			giocaCPU();
    503 	}
    504 	public void daiPunti( boolean giocatore ) {
    505 		char aux[], auxCPU[];
    506 		aux = frame.giocata[0].toString().toCharArray();
    507 		auxCPU = frame.giocata[1].toString().toCharArray();
    508 		int punti = 0;
    509 		switch( aux[aux.length-7] - 48 ) {
    510 			case 0:
    511 				punti += 4;
    512 				break;
    513 			case 1:
    514 				punti += 11;
    515 				break;
    516 			case 3:
    517 				punti += 10;
    518 				break;
    519 			case 8:
    520 				punti += 2;
    521 				break;
    522 			case 9:
    523 				punti += 3;
    524 				break;
    525 			default:
    526 				break;
    527 		}
    528 		switch( auxCPU[auxCPU.length-7] - 48 ) {
    529 			case 0:
    530 				punti += 4;
    531 				break;
    532 			case 1:
    533 				punti += 11;
    534 				break;
    535 			case 3:
    536 				punti += 10;
    537 				break;
    538 			case 8:
    539 				punti += 2;
    540 				break;
    541 			case 9:
    542 				punti += 3;
    543 				break;
    544 			default:
    545 				break;
    546 		}
    547 		frame.giocata[0] = frame.giocata[1] = null;
    548 		if ( giocatore ) {
    549 			punteggio += punti;
    550 			if ( mano < 18 ) {
    551 				if ( frame.carteInMano[0] == null )
    552 					frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
    553 				if ( frame.carteInMano[1] == null )
    554 					frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
    555 				if ( frame.carteInMano[2] == null )
    556 					frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
    557 				cartaDaPescare++;
    558 				if ( frame.carteCPU[0] == null )
    559 					frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
    560 				if ( frame.carteCPU[1] == null )
    561 					frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
    562 				if ( frame.carteCPU[2] == null )
    563 					frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
    564 				cartaDaPescare++;
    565 			}
    566 		}
    567 		else {
    568 			punteggioCPU += punti;
    569 			if ( mano < 18 ) {
    570 				if ( frame.carteCPU[0] == null )
    571 					frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
    572 				if ( frame.carteCPU[1] == null )
    573 					frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
    574 				if ( frame.carteCPU[2] == null )
    575 					frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
    576 				cartaDaPescare++;
    577 				if ( frame.carteInMano[0] == null )
    578 					frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
    579 				if ( frame.carteInMano[1] == null )
    580 					frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
    581 				if ( frame.carteInMano[2] == null )
    582 					frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
    583 				cartaDaPescare++;
    584 			}
    585 		}
    586 		frame.pannello.repaint();
    587 		frame.repaint();
    588 	}
    589 	public boolean haLisciato() {
    590 		char auxCPU[];
    591 		auxCPU = frame.giocata[0].toString().toCharArray();
    592 		return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
    593 				 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
    594 				 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) );
    595 	}
    596 	public boolean haMessoPunti() {
    597 		char auxCPU[];
    598 		auxCPU = frame.giocata[0].toString().toCharArray();
    599 		return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
    600 				 ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) ||
    601 				 (auxCPU[auxCPU.length-7] - 48 == 9 ) ) );
    602 	}		
    603 	public boolean haTagliato() {
    604 		char auxCPU[];
    605 		auxCPU = frame.giocata[0].toString().toCharArray();
    606 		return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
    607 				 (auxCPU[auxCPU.length-7] - 48 != 0) && (auxCPU[auxCPU.length-7] - 48 != 1) &&
    608 				 (auxCPU[auxCPU.length-7] - 48 != 3) && (auxCPU[auxCPU.length-7] - 48 <= 7) );
    609 	}
    610 	public boolean haMessoBriscolaAlta() {
    611 		char auxCPU[];
    612 		auxCPU = frame.giocata[0].toString().toCharArray();
    613 		return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
    614 				 ( (auxCPU[auxCPU.length-7] - 48 == 0) || (auxCPU[auxCPU.length-7] - 48 == 8) ||
    615 				 (auxCPU[auxCPU.length-7] - 48 == 9) ) );
    616 	}
    617 	public boolean haMessoTre() {
    618 		char auxCPU[];
    619 		auxCPU = frame.giocata[0].toString().toCharArray();
    620 		return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
    621 				 (auxCPU[auxCPU.length-7] - 48 == 3) );
    622 	}
    623 	public boolean haMessoAsso() {
    624 		char auxCPU[];
    625 		auxCPU = frame.giocata[0].toString().toCharArray();
    626 		return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
    627 				 (auxCPU[auxCPU.length-7] - 48 == 1) );
    628 	}
    629 	public boolean haCaricato() {
    630 		char auxCPU[];
    631 		auxCPU = frame.giocata[0].toString().toCharArray();
    632 		return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
    633 				 ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) );
    634 	}		
    635 	public boolean vaiLiscio() {
    636 		char auxCPU[];
    637 		for ( int i = 0; i < 3; i++ ) {
    638 			if ( frame.carteCPU[i] != null ) {
    639 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    640 				if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
    641 					 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
    642 					 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) ) {
    643 					cartaDaGiocare = i;
    644 					return true;
    645 				}
    646 			}
    647 		}
    648 		return false;
    649 	}
    650 	public boolean vaiPunti() {
    651 		char[] auxCPU;
    652 		for ( int i = 0; i < 3; i++ ) {
    653 			if ( frame.carteCPU[i] != null ) {
    654 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    655 				if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 8 ) ) {
    656 					cartaDaGiocare = i;
    657 					return true;
    658 				}
    659 			}
    660 		}
    661 		for ( int i = 0; i < 3; i++ ) {
    662 			if ( frame.carteCPU[i] != null ) {
    663 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    664 				if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 9 ) ) {
    665 					cartaDaGiocare = i;
    666 					return true;
    667 				}
    668 			}
    669 		}
    670 		for ( int i = 0; i < 3; i++ ) {
    671 			if ( frame.carteCPU[i] != null ) {
    672 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    673 				if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 0 ) ) {
    674 					cartaDaGiocare = i;
    675 					return true;
    676 				}
    677 			}
    678 		}
    679 		return false;
    680 	}
    681 	public boolean vaiTaglio() {
    682 		char auxCPU[];
    683 		for ( int i = 0; i < 3; i++ ) {
    684 			if ( frame.carteCPU[i] != null ) {
    685 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    686 				if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola &&
    687 					 (auxCPU[auxCPU.length-7] - 48 != 0) && (auxCPU[auxCPU.length-7] - 48 != 1) &&
    688 					 (auxCPU[auxCPU.length-7] - 48 != 3) && (auxCPU[auxCPU.length-7] - 48 <= 7) ) {
    689 					cartaDaGiocare = i;
    690 					return true;
    691 				}
    692 			}
    693 		}
    694 		return false;
    695 	}
    696 	public boolean vaiBriscolaAlta() {
    697 		char[] auxCPU;
    698 		for ( int i = 0; i < 3; i++ ) {
    699 			if ( frame.carteCPU[i] != null ) {
    700 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    701 				if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 8 ) ) {
    702 					cartaDaGiocare = i;
    703 					return true;
    704 				}
    705 			}
    706 		}
    707 		for ( int i = 0; i < 3; i++ ) {
    708 			if ( frame.carteCPU[i] != null ) {
    709 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    710 				if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 9 ) ) {
    711 					cartaDaGiocare = i;
    712 					return true;
    713 				}
    714 			}
    715 		}
    716 		for ( int i = 0; i < 3; i++ ) {
    717 			if ( frame.carteCPU[i] != null ) {
    718 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    719 				if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 0 ) ) {
    720 					cartaDaGiocare = i;
    721 					return true;
    722 				}
    723 			}
    724 		}
    725 		return false;
    726 	}
    727 	public boolean vaiTre() {
    728 		char auxCPU[];
    729 		for ( int i = 0; i < 3; i++ ) {
    730 			if ( frame.carteCPU[i] != null ) {
    731 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    732 				if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola && (auxCPU[auxCPU.length-7] - 48 == 3) ) {
    733 					cartaDaGiocare = i;
    734 					return true;
    735 				}
    736 			}
    737 		}
    738 		return false;
    739 	}
    740 	public boolean vaiAsso() {
    741 		char auxCPU[];
    742 		for ( int i = 0; i < 3; i++ ) {
    743 			if ( frame.carteCPU[i] != null ) {
    744 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    745 				if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola && (auxCPU[auxCPU.length-7] - 48 == 1) ) {
    746 					cartaDaGiocare = i;
    747 					return true;
    748 				}
    749 			}
    750 		}
    751 		return false;
    752 	}
    753 	public boolean vaiCarico() {
    754 		char[] auxCPU;
    755 		for ( int i = 0; i < 3; i++ ) {
    756 			if ( frame.carteCPU[i] != null ) {
    757 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    758 				if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 3 ) ) {
    759 					cartaDaGiocare = i;
    760 					return true;
    761 				}
    762 			}
    763 		}
    764 		for ( int i = 0; i < 3; i++ ) {
    765 			if ( frame.carteCPU[i] != null ) {
    766 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    767 				if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 1 ) ) {
    768 					cartaDaGiocare = i;
    769 					return true;
    770 				}
    771 			}
    772 		}
    773 		return false;
    774 	}
    775 	public boolean vaiSopra() {
    776 		if ( frame.giocata[0] == null )
    777 			return false;
    778 		int a = -1;
    779 		int b = -1;
    780 		int c = -1;
    781 		boolean laPrimaPuoAndareSopra = false;
    782 		boolean laSecondaPuoAndareSopra = false;
    783 		boolean laTerzaPuoAndareSopra = false;
    784 		char[] auxCPU1 = new char[1024];
    785 		char[] auxCPU2 = new char[1024];
    786 		char[] auxCPU3 = new char[1024];
    787 		char[] aux = frame.giocata[0].toString().toCharArray();
    788 		if ( aux[aux.length-7] - 48 == 1 )
    789 			return false;
    790 		if ( frame.carteCPU[0] != null ) {
    791 			auxCPU1 = frame.carteCPU[0].toString().toCharArray();
    792 			a = auxCPU1[auxCPU1.length-7] - 48;
    793 			if ( (auxCPU1[auxCPU1.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( a, aux[aux.length-7] - 48 ) )
    794 				laPrimaPuoAndareSopra = true;
    795 		}
    796 		if ( frame.carteCPU[1] != null ) {	
    797 			auxCPU2 = frame.carteCPU[1].toString().toCharArray();
    798 			b = auxCPU2[auxCPU2.length-7] - 48;
    799 			if ( (auxCPU2[auxCPU2.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( b, aux[aux.length-7] - 48 ) )
    800 				laSecondaPuoAndareSopra = true;
    801 		}
    802 		if ( frame.carteCPU[2] != null ) {
    803 			auxCPU3 = frame.carteCPU[2].toString().toCharArray();
    804 			c = auxCPU3[auxCPU3.length-7] - 48;
    805 			if ( (auxCPU3[auxCPU3.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( c, aux[aux.length-7] - 48 ) )
    806 				laTerzaPuoAndareSopra = true;
    807 		}
    808 		if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
    809 			return false;
    810 		else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
    811 			cartaDaGiocare = 0;
    812 		else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
    813 			cartaDaGiocare = 1;
    814 		else if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
    815 			cartaDaGiocare = 2;
    816 		else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
    817 			if ( laPrimaEPiuAlta( a, b ) )
    818 				cartaDaGiocare = 0;
    819 			else
    820 				cartaDaGiocare = 1;
    821 		else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
    822 			if ( laPrimaEPiuAlta( b, c ) )
    823 				cartaDaGiocare = 1;
    824 			else
    825 				cartaDaGiocare = 2;
    826 		else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
    827 			if ( laPrimaEPiuAlta( a, c ) )
    828 				cartaDaGiocare = 0;
    829 			else
    830 				cartaDaGiocare = 2;
    831 		else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
    832 			if ( laPrimaEPiuAlta( a, b ) )
    833 				if ( laPrimaEPiuAlta( a, c ) )
    834 					cartaDaGiocare = 0;
    835 				else
    836 					cartaDaGiocare = 2;
    837 			else
    838 				if ( laPrimaEPiuAlta( b, c ) )
    839 					cartaDaGiocare = 1;
    840 				else
    841 					cartaDaGiocare = 2;
    842 		aux = frame.carteCPU[cartaDaGiocare].toString().toCharArray();
    843 		if ( (aux[aux.length-7] - 48 != 0) && (aux[aux.length-7] - 48 != 1) &&
    844 			 (aux[aux.length-7] - 48 != 3) && (aux[aux.length-7] - 48 <= 7) )
    845 			return false;
    846 		return true;
    847 	}
    848 	public boolean hoCarico() {
    849 		char auxCPU[];
    850 		for ( int i = 0; i < 3; i++ ) {
    851 			if ( frame.carteCPU[i] != null ) {
    852 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    853 				if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
    854 					 ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) ) {
    855 					return true;
    856 				}
    857 			}
    858 		}
    859 		return false;
    860 	}
    861 	public boolean hoAsso() {
    862 		char auxCPU[];
    863 		for ( int i = 0; i < 3; i++ ) {
    864 			if ( frame.carteCPU[i] != null ) {
    865 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    866 				if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 1 ) ) {
    867 					return true;
    868 				}
    869 			}
    870 		}
    871 		return false;
    872 	}
    873 	public boolean hoTre() {
    874 		char auxCPU[];
    875 		for ( int i = 0; i < 3; i++ ) {
    876 			if ( frame.carteCPU[i] != null ) {
    877 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    878 				if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 3 ) ) {
    879 					return true;
    880 				}
    881 			}
    882 		}
    883 		return false;
    884 	}
    885 	public boolean hoBriscolaAlta() {
    886 		char auxCPU[];
    887 		for ( int i = 0; i < 3; i++ ) {
    888 			if ( frame.carteCPU[i] != null ) {
    889 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    890 				if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
    891 					 ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) || (auxCPU[auxCPU.length-7] - 48 == 9 ) ) ) {
    892 					return true;
    893 				}
    894 			}
    895 		}
    896 		return false;
    897 	}
    898 	public boolean hoTaglio() {
    899 		char auxCPU[];
    900 		for ( int i = 0; i < 3; i++ ) {
    901 			if ( frame.carteCPU[i] != null ) {
    902 				auxCPU = frame.carteCPU[i].toString().toCharArray();
    903 				if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
    904 					 (auxCPU[auxCPU.length-7] - 48 < 8 ) && (auxCPU[auxCPU.length-7] - 48 != 3 )
    905 					 && (auxCPU[auxCPU.length-7] - 48 != 1 ) && (auxCPU[auxCPU.length-7] - 48 != 0 ) ) {
    906 					return true;
    907 				}
    908 			}
    909 		}
    910 		return false;
    911 	}
    912 	public static void settaOpzioni() {
    913 		lang = "it";
    914 		soundString = "suono=si";
    915 		int r = 0;
    916 		int g = 150;
    917 		int b = 0;
    918 		Scanner scanner = null;
    919 		File file = new File( "JBriscolaConfig.txt" );
    920 		if ( file.exists() ) {
    921 			try {
    922 				scanner = new Scanner( file );
    923 			} catch ( FileNotFoundException e ) { }
    924 			try {
    925 				lang = scanner.next();
    926 				soundString = scanner.next();
    927 				r = scanner.nextInt();
    928 				g = scanner.nextInt();
    929 				b = scanner.nextInt();
    930 			} catch ( NoSuchElementException e ) { }
    931 		}
    932 		else {
    933 			lang = "it";
    934 			soundString = "suono=si";
    935 			r = 0;
    936 			g = 150;
    937 			b = 0;
    938 		}
    939 		if ( lang.equals( "it" ) ) {
    940 			stringaBottonePrendi = "Prendi/Lascia carte";
    941 			stringaPrimaGioca = "Prima Gioca!";
    942 			stringaUltime4 = "Ultima carta - Occhio alla briscola!";
    943 			stringaVinto = "Hai Vinto!";
    944 			stringaPerso = "Hai Perso";
    945 			stringaPareggio = "Pareggio";
    946 			stringaGiocatore = "Giocatore: ";
    947 			stringaComputer = "\nComputer: ";
    948 			stringaNuovaPartita = "Nuova Partita";
    949 			stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?";
    950 			stringaVuoiDavveroUscire = "Vuoi davvero uscire?";
    951 			stringaSi = "Si";
    952 			stringaNo = "No";
    953 			stringaOpzioni = "Opzioni...";
    954 			stringaEsci = "Esci";
    955 			stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n";
    956 			stringaLingua = "Lingua";
    957 			stringaAnnulla = "Annulla";
    958 			stringaIt = "Italiano";
    959 			stringaLa = "Latino";
    960 			stringaBL = "Dialetto Bellunese";
    961 			stringaBV = "Dialetto Basso Veneto";
    962 			stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua\nAlcune parti saranno comunque tradotte prima.";
    963 			stringaModificaOpzioni = "Modifica Opzioni";
    964 			stringaInformazioni = "Informazioni";
    965 			stringaInformazioni2 = "JBriscola e' un gioco di briscola per pc scritto in java ideato\ne realizzato da Sebastiano Tronto. Il gioco viene rilasciato sotto licenza GNU/Gpl versione 2 o successive; questo permette\npotenzialmente a chiunque di modificare il gioco partendo dal codice sorgente del programma. Se non avete ricevuto i sorgenti\nassieme al gioco, potete richiedermeli con un'e-mail a sebastiano@luganega.org.\n\nJBriscola version" + version + "\nCopyright 2009 Sebastiano Tronto, license GNU/Gpl 2.0 or later\nE-mail: sebastiano@luganega.org";
    966 			stringaSuono = "Effetti sonori";
    967 			stringaPunteggio = "Punteggio";
    968 			stringaSfondo = "Sfondo";
    969 			stringaTasti = "Tasti rapidi";
    970 			stringaTasti2 = "1    Gioca la prima carta\n2    Gioca la seconda carta\n3    Gioca la terza carta\nF1   Visualizza questo messaggio\nF2   Nuova partita\nF3   Opzioni\nF4   Visualizza Punteggio\nF5   Informazioni\nq    Esci";
    971 		}
    972 		else if ( lang.equals( "la" ) ) {
    973 			stringaBottonePrendi = "CAPIS/RELINQVIS CHARTAS";
    974 			stringaPrimaGioca = "ANTE CHARTAM PONE!";
    975 			stringaUltime4 = "CHARTA POSTREMA - INTVERE BRISCOLAM!";
    976 			stringaVinto = "VICISTI!";
    977 			stringaPerso = "PERDIDISTI";
    978 			stringaPareggio = "AEQVATIO!";
    979 			stringaGiocatore = "LVSOR: ";
    980 			stringaComputer = "\nCOMPVTER: ";
    981 			stringaNuovaPartita = "NOVA LVSO";
    982 			stringaVuoiDavveroIniziare = "NOVAM LVSIONEM INCIPERE?";
    983 			stringaVuoiDavveroUscire = "EXIRE?";
    984 			stringaSi = "ID VOLO";
    985 			stringaNo = "NOLO";
    986 			stringaOpzioni = "OPTIONES...";
    987 			stringaEsci = "EXIRE";
    988 			stringaImpossibileConfigurare = "CONFIGVRATIONIS FILE SCRIBERE NON POTVI.\nERROREM ME CERTIOREM FACITE: sebastiano@luganega.org\n\nEXCEPTIO:\n";
    989 			stringaLingua = "LINGVA";
    990 			stringaAnnulla = "ABROGA";
    991 			stringaIt = "ITALICA";
    992 			stringaLa = "LATINA";
    993 			stringaBL = "BELLUNI";
    994 			stringaBV = "VENETIAE";
    995 			stringaNecessarioRiavviare = "JBRISCOLAM RVRSVS INCIPERE NECESSE EST\nSI LINGVA PRAELATIONES NOVATAE SVNT.\nALIQVAE ANTE ID VERSA ERVNT";
    996 			stringaModificaOpzioni = "OPTIONES NOVARE";
    997 			stringaInformazioni = "INFORMATIONES";
    998 			stringaInformazioni2 = "JBriscola EST LVDVM BRISCOLAE COMPVTERI, JAVA SCRIPTVM, EXCOGITATVM\nFACTVMQUE A SEBASTIANO TRONTO. IPSVM LUDVM REICITUR LICENTIA GNU/Gpl VERSIONE 2 AVT POSTERIORIBUS; ID\nOMNIBVS LVDVM MUTARE CODICE IPSIVS INCIPIENDO LICET. SI CODICES CUM\nLVDO NON PERVENIT, EOS POSCERE POTESTIS E-MAILE sebastiano@luganega.org.\n\nJBriscola version " + version + "\nCopyright 2009 Sebastiano Tronto, license GNU/Gpl 2.0 or later\nE-mail: sebastiano@luganega.org";
    999 			stringaSuono = "SONVS";
   1000 			stringaPunteggio = "NVMERI";
   1001 			stringaSfondo = "COLOR";
   1002 			stringaTasti = "TASTI RAPIDI";
   1003 			stringaTasti2 = "1    PONE CHARTAM PRIMAM\n2    PONE CHARTAM SECUNDAM\n3    PONE CHARTAM TERTIAM\nF1   HEAC INFORMATIONES\nF2   NOVA LVSO\nF3   OPTIONES\nF4   NVMERI\nF5   INFORMATIONES\nq    EXIRE";
   1004 		}
   1005 		if ( lang.equals( "bl" ) ) {
   1006 			stringaBottonePrendi = "Cio' su/lasa le carte";
   1007 			stringaPrimaGioca = "Prima Duga!";
   1008 			stringaUltime4 = "Ultima carta - Ocio a la briscola!";
   1009 			stringaVinto = "Te ha vint!";
   1010 			stringaPerso = "Te ha pers";
   1011 			stringaPareggio = "Pari";
   1012 			stringaGiocatore = "Dugador: ";
   1013 			stringaComputer = "\nComputer: ";
   1014 			stringaNuovaPartita = "Taca n'altra partida";
   1015 			stringaVuoiDavveroIniziare = "Utu sul serio scuminziar n'altra partida?";
   1016 			stringaVuoiDavveroUscire = "Utu sul serio stusar su?";
   1017 			stringaSi = "Si";
   1018 			stringaNo = "No";
   1019 			stringaOpzioni = "Opzioni...";
   1020 			stringaEsci = "Stusa su";
   1021 			stringaImpossibileConfigurare = "No ghe ho riva' a scrivere al file de configurazion.\nMandeme na mail a: sebastiano@luganega.org\n\nEcezion:\n";
   1022 			stringaLingua = "Lengua";
   1023 			stringaAnnulla = "Annulla";
   1024 			stringaIt = "Italian";
   1025 			stringaLa = "Latin";
   1026 			stringaBL = "Dialeto de Belun";
   1027 			stringaBV = "Dialeto de la basa";
   1028 			stringaNecessarioRiavviare = "Se te ha cambia' la lengua te toca\nstusar su e impizar de novo al dugo\nPero' zerte robe le e' belche tradote.";
   1029 			stringaModificaOpzioni = "Modifica Opzioni";
   1030 			stringaInformazioni = "Informazioni";
   1031 			stringaInformazioni2 = "JBriscola le' an dugo de briscola par computer scrit in java, pensa' e realiza'\n da Sebastiano Tronto. Al dugo l'e' sotto licenza GNU/Gpl versione 2 o sucesive; questo ol dir che chi che ol\n(se l'e' bon) al pol modificar al dugo coi codici sorgenti del programa. Se no i ve ha dat i sorgenti\nasieme al dugo, pote' domandarmeli co na e-mail a sebastiano@luganega.org.\n\nJBriscola version " + version + "\nCopyright 2009 Sebastiano Tronto, license GNU/Gpl 2.0 or later\nE-mail: sebastiano@luganega.org";
   1032 			stringaSuono = "Efeti sonori";
   1033 			stringaPunteggio = "Varda i punti";
   1034 			stringaSfondo = "Sfondo";
   1035 			stringaTasti = "Tasti rapidi";
   1036 			stringaTasti2 = "1    Duga la prima carta\n2    Duga la seconda carta\n3    Duga la terza carta\nF1   Tasti rapidi\nF2   Taca n'altra partida\nF3   Opzioni\nF4   Varda i punti\nF5   Informazioni\nq    Stusa su";
   1037 		}
   1038 		if ( lang.equals( "bv" ) ) {
   1039 			stringaBottonePrendi = "Ciapa su/lasa e carte";
   1040 			stringaPrimaGioca = "Prima Zuga!";
   1041 			stringaUltime4 = "Ultima carta - Ocio a la briscola!";
   1042 			stringaVinto = "Ti ga vinto!";
   1043 			stringaPerso = "Ti ga perso";
   1044 			stringaPareggio = "Pari";
   1045 			stringaGiocatore = "Zugador: ";
   1046 			stringaComputer = "\nComputer: ";
   1047 			stringaNuovaPartita = "N'altra Partida";
   1048 			stringaVuoiDavveroIniziare = "Ti vol sul serio scuminziar n'altra partida?";
   1049 			stringaVuoiDavveroUscire = "Ti vol sul serio stusar su?";
   1050 			stringaSi = "Si";
   1051 			stringaNo = "No";
   1052 			stringaOpzioni = "Opzioni...";
   1053 			stringaEsci = "Stusa su";
   1054 			stringaImpossibileConfigurare = "No ghe son riusito a scrivere al file de configurazione.\nMandeme na mail a: sebastiano@luganega.org\n\nEcezion:\n";
   1055 			stringaLingua = "Lengua";
   1056 			stringaAnnulla = "Annulla";
   1057 			stringaIt = "Italian";
   1058 			stringaLa = "Latin";
   1059 			stringaBL = "Dialeto Belumat";
   1060 			stringaBV = "Dialeto Veneto";
   1061 			stringaNecessarioRiavviare = "Se ti ga cambia' la lengua te toca\nstusar su e impizar de novo al zugo\nPero' zerte robe le e' belche tradote.";
   1062 			stringaModificaOpzioni = "Modifica Opzioni";
   1063 			stringaInformazioni = "Informasioni";
   1064 			stringaInformazioni2 = "JBriscola xe an zugo de briscola par computer scrito in java, pensato e realisato\n da Sebastiano Tronto. Al zugo xe sotto licenza GNU/Gpl versione 2 o sucesive; questo vol dire che chi che\nvol (se xe bono) al pol modificare al zugo coi codici sorgenti del programa. Se no i ve ha dato i sorgenti\nasieme al zugo, pote' domandarmeli co na e-mail a sebastiano@luganega.org.\n\nJBriscola version " + version + "\nCopyright 2009 Sebastiano Tronto, license GNU/Gpl 2.0 or later\nE-mail: sebastiano@luganega.org";
   1065 			stringaSuono = "Efeti sonori";
   1066 			stringaPunteggio = "Varda i punti";
   1067 			stringaSfondo = "Sfondo";
   1068 			stringaTasti = "Tasti rapidi";
   1069 			stringaTasti2 = "1    Zuga la prima carta\n2    Zuga la seconda carta\n3    Zuga la terza carta\nF1   Tasti rapidi\nF2   N'altra partida\nF3   Opzioni\nF4   Varda i punti\nF5   Informazioni\nq    Stusa su";
   1070 
   1071 		}
   1072 		sound = ( soundString.equals( "suono=si" ) );
   1073 		color = new Color( r, g, b );
   1074 		if ( frame != null ) {
   1075 			frame.pannello.repaint();
   1076 			frame.pannello2.repaint();
   1077 			frame.repaint();
   1078 		}
   1079 	}
   1080 }