From 7167b4341ef290d56fb96e2af10883a4b925d83b Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 26 Mar 2026 19:27:18 +0100 Subject: I found my old code! --- .../all_versions/0.1/0.1 Beta 2/src/Frame.java | 174 ++++++++ .../all_versions/0.1/0.1 Beta 2/src/Main.java | 492 +++++++++++++++++++++ .../0.1/0.1 Beta 2/src/OptionFrame.java | 83 ++++ .../all_versions/0.1/0.1 Beta 2/src/Pannello.java | 53 +++ 4 files changed, 802 insertions(+) create mode 100755 JBriscola/all_versions/0.1/0.1 Beta 2/src/Frame.java create mode 100755 JBriscola/all_versions/0.1/0.1 Beta 2/src/Main.java create mode 100755 JBriscola/all_versions/0.1/0.1 Beta 2/src/OptionFrame.java create mode 100755 JBriscola/all_versions/0.1/0.1 Beta 2/src/Pannello.java (limited to 'JBriscola/all_versions/0.1/0.1 Beta 2/src') diff --git a/JBriscola/all_versions/0.1/0.1 Beta 2/src/Frame.java b/JBriscola/all_versions/0.1/0.1 Beta 2/src/Frame.java new file mode 100755 index 0000000..36ff831 --- /dev/null +++ b/JBriscola/all_versions/0.1/0.1 Beta 2/src/Frame.java @@ -0,0 +1,174 @@ +/* +Copyright 2009 Sebastiano Tronto + +This file is part of JBriscola. + + JBriscola is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + JBriscola is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with JBriscola; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class Frame extends JFrame { + public static boolean mazzo; + public static Main main; + public static Pannello pannello; + public static JButton button; + public static JMenuBar barraMenu; + public static JMenu file; + public static JMenuItem nuovaPartita, opzioni, esci; + public static ImageIcon retro1, retro2, ultimaCarta; + public static ImageIcon[] giocata = new ImageIcon[2]; + public static ImageIcon[] carteInMano = new ImageIcon[3]; + public static ImageIcon[] carteCPU = new ImageIcon[3]; + public static ImageIcon[] arrayCarteMescolate = new ImageIcon[40]; + public static ImageIcon[][] arrayCarte = new ImageIcon[10][4]; + public Frame() { + super( "Tronto's JBriscola 0.1 Beta 2" ); + mazzo = true; + main = new Main(); + pannello = new Pannello(); + button = new JButton( main.stringaBottonePrendi ); + button.addActionListener( new ActionListener() { + public void actionPerformed( ActionEvent e ) { + if ( giocata[0] != null && giocata[1] != null ) + main.mano++; + try { + main.chiPrende(); + } catch ( Exception ex ) { + JOptionPane.showMessageDialog( Frame.this, main.stringaPrimaGioca, "JBriscola 0.1", JOptionPane.WARNING_MESSAGE ); + } + if ( main.mano == 16 ) + JOptionPane.showMessageDialog( Frame.this, main.stringaUltime4, "JBriscola 0.1", JOptionPane.INFORMATION_MESSAGE ); + if ( main.mano == 17 ) { + mazzo = false; + ultimaCarta = null; + pannello.repaint(); + Frame.this.repaint(); + } + if ( main.mano == 20 ) { + String titolo = main.stringaVinto; + if ( main.punteggio < main.punteggioCPU ) + titolo = main.stringaPerso; + if ( main.punteggio == main.punteggioCPU ) + titolo = main.stringaPareggio; + JOptionPane.showMessageDialog( Frame.this, main.stringaGiocatore + main.punteggio + main.stringaComputer + main.punteggioCPU, titolo, JOptionPane.PLAIN_MESSAGE ); + } + } + } ); + barraMenu = new JMenuBar(); + file = new JMenu( "File" ); + nuovaPartita = new JMenuItem( main.stringaNuovaPartita ); + nuovaPartita.addActionListener( new ActionListener() { + public void actionPerformed( ActionEvent e ) { + if ( main.mano == 20 ) { + main.mischia(); + pannello.repaint(); + repaint(); + } + else { + int selezione = JOptionPane.showOptionDialog( Frame.this, main.stringaVuoiDavveroIniziare, "JBriscola 0.1", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { main.stringaSi, main.stringaNo }, main.stringaNo ); + if ( selezione == JOptionPane.YES_OPTION ) { + main.mischia(); + pannello.repaint(); + repaint(); + } + } + } + }); + opzioni = new JMenuItem( main.stringaOpzioni ); + opzioni.addActionListener( new ActionListener() { + public void actionPerformed( ActionEvent e ) { + OptionFrame optionFrame = new OptionFrame(); + optionFrame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE ); + optionFrame.setResizable( false ); + optionFrame.setAlwaysOnTop( true ); + optionFrame.setSize( 300, 150 ); + optionFrame.setLocation( (Toolkit.getDefaultToolkit().getScreenSize().width - 300) / 2, + (Toolkit.getDefaultToolkit().getScreenSize().height - 150) / 2); + optionFrame.setVisible( true ); + } + }); + esci = new JMenuItem( main.stringaEsci ); + esci.addActionListener( new ActionListener() { + public void actionPerformed( ActionEvent e ) { + int selezione = JOptionPane.showOptionDialog( Frame.this, main.stringaVuoiDavveroUscire, "JBriscola 0.1", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { main.stringaSi, main.stringaNo }, main.stringaNo ); + if ( selezione == JOptionPane.YES_OPTION ) + Frame.this.dispose(); + } + }); + file.add( nuovaPartita ); + file.add( opzioni ); + file.addSeparator(); + file.add( esci ); + barraMenu.add( file ); + setJMenuBar( barraMenu ); + retro1 = new ImageIcon( ClassLoader.getSystemResource( "img/retro1.jpg" ) ); + retro2 = new ImageIcon( ClassLoader.getSystemResource( "img/retro2.jpg" ) ); + for (int i = 0; i < 10; i++) + for (int j = 0; j < 4; j++) + arrayCarte[i][j] = new ImageIcon( ClassLoader.getSystemResource( "img/" + (i+1) + "-" + (j+1) + ".jpg" ) ); + main.mischia(); + setLayout( new BorderLayout() ); + add( pannello, BorderLayout.CENTER ); + add( button, BorderLayout.SOUTH ); + addMouseListener( + new MouseAdapter() { + public void mouseClicked ( MouseEvent e ) { + if ( mettiCarta( e.getX(), e.getY() ) ) { + if ( !main.CPUHaGiocato ) + main.giocaCPU(); + } + } + } + ); + addWindowListener( + new WindowAdapter() { + public void windowClosing( WindowEvent e ) { + int selezione = JOptionPane.showOptionDialog( Frame.this, main.stringaVuoiDavveroUscire, "JBriscola 0.1", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { main.stringaSi, main.stringaNo }, main.stringaNo ); + if ( selezione == JOptionPane.YES_OPTION ) + System.exit( 0 ); + } + } + ); + } + public boolean mettiCarta( int x, int y ) { + if ( !main.toccaAllaCPU && giocata[0] == null ) { + if ( x > 230 && x < 290 && y > 340 && y < 566 ) { + giocata[0] = carteInMano[0]; + carteInMano[0] = null; + pannello.repaint(); + return true; + } + if ( x > 300 && x < 360 && y > 340 && y < 566 ) { + giocata[0] = carteInMano[1]; + carteInMano[1] = null; + pannello.repaint(); + return true; + } + if ( x > 370 && x < 430 && y > 340 && y < 566 ) { + giocata[0] = carteInMano[2]; + carteInMano[2] = null; + pannello.repaint(); + return true; + } + } + return false; + } +} + + diff --git a/JBriscola/all_versions/0.1/0.1 Beta 2/src/Main.java b/JBriscola/all_versions/0.1/0.1 Beta 2/src/Main.java new file mode 100755 index 0000000..2a3191b --- /dev/null +++ b/JBriscola/all_versions/0.1/0.1 Beta 2/src/Main.java @@ -0,0 +1,492 @@ +/* +Copyright 2009 Sebastiano Tronto + +This file is part of JBriscola. + + JBriscola is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + JBriscola is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with JBriscola; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +import java.io.*; +import java.util.*; +import javax.swing.*; +import java.awt.*; + +public class Main { + public static int semeBriscola, punteggio, punteggioCPU, mano, cartaDaPescare, cartaDaGiocare; + public static boolean toccaAllaCPU = false; + public static boolean CPUHaGiocato = false; + public static boolean haGiocatoPrima = true; + public static Frame frame; + public static String stringaBottonePrendi = "Prendi/Lascia carte"; + public static String stringaPrimaGioca = "Prima Gioca!"; + public static String stringaUltime4 = "Ultime 4 mani - Occhio alla briscola!"; + public static String stringaVinto = "Hai Vinto!"; + public static String stringaPerso = "Hai Perso"; + public static String stringaPareggio = "Pareggio"; + public static String stringaGiocatore = "Giocatore"; + public static String stringaComputer = "\nComputer"; + public static String stringaNuovaPartita = "Nuova Partita"; + public static String stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?"; + public static String stringaVuoiDavveroUscire = "Vuoi davvero uscire?"; + public static String stringaSi = "Si"; + public static String stringaNo = "No"; + public static String stringaOpzioni = "Opzioni..."; + public static String stringaEsci = "Esci"; + public static String stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n"; + public static String stringaLingua = "Lingua"; + public static String stringaAnnulla = "Annulla"; + public static String stringaIt = "Italiano"; + public static String stringaLa = "Latino"; + public static String stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua.\nAlcune parti saranno comunque tradotte prima."; + public static String stringaModificaOpzioni = "Modifica Opzioni"; + public static void main( String args[] ) { + settaOpzioni(); + frame = new Frame(); + frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE ); + frame.setResizable( false ); + frame.setSize( 600, 600 ); + frame.setLocation( (Toolkit.getDefaultToolkit().getScreenSize().width - 600) / 2, + (Toolkit.getDefaultToolkit().getScreenSize().height - 600) / 2); + + frame.setVisible( true ); + } + public void mischia() { + mano = 0; + punteggio = 0; + punteggioCPU = 0; + cartaDaPescare = 6; + ImageIcon aux; + frame.mazzo = true; + toccaAllaCPU = false; + CPUHaGiocato = false; + haGiocatoPrima = true; + for ( int i = 0, k = 0; i < 10; i++ ) + for ( int j = 0; j < 4; j++, k++ ) + frame.arrayCarteMescolate[k] = frame.arrayCarte[i][j]; + for ( int i = 0; i < 391; i++ ) { + double a = Math.random() * 40; + int x = (int) a; + double b = Math.random() * 40; + int y = (int) b; + aux = frame.arrayCarteMescolate[x]; + frame.arrayCarteMescolate[x] = frame.arrayCarteMescolate[y]; + frame.arrayCarteMescolate[y] = aux; + } + char auxChar[] = frame.arrayCarteMescolate[39].toString().toCharArray(); + semeBriscola = auxChar[auxChar.length-5] - 49; + frame.carteInMano[0] = frame.arrayCarteMescolate[0]; + frame.carteInMano[1] = frame.arrayCarteMescolate[1]; + frame.carteInMano[2] = frame.arrayCarteMescolate[2]; + frame.carteCPU[0] = frame.arrayCarteMescolate[3]; + frame.carteCPU[1] = frame.arrayCarteMescolate[4]; + frame.carteCPU[2] = frame.arrayCarteMescolate[5]; + frame.ultimaCarta = frame.arrayCarteMescolate[39]; + frame.giocata[0] = null; + frame.giocata[1] = null; + } + public void giocaCPU() { + if ( frame.giocata[0] == null ) { + if ( vaiLiscio() ); + else if ( vaiPunti() ); + else if ( vaiBriscola() ); + else if ( vaiCarico() ); + else; + } + else { + if ( haLisciato() || haMessoPunti() ) { + if ( vaiSopra() ); + else if ( vaiLiscio() ); + else if ( vaiPunti() ); + else if ( vaiBriscola() ); + else if ( vaiCarico() ); + else System.out.println("Ha lisciato e non so cosa fare"); + } else if ( haMessoBriscola() ) { + if ( vaiLiscio() ); + else if ( vaiPunti() ); + else if ( vaiBriscola() ); + else if ( vaiCarico() ); + else System.out.println("Ha messo una briscola e non so cosa fare"); + } else if ( haCaricato() ) { + if ( vaiSopra() ); + else if ( vaiBriscola() ); + else if ( vaiLiscio() ); + else if ( vaiPunti() ); + else if ( vaiCarico() ); + else System.out.println("Ha caricato e non so cosa fare"); + } else System.out.println("Non so cosa ha fatto"); + } + frame.giocata[1] = frame.carteCPU[cartaDaGiocare]; + frame.carteCPU[cartaDaGiocare] = null; + frame.pannello.repaint(); + CPUHaGiocato = true; + if ( frame.giocata[0] == null ) + toccaAllaCPU = false; + } + public void chiPrende() { + char aux[], auxCPU[]; + aux = frame.giocata[0].toString().toCharArray(); + auxCPU = frame.giocata[1].toString().toCharArray(); + giocatorePrende( ( (aux[aux.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) ) + || ( (aux[aux.length-5] == auxCPU[auxCPU.length-5]) && laPrimaEPiuAlta( aux[aux.length-7] - 48, auxCPU[auxCPU.length-7] - 48 ) ) + || ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (aux[aux.length-5] != auxCPU[auxCPU.length-5]) && haGiocatoPrima ) ); + } + public boolean laPrimaEPiuAlta( int prima, int seconda ) { + int a, b; + switch ( prima ) { + case 0: + a = 10; + break; + case 1: + a = 12; + break; + case 3: + a = 11; + break; + default: + a = prima; + break; + } + switch ( seconda ) { + case 0: + b = 10; + break; + case 1: + b = 12; + break; + case 3: + b = 11; + break; + default: + b = seconda; + break; + } + return a > b; + } + public void giocatorePrende( boolean giocatore ) { + if ( giocatore ) { + toccaAllaCPU = CPUHaGiocato = false; + haGiocatoPrima = true; + } + else { + toccaAllaCPU = true; + CPUHaGiocato = haGiocatoPrima = false; + } + daiPunti( giocatore ); + if ( toccaAllaCPU ) + giocaCPU(); + } + public void daiPunti( boolean giocatore ) { + char aux[], auxCPU[]; + aux = frame.giocata[0].toString().toCharArray(); + auxCPU = frame.giocata[1].toString().toCharArray(); + int punti = 0; + switch( aux[aux.length-7] - 48 ) { + case 0: + punti += 4; + break; + case 1: + punti += 11; + break; + case 3: + punti += 10; + break; + case 8: + punti += 2; + break; + case 9: + punti += 3; + break; + default: + break; + } + switch( auxCPU[auxCPU.length-7] - 48 ) { + case 0: + punti += 4; + break; + case 1: + punti += 11; + break; + case 3: + punti += 10; + break; + case 8: + punti += 2; + break; + case 9: + punti += 3; + break; + default: + break; + } + frame.giocata[0] = frame.giocata[1] = null; + if ( giocatore ) { + punteggio += punti; + if ( mano < 18 ) { + if ( frame.carteInMano[0] == null ) + frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteInMano[1] == null ) + frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteInMano[2] == null ) + frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare]; + cartaDaPescare++; + if ( frame.carteCPU[0] == null ) + frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteCPU[1] == null ) + frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteCPU[2] == null ) + frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare]; + cartaDaPescare++; + } + } + else { + punteggioCPU += punti; + if ( mano < 18 ) { + if ( frame.carteCPU[0] == null ) + frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteCPU[1] == null ) + frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteCPU[2] == null ) + frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare]; + cartaDaPescare++; + if ( frame.carteInMano[0] == null ) + frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteInMano[1] == null ) + frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare]; + if ( frame.carteInMano[2] == null ) + frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare]; + cartaDaPescare++; + } + } + frame.pannello.repaint(); + frame.repaint(); + } + public boolean haLisciato() { + char auxCPU[]; + auxCPU = frame.giocata[0].toString().toCharArray(); + return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && + (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) && + (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) ); + } + public boolean haMessoPunti() { + char auxCPU[]; + auxCPU = frame.giocata[0].toString().toCharArray(); + return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && + ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) || + (auxCPU[auxCPU.length-7] - 48 == 9 ) ) ); + } + public boolean haMessoBriscola() { + char auxCPU[]; + auxCPU = frame.giocata[0].toString().toCharArray(); + return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) ); + } + public boolean haCaricato() { + char auxCPU[]; + auxCPU = frame.giocata[0].toString().toCharArray(); + return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && + ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) ); + } + public boolean vaiLiscio() { + char auxCPU[]; + for ( int i = 0; i < 3; i++ ) { + if ( frame.carteCPU[i] != null ) { + auxCPU = frame.carteCPU[i].toString().toCharArray(); + if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && + (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) && + (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) ) { + cartaDaGiocare = i; + return true; + } + } + } + return false; + } + public boolean vaiPunti() { + char auxCPU[]; + for ( int i = 0; i < 3; i++ ) { + if ( frame.carteCPU[i] != null ) { + auxCPU = frame.carteCPU[i].toString().toCharArray(); + if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && + ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) || + (auxCPU[auxCPU.length-7] - 48 == 9 ) ) ) { + cartaDaGiocare = i; + return true; + } + } + } + return false; + } + public boolean vaiBriscola() { + char auxCPU[]; + for ( int i = 0; i < 3; i++ ) { + if ( frame.carteCPU[i] != null ) { + auxCPU = frame.carteCPU[i].toString().toCharArray(); + if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola ) { + cartaDaGiocare = i; + return true; + } + } + } + return false; + } + public boolean vaiCarico() { + char auxCPU[]; + for ( int i = 0; i < 3; i++ ) { + if ( frame.carteCPU[i] != null ) { + auxCPU = frame.carteCPU[i].toString().toCharArray(); + if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && + ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) ) { + cartaDaGiocare = i; + return true; + } + } + } + return false; + } + public boolean vaiSopra() { + if ( frame.giocata[0] == null ) + return false; + int a = -1; + int b = -1; + int c = -1; + boolean laPrimaPuoAndareSopra = false; + boolean laSecondaPuoAndareSopra = false; + boolean laTerzaPuoAndareSopra = false; + char[] auxCPU1 = new char[1024]; + char[] auxCPU2 = new char[1024]; + char[] auxCPU3 = new char[1024]; + char[] aux = frame.giocata[0].toString().toCharArray(); + if ( aux[aux.length-7] - 48 == 1 ) + return false; + if ( frame.carteCPU[0] != null ) { + auxCPU1 = frame.carteCPU[0].toString().toCharArray(); + a = auxCPU1[auxCPU1.length-7] - 48; + } + if ( frame.carteCPU[1] != null ) { + auxCPU2 = frame.carteCPU[1].toString().toCharArray(); + b = auxCPU2[auxCPU2.length-7] - 48; + } + if ( frame.carteCPU[2] != null ) { + auxCPU3 = frame.carteCPU[2].toString().toCharArray(); + c = auxCPU3[auxCPU3.length-7] - 48; + } + if ( (auxCPU1[auxCPU1.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( a, aux[aux.length-7] - 48 ) ) + laPrimaPuoAndareSopra = true; + if ( (auxCPU2[auxCPU2.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( b, aux[aux.length-7] - 48 ) ) + laSecondaPuoAndareSopra = true; + if ( (auxCPU3[auxCPU3.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( c, aux[aux.length-7] - 48 ) ) + laTerzaPuoAndareSopra = true; + if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra ) + return false; + else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra ) + cartaDaGiocare = 0; + else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra ) + cartaDaGiocare = 1; + else if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra ) + cartaDaGiocare = 2; + else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra ) + if ( laPrimaEPiuAlta( a, b ) ) + cartaDaGiocare = 0; + else + cartaDaGiocare = 1; + else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra ) + if ( laPrimaEPiuAlta( b, c ) ) + cartaDaGiocare = 1; + else + cartaDaGiocare = 2; + else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra ) + if ( laPrimaEPiuAlta( a, c ) ) + cartaDaGiocare = 0; + else + cartaDaGiocare = 2; + else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra ) + if ( laPrimaEPiuAlta( a, b ) ) + if ( laPrimaEPiuAlta( a, c ) ) + cartaDaGiocare = 0; + else + cartaDaGiocare = 2; + else + if ( laPrimaEPiuAlta( b, c ) ) + cartaDaGiocare = 1; + else + cartaDaGiocare = 2; + else cartaDaGiocare = 55; + return true; + } + public static void settaOpzioni() { + String lang; + Scanner scanner = null; + File file = new File( "JBriscolaConfig.txt" ); + if ( file.exists() ) { + try { + scanner = new Scanner( file ); + } catch ( FileNotFoundException e ) { + lang = "it"; + } + lang = scanner.next(); + } + else { + lang = "it"; + } + if ( lang.equals( "it" ) ) { + stringaBottonePrendi = "Prendi/Lascia carte"; + stringaPrimaGioca = "Prima Gioca!"; + stringaUltime4 = "Ultime 4 mani - Occhio alla briscola!"; + stringaVinto = "Hai Vinto!"; + stringaPerso = "Hai Perso"; + stringaPareggio = "Pareggio"; + stringaGiocatore = "Giocatore"; + stringaComputer = "\nComputer"; + stringaNuovaPartita = "Nuova Partita"; + stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?"; + stringaVuoiDavveroUscire = "Vuoi davvero dscire?"; + stringaSi = "Si"; + stringaNo = "No"; + stringaOpzioni = "Opzioni..."; + stringaEsci = "Esci"; + stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n"; + stringaLingua = "Lingua"; + stringaAnnulla = "Annulla"; + stringaIt = "Italiano"; + stringaLa = "Latino"; + stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua\nAlcune parti saranno comunque tradotte prima."; + stringaModificaOpzioni = "Modifica Opzioni"; + } + else if ( lang.equals( "la" ) ) { + stringaBottonePrendi = "CAPIS/RELINQVIS CHARTAS"; + stringaPrimaGioca = "ANTE CHARTAM PONE!"; + stringaUltime4 = "IV MANVS POSTREMAS - INTVERE BRISCOLAM!"; + stringaVinto = "VINXISTI!"; + stringaPerso = "PERDIDISTI"; + stringaPareggio = "AEQVATIO!"; + stringaGiocatore = "LVSOR: "; + stringaComputer = "\nCOMPVTER: "; + stringaNuovaPartita = "NOVA LVSO"; + stringaVuoiDavveroIniziare = "NOVAM LVSIONEM INCIPERE?"; + stringaVuoiDavveroUscire = "EXIRE?"; + stringaSi = "ID VOLO"; + stringaNo = "NOLO"; + stringaOpzioni = "OPTIONES..."; + stringaEsci = "EXIRE"; + stringaImpossibileConfigurare = "CONFIGVRATIONIS FILE SCRIBERE NON POTVI.\nERROREM ME CERTIOREM FACITE: sebastiano@luganega.org\n\nEXCEPTIO:\n"; + stringaLingua = "LINGVA"; + stringaAnnulla = "ABROGA"; + stringaIt = "ITALICE"; + stringaLa = "LATINE"; + stringaNecessarioRiavviare = "JBRISCOLAM RVRSVS INCIPERE NECESSE EST\nSI LINGVA PRAELATIONES NOVATAE SUNT.\nALIQVAE ANTE ID VERSA ERVNT"; + stringaModificaOpzioni = "OPTIONES NOVARE"; + } + } +} diff --git a/JBriscola/all_versions/0.1/0.1 Beta 2/src/OptionFrame.java b/JBriscola/all_versions/0.1/0.1 Beta 2/src/OptionFrame.java new file mode 100755 index 0000000..de6734b --- /dev/null +++ b/JBriscola/all_versions/0.1/0.1 Beta 2/src/OptionFrame.java @@ -0,0 +1,83 @@ +/* +Copyright 2009 Sebastiano Tronto + +This file is part of JBriscola. + + JBriscola is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + JBriscola is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with JBriscola; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +import java.util.Formatter; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class OptionFrame extends JFrame { + public static Main main = new Main(); + public static Formatter formatter; + public static JButton ok, annulla; + public static JLabel lingua; + public static JComboBox selezionaLingua; + public static JPanel pannello1, pannello2; + public OptionFrame() { + super( "JBriscola - " + main.stringaModificaOpzioni ); + ok = new JButton( "OK" ); + ok.addActionListener( new ActionListener() { + public void actionPerformed( ActionEvent e ) { + try { + formatter = new Formatter( "JBriscolaConfig.txt" ); + } catch ( Exception ex ) { + JOptionPane.showMessageDialog( OptionFrame.this, main.stringaImpossibileConfigurare + ex ); + } + String lang; + switch ( selezionaLingua.getSelectedIndex() ) { + case 0: + lang = "it"; + break; + case 1: + lang = "la"; + break; + default: + lang = "it"; + break; + } + formatter.format( lang ); + formatter.close(); + main.settaOpzioni(); + main.frame.pannello.repaint(); + main.frame.repaint(); + OptionFrame.this.dispose(); + JOptionPane.showMessageDialog( OptionFrame.this, main.stringaNecessarioRiavviare, "JBriscola 0.1", JOptionPane.INFORMATION_MESSAGE ); + } + }); + annulla = new JButton( main.stringaAnnulla ); + annulla.addActionListener( new ActionListener() { + public void actionPerformed( ActionEvent e ) { + OptionFrame.this.dispose(); + } + }); + lingua = new JLabel( main.stringaLingua ); + String[] lingueDaSelezionare = { main.stringaIt, main.stringaLa }; + selezionaLingua = new JComboBox( lingueDaSelezionare ); + pannello1 = new JPanel( new FlowLayout() ); + pannello1.add( lingua ); + pannello1.add( selezionaLingua ); + pannello2 = new JPanel( new FlowLayout() ); + pannello2.add( ok ); + pannello2.add( annulla ); + add( pannello1, BorderLayout.CENTER ); + add( pannello2, BorderLayout.SOUTH ); + } +} diff --git a/JBriscola/all_versions/0.1/0.1 Beta 2/src/Pannello.java b/JBriscola/all_versions/0.1/0.1 Beta 2/src/Pannello.java new file mode 100755 index 0000000..9e73356 --- /dev/null +++ b/JBriscola/all_versions/0.1/0.1 Beta 2/src/Pannello.java @@ -0,0 +1,53 @@ +/* +Copyright 2009 Sebastiano Tronto + +This file is part of JBriscola. + + JBriscola is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + JBriscola is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with JBriscola; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +import javax.swing.*; +import java.awt.Graphics; + +public class Pannello extends JPanel { + public static Main main; + public Pannello() { + } + public void paint( Graphics g ) { + super.paint( g ); + if ( main.frame.ultimaCarta != null ) + main.frame.ultimaCarta.paintIcon( this, g, 50, 180 ); + if ( main.frame.mazzo ) + main.frame.retro2.paintIcon( this, g, 17, 256 ); + if ( main.frame.carteCPU[0] != null ) + main.frame.retro1.paintIcon( this, g, 230, 5 ); + if ( main.frame.carteCPU[1] != null ) + main.frame.retro1.paintIcon( this, g, 300, 5 ); + if ( main.frame.carteCPU[2] != null ) + main.frame.retro1.paintIcon( this, g, 370, 5 ); + if ( main.frame.carteInMano[0] != null ) + main.frame.carteInMano[0].paintIcon( this, g, 230, 340 ); + if ( main.frame.carteInMano[1] != null ) + main.frame.carteInMano[1].paintIcon( this, g, 300, 340 ); + if ( main.frame.carteInMano[2] != null ) + main.frame.carteInMano[2].paintIcon( this, g, 370, 340 ); + if ( main.frame.giocata[0] != null ) + main.frame.giocata[0].paintIcon( this, g, 250, 200 ); + if ( main.frame.giocata[1] != null ) + main.frame.giocata[1].paintIcon( this, g, 325, 150 ); + } +} + -- cgit v1.3