ancient-projects

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

Main.java (37630B)


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