ancient-projects

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

Main.java (37731B)


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