aboutsummaryrefslogtreecommitdiff
path: root/JBriscola/all_versions/0.1
diff options
context:
space:
mode:
Diffstat (limited to 'JBriscola/all_versions/0.1')
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Alpha 1/src/Frame.java118
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Alpha 1/src/Main.java211
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Alpha 1/src/Pannello.java53
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Beta 1/src/Frame.java159
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Beta 1/src/Main.java399
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Beta 1/src/Pannello.java53
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Beta 2/src/Frame.java174
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Beta 2/src/Main.java492
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Beta 2/src/OptionFrame.java83
-rwxr-xr-xJBriscola/all_versions/0.1/0.1 Beta 2/src/Pannello.java53
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/Frame.java186
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/Main.java708
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/OptionFrame.java87
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/Pannello.java53
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/1-1.jpgbin0 -> 3893 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/1-2.jpgbin0 -> 3688 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/1-3.jpgbin0 -> 3616 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/1-4.jpgbin0 -> 3827 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/10-1.jpgbin0 -> 3375 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/10-2.jpgbin0 -> 3831 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/10-3.jpgbin0 -> 3699 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/10-4.jpgbin0 -> 3638 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/2-1.jpgbin0 -> 3351 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/2-2.jpgbin0 -> 3228 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/2-3.jpgbin0 -> 3111 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/2-4.jpgbin0 -> 3711 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/3-1.jpgbin0 -> 3527 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/3-2.jpgbin0 -> 3249 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/3-3.jpgbin0 -> 3235 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/3-4.jpgbin0 -> 3647 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/4-1.jpgbin0 -> 3616 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/4-2.jpgbin0 -> 3640 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/4-3.jpgbin0 -> 3121 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/4-4.jpgbin0 -> 3867 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/5-1.jpgbin0 -> 3703 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/5-2.jpgbin0 -> 3535 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/5-3.jpgbin0 -> 2854 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/5-4.jpgbin0 -> 3829 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/6-1.jpgbin0 -> 3717 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/6-2.jpgbin0 -> 3673 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/6-3.jpgbin0 -> 3140 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/6-4.jpgbin0 -> 3982 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/7-1.jpgbin0 -> 3798 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/7-2.jpgbin0 -> 3630 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/7-3.jpgbin0 -> 3265 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/7-4.jpgbin0 -> 3958 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/8-1.jpgbin0 -> 3777 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/8-2.jpgbin0 -> 3694 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/8-3.jpgbin0 -> 3742 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/8-4.jpgbin0 -> 3526 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/9-1.jpgbin0 -> 3558 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/9-2.jpgbin0 -> 3614 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/9-3.jpgbin0 -> 3485 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/9-4.jpgbin0 -> 3542 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/carte.jpgbin0 -> 348200 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/retro1.jpgbin0 -> 3850 bytes
-rwxr-xr-xJBriscola/all_versions/0.1/0.1.1/src/img/retro2.jpgbin0 -> 3848 bytes
57 files changed, 2829 insertions, 0 deletions
diff --git a/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Frame.java b/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Frame.java
new file mode 100755
index 0000000..a372588
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Frame.java
@@ -0,0 +1,118 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.*;
24import java.awt.event.*;
25
26public class Frame extends JFrame {
27 public static boolean mazzo;
28 public static Main main;
29 public static Pannello pannello;
30 public static JButton button;
31 public static ImageIcon retro1, retro2, ultimaCarta;
32 public static ImageIcon[] giocata = new ImageIcon[2];
33 public static ImageIcon[] carteInMano = new ImageIcon[3];
34 public static ImageIcon[] carteCPU = new ImageIcon[3];
35 public static ImageIcon[] arrayCarteMescolate = new ImageIcon[40];
36 public static ImageIcon[][] arrayCarte = new ImageIcon[10][4];
37 public Frame() {
38 super( "Tronto's JBriscola 0.1" );
39 mazzo = true;
40 main = new Main();
41 pannello = new Pannello();
42 button = new JButton( "Prendi/Lascia carte" );
43 button.addActionListener( new ActionListener() {
44 public void actionPerformed( ActionEvent e ) {
45 if ( giocata[0] != null && giocata[1] != null )
46 main.mano++;
47 else
48 JOptionPane.showMessageDialog( Frame.this, "Prima gioca!" );
49 try {
50 main.chiPrende();
51 } catch ( Exception ex ) {
52 JOptionPane.showMessageDialog( Frame.this, "Prima gioca!" );
53 }
54 if ( main.mano == 16 )
55 JOptionPane.showMessageDialog( Frame.this, "Ultime 4 mani - occhio alla briscola!" );
56 if ( main.mano == 17 ) {
57 mazzo = false;
58 ultimaCarta = null;
59 pannello.repaint();
60 Frame.this.repaint();
61 }
62 if ( main.mano == 20 )
63 JOptionPane.showMessageDialog( Frame.this, "Giocatore: " + main.punteggio + "\nComputer: " + main.punteggioCPU + "\n\nMa grazie tante, il computer gioca a caso!\nNon serve che ti gasi tanto." );
64 }
65 } );
66 retro1 = new ImageIcon( ClassLoader.getSystemResource( "img/retro1.jpg" ) );
67 retro2 = new ImageIcon( ClassLoader.getSystemResource( "img/retro2.jpg" ) );
68 for (int i = 0; i < 10; i++)
69 for (int j = 0; j < 4; j++)
70 arrayCarte[i][j] = new ImageIcon( ClassLoader.getSystemResource( "img/" + (i+1) + "-" + (j+1) + ".jpg" ) );
71 main.mischia();
72 carteInMano[0] = arrayCarteMescolate[0];
73 carteInMano[1] = arrayCarteMescolate[1];
74 carteInMano[2] = arrayCarteMescolate[2];
75 carteCPU[0] = arrayCarteMescolate[3];
76 carteCPU[1] = arrayCarteMescolate[4];
77 carteCPU[2] = arrayCarteMescolate[5];
78 ultimaCarta = arrayCarteMescolate[39];
79 setLayout( new BorderLayout() );
80 add( pannello, BorderLayout.CENTER );
81 add( button, BorderLayout.SOUTH );
82 addMouseListener(
83 new MouseAdapter() {
84 public void mouseClicked ( MouseEvent e ) {
85 if ( mettiCarta( e.getX(), e.getY() ) ) {
86 if ( !main.CPUHaGiocato )
87 main.giocaCPU();
88 }
89 }
90 }
91 );
92 }
93 public boolean mettiCarta( int x, int y ) {
94 if ( !main.toccaAllaCPU && giocata[0] == null ) {
95 if ( x > 230 && x < 290 && y > 340 && y < 566 ) {
96 giocata[0] = carteInMano[0];
97 carteInMano[0] = null;
98 pannello.repaint();
99 return true;
100 }
101 if ( x > 300 && x < 360 && y > 340 && y < 566 ) {
102 giocata[0] = carteInMano[1];
103 carteInMano[1] = null;
104 pannello.repaint();
105 return true;
106 }
107 if ( x > 370 && x < 430 && y > 340 && y < 566 ) {
108 giocata[0] = carteInMano[2];
109 carteInMano[2] = null;
110 pannello.repaint();
111 return true;
112 }
113 }
114 return false;
115 }
116}
117
118
diff --git a/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Main.java b/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Main.java
new file mode 100755
index 0000000..22f6e47
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Main.java
@@ -0,0 +1,211 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23
24public class Main {
25 public static int semeBriscola, punteggio, punteggioCPU, mano, cartaDaPescare;
26 public static boolean toccaAllaCPU = false;
27 public static boolean CPUHaGiocato = false;
28 public static boolean haGiocatoPrima = true;
29 public static Frame frame;
30 public static void main( String args[] ) {
31 frame = new Frame();
32 frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
33 frame.setVisible( true );
34 frame.setResizable( false );
35 frame.setSize( 600, 550 );
36 }
37 public void mischia() {
38 mano = 0;
39 cartaDaPescare = 6;
40 ImageIcon aux;
41 for ( int i = 0, k = 0; i < 10; i++ )
42 for ( int j = 0; j < 4; j++, k++ )
43 frame.arrayCarteMescolate[k] = frame.arrayCarte[i][j];
44 for ( int i = 0; i < 391; i++ ) {
45 double a = Math.random() * 40;
46 int x = (int) a;
47 double b = Math.random() * 40;
48 int y = (int) b;
49 aux = frame.arrayCarteMescolate[x];
50 frame.arrayCarteMescolate[x] = frame.arrayCarteMescolate[y];
51 frame.arrayCarteMescolate[y] = aux;
52 }
53 char auxChar[] = frame.arrayCarteMescolate[39].toString().toCharArray();
54 semeBriscola = auxChar[auxChar.length-5] - 49;
55 }
56 public void giocaCPU() {
57 int cartaDaGiocare;
58 /*******************************************/
59 if ( frame.carteCPU[0] != null )
60 cartaDaGiocare = 0;
61 else if ( frame.carteCPU[1] != null )
62 cartaDaGiocare = 1;
63 else
64 cartaDaGiocare = 2;
65 /*******************************************/
66 frame.giocata[1] = frame.carteCPU[cartaDaGiocare];
67 frame.carteCPU[cartaDaGiocare] = null;
68 frame.pannello.repaint();
69 CPUHaGiocato = true;
70 if ( frame.giocata[0] == null )
71 toccaAllaCPU = false;
72 }
73 public void chiPrende() {
74 char aux[], auxCPU[];
75 aux = frame.giocata[0].toString().toCharArray();
76 auxCPU = frame.giocata[1].toString().toCharArray();
77 giocatorePrende( ( (aux[aux.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) )
78 || ( (aux[aux.length-5] == auxCPU[auxCPU.length-5]) && laPrimaEPiuAlta( aux[aux.length-7] - 48, auxCPU[auxCPU.length-7] - 48 ) )
79 || ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (aux[aux.length-5] != auxCPU[auxCPU.length-5]) && haGiocatoPrima ) );
80 }
81 public boolean laPrimaEPiuAlta( int prima, int seconda ) {
82 int a, b;
83 switch ( prima ) {
84 case 0:
85 a = 10;
86 break;
87 case 1:
88 a = 12;
89 break;
90 case 3:
91 a = 11;
92 break;
93 default:
94 a = prima;
95 break;
96 }
97 switch ( seconda ) {
98 case 0:
99 b = 10;
100 break;
101 case 1:
102 b = 12;
103 break;
104 case 3:
105 b = 11;
106 break;
107 default:
108 b = seconda;
109 break;
110 }
111 return a > b;
112 }
113 public void giocatorePrende( boolean giocatore ) {
114 if ( giocatore ) {
115 toccaAllaCPU = CPUHaGiocato = false;
116 haGiocatoPrima = true;
117 }
118 else {
119 toccaAllaCPU = true;
120 CPUHaGiocato = haGiocatoPrima = false;
121 }
122 daiPunti( giocatore );
123 if ( toccaAllaCPU )
124 giocaCPU();
125 }
126 public void daiPunti( boolean giocatore ) {
127 char aux[], auxCPU[];
128 aux = frame.giocata[0].toString().toCharArray();
129 auxCPU = frame.giocata[1].toString().toCharArray();
130 int punti = 0;
131 switch( aux[aux.length-7] - 48 ) {
132 case 0:
133 punti += 4;
134 break;
135 case 1:
136 punti += 11;
137 break;
138 case 3:
139 punti += 10;
140 break;
141 case 8:
142 punti += 2;
143 break;
144 case 9:
145 punti += 3;
146 break;
147 default:
148 break;
149 }
150 switch( auxCPU[auxCPU.length-7] - 48 ) {
151 case 0:
152 punti += 4;
153 break;
154 case 1:
155 punti += 11;
156 break;
157 case 3:
158 punti += 10;
159 break;
160 case 8:
161 punti += 2;
162 break;
163 case 9:
164 punti += 3;
165 break;
166 default:
167 break;
168 }
169 frame.giocata[0] = frame.giocata[1] = null;
170 if ( giocatore ) {
171 punteggio += punti;
172 if ( mano < 18 ) {
173 if ( frame.carteInMano[0] == null )
174 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
175 if ( frame.carteInMano[1] == null )
176 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
177 if ( frame.carteInMano[2] == null )
178 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
179 cartaDaPescare++;
180 if ( frame.carteCPU[0] == null )
181 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
182 if ( frame.carteCPU[1] == null )
183 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
184 if ( frame.carteCPU[2] == null )
185 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
186 cartaDaPescare++;
187 }
188 }
189 else {
190 punteggioCPU += punti;
191 if ( mano < 18 ) {
192 if ( frame.carteCPU[0] == null )
193 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
194 if ( frame.carteCPU[1] == null )
195 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
196 if ( frame.carteCPU[2] == null )
197 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
198 cartaDaPescare++;
199 if ( frame.carteInMano[0] == null )
200 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
201 if ( frame.carteInMano[1] == null )
202 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
203 if ( frame.carteInMano[2] == null )
204 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
205 cartaDaPescare++;
206 }
207 }
208 frame.pannello.repaint();
209 frame.repaint();
210 }
211}
diff --git a/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Pannello.java b/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Pannello.java
new file mode 100755
index 0000000..9e73356
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1 Alpha 1/src/Pannello.java
@@ -0,0 +1,53 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.Graphics;
24
25public class Pannello extends JPanel {
26 public static Main main;
27 public Pannello() {
28 }
29 public void paint( Graphics g ) {
30 super.paint( g );
31 if ( main.frame.ultimaCarta != null )
32 main.frame.ultimaCarta.paintIcon( this, g, 50, 180 );
33 if ( main.frame.mazzo )
34 main.frame.retro2.paintIcon( this, g, 17, 256 );
35 if ( main.frame.carteCPU[0] != null )
36 main.frame.retro1.paintIcon( this, g, 230, 5 );
37 if ( main.frame.carteCPU[1] != null )
38 main.frame.retro1.paintIcon( this, g, 300, 5 );
39 if ( main.frame.carteCPU[2] != null )
40 main.frame.retro1.paintIcon( this, g, 370, 5 );
41 if ( main.frame.carteInMano[0] != null )
42 main.frame.carteInMano[0].paintIcon( this, g, 230, 340 );
43 if ( main.frame.carteInMano[1] != null )
44 main.frame.carteInMano[1].paintIcon( this, g, 300, 340 );
45 if ( main.frame.carteInMano[2] != null )
46 main.frame.carteInMano[2].paintIcon( this, g, 370, 340 );
47 if ( main.frame.giocata[0] != null )
48 main.frame.giocata[0].paintIcon( this, g, 250, 200 );
49 if ( main.frame.giocata[1] != null )
50 main.frame.giocata[1].paintIcon( this, g, 325, 150 );
51 }
52}
53
diff --git a/JBriscola/all_versions/0.1/0.1 Beta 1/src/Frame.java b/JBriscola/all_versions/0.1/0.1 Beta 1/src/Frame.java
new file mode 100755
index 0000000..452cfe2
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1 Beta 1/src/Frame.java
@@ -0,0 +1,159 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.*;
24import java.awt.event.*;
25
26public class Frame extends JFrame {
27 public static boolean mazzo;
28 public static Main main;
29 public static Pannello pannello;
30 public static JButton button;
31 public static JMenuBar barraMenu;
32 public static JMenu file;
33 public static JMenuItem nuovaPartita, esci;
34 public static ImageIcon retro1, retro2, ultimaCarta;
35 public static ImageIcon[] giocata = new ImageIcon[2];
36 public static ImageIcon[] carteInMano = new ImageIcon[3];
37 public static ImageIcon[] carteCPU = new ImageIcon[3];
38 public static ImageIcon[] arrayCarteMescolate = new ImageIcon[40];
39 public static ImageIcon[][] arrayCarte = new ImageIcon[10][4];
40 public Frame() {
41 super( "Tronto's JBriscola 0.1" );
42 mazzo = true;
43 main = new Main();
44 pannello = new Pannello();
45 button = new JButton( "Prendi/Lascia carte" );
46 button.addActionListener( new ActionListener() {
47 public void actionPerformed( ActionEvent e ) {
48 if ( giocata[0] != null && giocata[1] != null )
49 main.mano++;
50 try {
51 main.chiPrende();
52 } catch ( Exception ex ) {
53 JOptionPane.showMessageDialog( Frame.this, "Prima gioca!" );
54 }
55 if ( main.mano == 16 )
56 JOptionPane.showMessageDialog( Frame.this, "Ultime 4 mani - occhio alla briscola!" );
57 if ( main.mano == 17 ) {
58 mazzo = false;
59 ultimaCarta = null;
60 pannello.repaint();
61 Frame.this.repaint();
62 }
63 if ( main.mano == 20 ) {
64 String titolo = "Hai vinto!";
65 if ( main.punteggio < main.punteggioCPU )
66 titolo = "Hai perso";
67 if ( main.punteggio == main.punteggioCPU )
68 titolo = "Pareggio!";
69 JOptionPane.showMessageDialog( Frame.this, "Giocatore: " + main.punteggio + "\nComputer: " + main.punteggioCPU, titolo, JOptionPane.PLAIN_MESSAGE );
70 }
71 }
72 } );
73 barraMenu = new JMenuBar();
74 file = new JMenu( "File" );
75 nuovaPartita = new JMenuItem( "Nuova Partita" );
76 nuovaPartita.addActionListener( new ActionListener() {
77 public void actionPerformed( ActionEvent e ) {
78 if ( main.mano == 20 ) {
79 main.mischia();
80 pannello.repaint();
81 repaint();
82 }
83 else {
84 int selezione = JOptionPane.showOptionDialog( Frame.this, "Vuoi davvero iniziare una nuova partita?", "JBriscola 0.1", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { "Si", "No" }, "No" );
85 if ( selezione == JOptionPane.YES_OPTION ) {
86 main.mischia();
87 pannello.repaint();
88 repaint();
89 }
90 }
91 }
92 });
93 esci = new JMenuItem( "Esci" );
94 esci.addActionListener( new ActionListener() {
95 public void actionPerformed( ActionEvent e ) {
96 int selezione = JOptionPane.showOptionDialog( Frame.this, "Vuoi davvero uscire?", "JBriscola 0.1", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { "Si", "No" }, "No" );
97 if ( selezione == JOptionPane.YES_OPTION )
98 Frame.this.dispose();
99 }
100 });
101 file.add( nuovaPartita );
102 file.add( esci );
103 barraMenu.add( file );
104 setJMenuBar( barraMenu );
105 retro1 = new ImageIcon( ClassLoader.getSystemResource( "img/retro1.jpg" ) );
106 retro2 = new ImageIcon( ClassLoader.getSystemResource( "img/retro2.jpg" ) );
107 for (int i = 0; i < 10; i++)
108 for (int j = 0; j < 4; j++)
109 arrayCarte[i][j] = new ImageIcon( ClassLoader.getSystemResource( "img/" + (i+1) + "-" + (j+1) + ".jpg" ) );
110 main.mischia();
111 setLayout( new BorderLayout() );
112 add( pannello, BorderLayout.CENTER );
113 add( button, BorderLayout.SOUTH );
114 addMouseListener(
115 new MouseAdapter() {
116 public void mouseClicked ( MouseEvent e ) {
117 if ( mettiCarta( e.getX(), e.getY() ) ) {
118 if ( !main.CPUHaGiocato )
119 main.giocaCPU();
120 }
121 }
122 }
123 );
124 addWindowListener(
125 new WindowAdapter() {
126 public void windowClosing( WindowEvent e ) {
127 int selezione = JOptionPane.showOptionDialog( Frame.this, "Vuoi davvero uscire?", "JBriscola 0.1", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { "Si", "No" }, "No" );
128 if ( selezione == JOptionPane.YES_OPTION )
129 System.exit( 0 );
130 }
131 }
132 );
133 }
134 public boolean mettiCarta( int x, int y ) {
135 if ( !main.toccaAllaCPU && giocata[0] == null ) {
136 if ( x > 230 && x < 290 && y > 340 && y < 566 ) {
137 giocata[0] = carteInMano[0];
138 carteInMano[0] = null;
139 pannello.repaint();
140 return true;
141 }
142 if ( x > 300 && x < 360 && y > 340 && y < 566 ) {
143 giocata[0] = carteInMano[1];
144 carteInMano[1] = null;
145 pannello.repaint();
146 return true;
147 }
148 if ( x > 370 && x < 430 && y > 340 && y < 566 ) {
149 giocata[0] = carteInMano[2];
150 carteInMano[2] = null;
151 pannello.repaint();
152 return true;
153 }
154 }
155 return false;
156 }
157}
158
159
diff --git a/JBriscola/all_versions/0.1/0.1 Beta 1/src/Main.java b/JBriscola/all_versions/0.1/0.1 Beta 1/src/Main.java
new file mode 100755
index 0000000..f844dd8
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1 Beta 1/src/Main.java
@@ -0,0 +1,399 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23
24public class Main {
25 public static int semeBriscola, punteggio, punteggioCPU, mano, cartaDaPescare, cartaDaGiocare;
26 public static boolean toccaAllaCPU = false;
27 public static boolean CPUHaGiocato = false;
28 public static boolean haGiocatoPrima = true;
29 public static Frame frame;
30 public static void main( String args[] ) {
31 frame = new Frame();
32 frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
33 frame.setVisible( true );
34 frame.setResizable( false );
35 frame.setSize( 600, 600 );
36 }
37 public void mischia() {
38 mano = 0;
39 punteggio = 0;
40 punteggioCPU = 0;
41 cartaDaPescare = 6;
42 ImageIcon aux;
43 frame.mazzo = true;
44 toccaAllaCPU = false;
45 CPUHaGiocato = false;
46 haGiocatoPrima = true;
47 for ( int i = 0, k = 0; i < 10; i++ )
48 for ( int j = 0; j < 4; j++, k++ )
49 frame.arrayCarteMescolate[k] = frame.arrayCarte[i][j];
50 for ( int i = 0; i < 391; i++ ) {
51 double a = Math.random() * 40;
52 int x = (int) a;
53 double b = Math.random() * 40;
54 int y = (int) b;
55 aux = frame.arrayCarteMescolate[x];
56 frame.arrayCarteMescolate[x] = frame.arrayCarteMescolate[y];
57 frame.arrayCarteMescolate[y] = aux;
58 }
59 char auxChar[] = frame.arrayCarteMescolate[39].toString().toCharArray();
60 semeBriscola = auxChar[auxChar.length-5] - 49;
61 frame.carteInMano[0] = frame.arrayCarteMescolate[0];
62 frame.carteInMano[1] = frame.arrayCarteMescolate[1];
63 frame.carteInMano[2] = frame.arrayCarteMescolate[2];
64 frame.carteCPU[0] = frame.arrayCarteMescolate[3];
65 frame.carteCPU[1] = frame.arrayCarteMescolate[4];
66 frame.carteCPU[2] = frame.arrayCarteMescolate[5];
67 frame.ultimaCarta = frame.arrayCarteMescolate[39];
68 frame.giocata[0] = null;
69 frame.giocata[1] = null;
70 }
71 public void giocaCPU() {
72 if ( frame.giocata[0] == null ) {
73 if ( vaiLiscio() );
74 else if ( vaiPunti() );
75 else if ( vaiBriscola() );
76 else if ( vaiCarico() );
77 else;
78 }
79 else {
80 if ( haLisciato() || haMessoPunti() ) {
81 if ( vaiSopra() );
82 else if ( vaiLiscio() );
83 else if ( vaiPunti() );
84 else if ( vaiBriscola() );
85 else if ( vaiCarico() );
86 else System.out.println("Ha lisciato e non so cosa fare");
87 } else if ( haMessoBriscola() ) {
88 if ( vaiLiscio() );
89 else if ( vaiPunti() );
90 else if ( vaiBriscola() );
91 else if ( vaiCarico() );
92 else System.out.println("Ha messo una briscola e non so cosa fare");
93 } else if ( haCaricato() ) {
94 if ( vaiSopra() );
95 else if ( vaiBriscola() );
96 else if ( vaiLiscio() );
97 else if ( vaiPunti() );
98 else if ( vaiCarico() );
99 else System.out.println("Ha caricato e non so cosa fare");
100 } else System.out.println("Non so cosa ha fatto");
101 }
102 frame.giocata[1] = frame.carteCPU[cartaDaGiocare];
103 frame.carteCPU[cartaDaGiocare] = null;
104 frame.pannello.repaint();
105 CPUHaGiocato = true;
106 if ( frame.giocata[0] == null )
107 toccaAllaCPU = false;
108 }
109 public void chiPrende() {
110 char aux[], auxCPU[];
111 aux = frame.giocata[0].toString().toCharArray();
112 auxCPU = frame.giocata[1].toString().toCharArray();
113 giocatorePrende( ( (aux[aux.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) )
114 || ( (aux[aux.length-5] == auxCPU[auxCPU.length-5]) && laPrimaEPiuAlta( aux[aux.length-7] - 48, auxCPU[auxCPU.length-7] - 48 ) )
115 || ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (aux[aux.length-5] != auxCPU[auxCPU.length-5]) && haGiocatoPrima ) );
116 }
117 public boolean laPrimaEPiuAlta( int prima, int seconda ) {
118 int a, b;
119 switch ( prima ) {
120 case 0:
121 a = 10;
122 break;
123 case 1:
124 a = 12;
125 break;
126 case 3:
127 a = 11;
128 break;
129 default:
130 a = prima;
131 break;
132 }
133 switch ( seconda ) {
134 case 0:
135 b = 10;
136 break;
137 case 1:
138 b = 12;
139 break;
140 case 3:
141 b = 11;
142 break;
143 default:
144 b = seconda;
145 break;
146 }
147 return a > b;
148 }
149 public void giocatorePrende( boolean giocatore ) {
150 if ( giocatore ) {
151 toccaAllaCPU = CPUHaGiocato = false;
152 haGiocatoPrima = true;
153 }
154 else {
155 toccaAllaCPU = true;
156 CPUHaGiocato = haGiocatoPrima = false;
157 }
158 daiPunti( giocatore );
159 if ( toccaAllaCPU )
160 giocaCPU();
161 }
162 public void daiPunti( boolean giocatore ) {
163 char aux[], auxCPU[];
164 aux = frame.giocata[0].toString().toCharArray();
165 auxCPU = frame.giocata[1].toString().toCharArray();
166 int punti = 0;
167 switch( aux[aux.length-7] - 48 ) {
168 case 0:
169 punti += 4;
170 break;
171 case 1:
172 punti += 11;
173 break;
174 case 3:
175 punti += 10;
176 break;
177 case 8:
178 punti += 2;
179 break;
180 case 9:
181 punti += 3;
182 break;
183 default:
184 break;
185 }
186 switch( auxCPU[auxCPU.length-7] - 48 ) {
187 case 0:
188 punti += 4;
189 break;
190 case 1:
191 punti += 11;
192 break;
193 case 3:
194 punti += 10;
195 break;
196 case 8:
197 punti += 2;
198 break;
199 case 9:
200 punti += 3;
201 break;
202 default:
203 break;
204 }
205 frame.giocata[0] = frame.giocata[1] = null;
206 if ( giocatore ) {
207 punteggio += punti;
208 if ( mano < 18 ) {
209 if ( frame.carteInMano[0] == null )
210 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
211 if ( frame.carteInMano[1] == null )
212 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
213 if ( frame.carteInMano[2] == null )
214 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
215 cartaDaPescare++;
216 if ( frame.carteCPU[0] == null )
217 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
218 if ( frame.carteCPU[1] == null )
219 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
220 if ( frame.carteCPU[2] == null )
221 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
222 cartaDaPescare++;
223 }
224 }
225 else {
226 punteggioCPU += punti;
227 if ( mano < 18 ) {
228 if ( frame.carteCPU[0] == null )
229 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
230 if ( frame.carteCPU[1] == null )
231 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
232 if ( frame.carteCPU[2] == null )
233 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
234 cartaDaPescare++;
235 if ( frame.carteInMano[0] == null )
236 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
237 if ( frame.carteInMano[1] == null )
238 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
239 if ( frame.carteInMano[2] == null )
240 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
241 cartaDaPescare++;
242 }
243 }
244 frame.pannello.repaint();
245 frame.repaint();
246 }
247 public boolean haLisciato() {
248 char auxCPU[];
249 auxCPU = frame.giocata[0].toString().toCharArray();
250 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
251 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
252 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) );
253 }
254 public boolean haMessoPunti() {
255 char auxCPU[];
256 auxCPU = frame.giocata[0].toString().toCharArray();
257 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
258 ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) ||
259 (auxCPU[auxCPU.length-7] - 48 == 9 ) ) );
260 }
261 public boolean haMessoBriscola() {
262 char auxCPU[];
263 auxCPU = frame.giocata[0].toString().toCharArray();
264 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) );
265 }
266 public boolean haCaricato() {
267 char auxCPU[];
268 auxCPU = frame.giocata[0].toString().toCharArray();
269 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
270 ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) );
271 }
272 public boolean vaiLiscio() {
273 char auxCPU[];
274 for ( int i = 0; i < 3; i++ ) {
275 if ( frame.carteCPU[i] != null ) {
276 auxCPU = frame.carteCPU[i].toString().toCharArray();
277 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
278 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
279 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) ) {
280 cartaDaGiocare = i;
281 return true;
282 }
283 }
284 }
285 return false;
286 }
287 public boolean vaiPunti() {
288 char auxCPU[];
289 for ( int i = 0; i < 3; i++ ) {
290 if ( frame.carteCPU[i] != null ) {
291 auxCPU = frame.carteCPU[i].toString().toCharArray();
292 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
293 ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) ||
294 (auxCPU[auxCPU.length-7] - 48 == 9 ) ) ) {
295 cartaDaGiocare = i;
296 return true;
297 }
298 }
299 }
300 return false;
301 }
302 public boolean vaiBriscola() {
303 char auxCPU[];
304 for ( int i = 0; i < 3; i++ ) {
305 if ( frame.carteCPU[i] != null ) {
306 auxCPU = frame.carteCPU[i].toString().toCharArray();
307 if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola ) {
308 cartaDaGiocare = i;
309 return true;
310 }
311 }
312 }
313 return false;
314 }
315 public boolean vaiCarico() {
316 char auxCPU[];
317 for ( int i = 0; i < 3; i++ ) {
318 if ( frame.carteCPU[i] != null ) {
319 auxCPU = frame.carteCPU[i].toString().toCharArray();
320 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
321 ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) ) {
322 cartaDaGiocare = i;
323 return true;
324 }
325 }
326 }
327 return false;
328 }
329 public boolean vaiSopra() {
330 if ( frame.giocata[0] == null )
331 return false;
332 int a = -1;
333 int b = -1;
334 int c = -1;
335 boolean laPrimaPuoAndareSopra = false;
336 boolean laSecondaPuoAndareSopra = false;
337 boolean laTerzaPuoAndareSopra = false;
338 char[] auxCPU1 = new char[1024];
339 char[] auxCPU2 = new char[1024];
340 char[] auxCPU3 = new char[1024];
341 char[] aux = frame.giocata[0].toString().toCharArray();
342 if ( aux[aux.length-7] - 48 == 1 )
343 return false;
344 if ( frame.carteCPU[0] != null ) {
345 auxCPU1 = frame.carteCPU[0].toString().toCharArray();
346 a = auxCPU1[auxCPU1.length-7] - 48;
347 }
348 if ( frame.carteCPU[1] != null ) {
349 auxCPU2 = frame.carteCPU[1].toString().toCharArray();
350 b = auxCPU2[auxCPU2.length-7] - 48;
351 }
352 if ( frame.carteCPU[2] != null ) {
353 auxCPU3 = frame.carteCPU[2].toString().toCharArray();
354 c = auxCPU3[auxCPU3.length-7] - 48;
355 }
356 if ( (auxCPU1[auxCPU1.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( a, aux[aux.length-7] - 48 ) )
357 laPrimaPuoAndareSopra = true;
358 if ( (auxCPU2[auxCPU2.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( b, aux[aux.length-7] - 48 ) )
359 laSecondaPuoAndareSopra = true;
360 if ( (auxCPU3[auxCPU3.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( c, aux[aux.length-7] - 48 ) )
361 laTerzaPuoAndareSopra = true;
362 if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
363 return false;
364 else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
365 cartaDaGiocare = 0;
366 else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
367 cartaDaGiocare = 1;
368 else if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
369 cartaDaGiocare = 2;
370 else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
371 if ( laPrimaEPiuAlta( a, b ) )
372 cartaDaGiocare = 0;
373 else
374 cartaDaGiocare = 1;
375 else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
376 if ( laPrimaEPiuAlta( b, c ) )
377 cartaDaGiocare = 1;
378 else
379 cartaDaGiocare = 2;
380 else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
381 if ( laPrimaEPiuAlta( a, c ) )
382 cartaDaGiocare = 0;
383 else
384 cartaDaGiocare = 2;
385 else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
386 if ( laPrimaEPiuAlta( a, b ) )
387 if ( laPrimaEPiuAlta( a, c ) )
388 cartaDaGiocare = 0;
389 else
390 cartaDaGiocare = 2;
391 else
392 if ( laPrimaEPiuAlta( b, c ) )
393 cartaDaGiocare = 1;
394 else
395 cartaDaGiocare = 2;
396 else cartaDaGiocare = 55;
397 return true;
398 }
399}
diff --git a/JBriscola/all_versions/0.1/0.1 Beta 1/src/Pannello.java b/JBriscola/all_versions/0.1/0.1 Beta 1/src/Pannello.java
new file mode 100755
index 0000000..9e73356
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1 Beta 1/src/Pannello.java
@@ -0,0 +1,53 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.Graphics;
24
25public class Pannello extends JPanel {
26 public static Main main;
27 public Pannello() {
28 }
29 public void paint( Graphics g ) {
30 super.paint( g );
31 if ( main.frame.ultimaCarta != null )
32 main.frame.ultimaCarta.paintIcon( this, g, 50, 180 );
33 if ( main.frame.mazzo )
34 main.frame.retro2.paintIcon( this, g, 17, 256 );
35 if ( main.frame.carteCPU[0] != null )
36 main.frame.retro1.paintIcon( this, g, 230, 5 );
37 if ( main.frame.carteCPU[1] != null )
38 main.frame.retro1.paintIcon( this, g, 300, 5 );
39 if ( main.frame.carteCPU[2] != null )
40 main.frame.retro1.paintIcon( this, g, 370, 5 );
41 if ( main.frame.carteInMano[0] != null )
42 main.frame.carteInMano[0].paintIcon( this, g, 230, 340 );
43 if ( main.frame.carteInMano[1] != null )
44 main.frame.carteInMano[1].paintIcon( this, g, 300, 340 );
45 if ( main.frame.carteInMano[2] != null )
46 main.frame.carteInMano[2].paintIcon( this, g, 370, 340 );
47 if ( main.frame.giocata[0] != null )
48 main.frame.giocata[0].paintIcon( this, g, 250, 200 );
49 if ( main.frame.giocata[1] != null )
50 main.frame.giocata[1].paintIcon( this, g, 325, 150 );
51 }
52}
53
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 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.*;
24import java.awt.event.*;
25
26public class Frame extends JFrame {
27 public static boolean mazzo;
28 public static Main main;
29 public static Pannello pannello;
30 public static JButton button;
31 public static JMenuBar barraMenu;
32 public static JMenu file;
33 public static JMenuItem nuovaPartita, opzioni, esci;
34 public static ImageIcon retro1, retro2, ultimaCarta;
35 public static ImageIcon[] giocata = new ImageIcon[2];
36 public static ImageIcon[] carteInMano = new ImageIcon[3];
37 public static ImageIcon[] carteCPU = new ImageIcon[3];
38 public static ImageIcon[] arrayCarteMescolate = new ImageIcon[40];
39 public static ImageIcon[][] arrayCarte = new ImageIcon[10][4];
40 public Frame() {
41 super( "Tronto's JBriscola 0.1 Beta 2" );
42 mazzo = true;
43 main = new Main();
44 pannello = new Pannello();
45 button = new JButton( main.stringaBottonePrendi );
46 button.addActionListener( new ActionListener() {
47 public void actionPerformed( ActionEvent e ) {
48 if ( giocata[0] != null && giocata[1] != null )
49 main.mano++;
50 try {
51 main.chiPrende();
52 } catch ( Exception ex ) {
53 JOptionPane.showMessageDialog( Frame.this, main.stringaPrimaGioca, "JBriscola 0.1", JOptionPane.WARNING_MESSAGE );
54 }
55 if ( main.mano == 16 )
56 JOptionPane.showMessageDialog( Frame.this, main.stringaUltime4, "JBriscola 0.1", JOptionPane.INFORMATION_MESSAGE );
57 if ( main.mano == 17 ) {
58 mazzo = false;
59 ultimaCarta = null;
60 pannello.repaint();
61 Frame.this.repaint();
62 }
63 if ( main.mano == 20 ) {
64 String titolo = main.stringaVinto;
65 if ( main.punteggio < main.punteggioCPU )
66 titolo = main.stringaPerso;
67 if ( main.punteggio == main.punteggioCPU )
68 titolo = main.stringaPareggio;
69 JOptionPane.showMessageDialog( Frame.this, main.stringaGiocatore + main.punteggio + main.stringaComputer + main.punteggioCPU, titolo, JOptionPane.PLAIN_MESSAGE );
70 }
71 }
72 } );
73 barraMenu = new JMenuBar();
74 file = new JMenu( "File" );
75 nuovaPartita = new JMenuItem( main.stringaNuovaPartita );
76 nuovaPartita.addActionListener( new ActionListener() {
77 public void actionPerformed( ActionEvent e ) {
78 if ( main.mano == 20 ) {
79 main.mischia();
80 pannello.repaint();
81 repaint();
82 }
83 else {
84 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 );
85 if ( selezione == JOptionPane.YES_OPTION ) {
86 main.mischia();
87 pannello.repaint();
88 repaint();
89 }
90 }
91 }
92 });
93 opzioni = new JMenuItem( main.stringaOpzioni );
94 opzioni.addActionListener( new ActionListener() {
95 public void actionPerformed( ActionEvent e ) {
96 OptionFrame optionFrame = new OptionFrame();
97 optionFrame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
98 optionFrame.setResizable( false );
99 optionFrame.setAlwaysOnTop( true );
100 optionFrame.setSize( 300, 150 );
101 optionFrame.setLocation( (Toolkit.getDefaultToolkit().getScreenSize().width - 300) / 2,
102 (Toolkit.getDefaultToolkit().getScreenSize().height - 150) / 2);
103 optionFrame.setVisible( true );
104 }
105 });
106 esci = new JMenuItem( main.stringaEsci );
107 esci.addActionListener( new ActionListener() {
108 public void actionPerformed( ActionEvent e ) {
109 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 );
110 if ( selezione == JOptionPane.YES_OPTION )
111 Frame.this.dispose();
112 }
113 });
114 file.add( nuovaPartita );
115 file.add( opzioni );
116 file.addSeparator();
117 file.add( esci );
118 barraMenu.add( file );
119 setJMenuBar( barraMenu );
120 retro1 = new ImageIcon( ClassLoader.getSystemResource( "img/retro1.jpg" ) );
121 retro2 = new ImageIcon( ClassLoader.getSystemResource( "img/retro2.jpg" ) );
122 for (int i = 0; i < 10; i++)
123 for (int j = 0; j < 4; j++)
124 arrayCarte[i][j] = new ImageIcon( ClassLoader.getSystemResource( "img/" + (i+1) + "-" + (j+1) + ".jpg" ) );
125 main.mischia();
126 setLayout( new BorderLayout() );
127 add( pannello, BorderLayout.CENTER );
128 add( button, BorderLayout.SOUTH );
129 addMouseListener(
130 new MouseAdapter() {
131 public void mouseClicked ( MouseEvent e ) {
132 if ( mettiCarta( e.getX(), e.getY() ) ) {
133 if ( !main.CPUHaGiocato )
134 main.giocaCPU();
135 }
136 }
137 }
138 );
139 addWindowListener(
140 new WindowAdapter() {
141 public void windowClosing( WindowEvent e ) {
142 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 );
143 if ( selezione == JOptionPane.YES_OPTION )
144 System.exit( 0 );
145 }
146 }
147 );
148 }
149 public boolean mettiCarta( int x, int y ) {
150 if ( !main.toccaAllaCPU && giocata[0] == null ) {
151 if ( x > 230 && x < 290 && y > 340 && y < 566 ) {
152 giocata[0] = carteInMano[0];
153 carteInMano[0] = null;
154 pannello.repaint();
155 return true;
156 }
157 if ( x > 300 && x < 360 && y > 340 && y < 566 ) {
158 giocata[0] = carteInMano[1];
159 carteInMano[1] = null;
160 pannello.repaint();
161 return true;
162 }
163 if ( x > 370 && x < 430 && y > 340 && y < 566 ) {
164 giocata[0] = carteInMano[2];
165 carteInMano[2] = null;
166 pannello.repaint();
167 return true;
168 }
169 }
170 return false;
171 }
172}
173
174
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 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import java.io.*;
23import java.util.*;
24import javax.swing.*;
25import java.awt.*;
26
27public 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 Frame frame;
33 public static String stringaBottonePrendi = "Prendi/Lascia carte";
34 public static String stringaPrimaGioca = "Prima Gioca!";
35 public static String stringaUltime4 = "Ultime 4 mani - Occhio alla briscola!";
36 public static String stringaVinto = "Hai Vinto!";
37 public static String stringaPerso = "Hai Perso";
38 public static String stringaPareggio = "Pareggio";
39 public static String stringaGiocatore = "Giocatore";
40 public static String stringaComputer = "\nComputer";
41 public static String stringaNuovaPartita = "Nuova Partita";
42 public static String stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?";
43 public static String stringaVuoiDavveroUscire = "Vuoi davvero uscire?";
44 public static String stringaSi = "Si";
45 public static String stringaNo = "No";
46 public static String stringaOpzioni = "Opzioni...";
47 public static String stringaEsci = "Esci";
48 public static String stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n";
49 public static String stringaLingua = "Lingua";
50 public static String stringaAnnulla = "Annulla";
51 public static String stringaIt = "Italiano";
52 public static String stringaLa = "Latino";
53 public static String stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua.\nAlcune parti saranno comunque tradotte prima.";
54 public static String stringaModificaOpzioni = "Modifica Opzioni";
55 public static void main( String args[] ) {
56 settaOpzioni();
57 frame = new Frame();
58 frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
59 frame.setResizable( false );
60 frame.setSize( 600, 600 );
61 frame.setLocation( (Toolkit.getDefaultToolkit().getScreenSize().width - 600) / 2,
62 (Toolkit.getDefaultToolkit().getScreenSize().height - 600) / 2);
63
64 frame.setVisible( true );
65 }
66 public void mischia() {
67 mano = 0;
68 punteggio = 0;
69 punteggioCPU = 0;
70 cartaDaPescare = 6;
71 ImageIcon aux;
72 frame.mazzo = true;
73 toccaAllaCPU = false;
74 CPUHaGiocato = false;
75 haGiocatoPrima = true;
76 for ( int i = 0, k = 0; i < 10; i++ )
77 for ( int j = 0; j < 4; j++, k++ )
78 frame.arrayCarteMescolate[k] = frame.arrayCarte[i][j];
79 for ( int i = 0; i < 391; i++ ) {
80 double a = Math.random() * 40;
81 int x = (int) a;
82 double b = Math.random() * 40;
83 int y = (int) b;
84 aux = frame.arrayCarteMescolate[x];
85 frame.arrayCarteMescolate[x] = frame.arrayCarteMescolate[y];
86 frame.arrayCarteMescolate[y] = aux;
87 }
88 char auxChar[] = frame.arrayCarteMescolate[39].toString().toCharArray();
89 semeBriscola = auxChar[auxChar.length-5] - 49;
90 frame.carteInMano[0] = frame.arrayCarteMescolate[0];
91 frame.carteInMano[1] = frame.arrayCarteMescolate[1];
92 frame.carteInMano[2] = frame.arrayCarteMescolate[2];
93 frame.carteCPU[0] = frame.arrayCarteMescolate[3];
94 frame.carteCPU[1] = frame.arrayCarteMescolate[4];
95 frame.carteCPU[2] = frame.arrayCarteMescolate[5];
96 frame.ultimaCarta = frame.arrayCarteMescolate[39];
97 frame.giocata[0] = null;
98 frame.giocata[1] = null;
99 }
100 public void giocaCPU() {
101 if ( frame.giocata[0] == null ) {
102 if ( vaiLiscio() );
103 else if ( vaiPunti() );
104 else if ( vaiBriscola() );
105 else if ( vaiCarico() );
106 else;
107 }
108 else {
109 if ( haLisciato() || haMessoPunti() ) {
110 if ( vaiSopra() );
111 else if ( vaiLiscio() );
112 else if ( vaiPunti() );
113 else if ( vaiBriscola() );
114 else if ( vaiCarico() );
115 else System.out.println("Ha lisciato e non so cosa fare");
116 } else if ( haMessoBriscola() ) {
117 if ( vaiLiscio() );
118 else if ( vaiPunti() );
119 else if ( vaiBriscola() );
120 else if ( vaiCarico() );
121 else System.out.println("Ha messo una briscola e non so cosa fare");
122 } else if ( haCaricato() ) {
123 if ( vaiSopra() );
124 else if ( vaiBriscola() );
125 else if ( vaiLiscio() );
126 else if ( vaiPunti() );
127 else if ( vaiCarico() );
128 else System.out.println("Ha caricato e non so cosa fare");
129 } else System.out.println("Non so cosa ha fatto");
130 }
131 frame.giocata[1] = frame.carteCPU[cartaDaGiocare];
132 frame.carteCPU[cartaDaGiocare] = null;
133 frame.pannello.repaint();
134 CPUHaGiocato = true;
135 if ( frame.giocata[0] == null )
136 toccaAllaCPU = false;
137 }
138 public void chiPrende() {
139 char aux[], auxCPU[];
140 aux = frame.giocata[0].toString().toCharArray();
141 auxCPU = frame.giocata[1].toString().toCharArray();
142 giocatorePrende( ( (aux[aux.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) )
143 || ( (aux[aux.length-5] == auxCPU[auxCPU.length-5]) && laPrimaEPiuAlta( aux[aux.length-7] - 48, auxCPU[auxCPU.length-7] - 48 ) )
144 || ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (aux[aux.length-5] != auxCPU[auxCPU.length-5]) && haGiocatoPrima ) );
145 }
146 public boolean laPrimaEPiuAlta( int prima, int seconda ) {
147 int a, b;
148 switch ( prima ) {
149 case 0:
150 a = 10;
151 break;
152 case 1:
153 a = 12;
154 break;
155 case 3:
156 a = 11;
157 break;
158 default:
159 a = prima;
160 break;
161 }
162 switch ( seconda ) {
163 case 0:
164 b = 10;
165 break;
166 case 1:
167 b = 12;
168 break;
169 case 3:
170 b = 11;
171 break;
172 default:
173 b = seconda;
174 break;
175 }
176 return a > b;
177 }
178 public void giocatorePrende( boolean giocatore ) {
179 if ( giocatore ) {
180 toccaAllaCPU = CPUHaGiocato = false;
181 haGiocatoPrima = true;
182 }
183 else {
184 toccaAllaCPU = true;
185 CPUHaGiocato = haGiocatoPrima = false;
186 }
187 daiPunti( giocatore );
188 if ( toccaAllaCPU )
189 giocaCPU();
190 }
191 public void daiPunti( boolean giocatore ) {
192 char aux[], auxCPU[];
193 aux = frame.giocata[0].toString().toCharArray();
194 auxCPU = frame.giocata[1].toString().toCharArray();
195 int punti = 0;
196 switch( aux[aux.length-7] - 48 ) {
197 case 0:
198 punti += 4;
199 break;
200 case 1:
201 punti += 11;
202 break;
203 case 3:
204 punti += 10;
205 break;
206 case 8:
207 punti += 2;
208 break;
209 case 9:
210 punti += 3;
211 break;
212 default:
213 break;
214 }
215 switch( auxCPU[auxCPU.length-7] - 48 ) {
216 case 0:
217 punti += 4;
218 break;
219 case 1:
220 punti += 11;
221 break;
222 case 3:
223 punti += 10;
224 break;
225 case 8:
226 punti += 2;
227 break;
228 case 9:
229 punti += 3;
230 break;
231 default:
232 break;
233 }
234 frame.giocata[0] = frame.giocata[1] = null;
235 if ( giocatore ) {
236 punteggio += punti;
237 if ( mano < 18 ) {
238 if ( frame.carteInMano[0] == null )
239 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
240 if ( frame.carteInMano[1] == null )
241 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
242 if ( frame.carteInMano[2] == null )
243 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
244 cartaDaPescare++;
245 if ( frame.carteCPU[0] == null )
246 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
247 if ( frame.carteCPU[1] == null )
248 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
249 if ( frame.carteCPU[2] == null )
250 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
251 cartaDaPescare++;
252 }
253 }
254 else {
255 punteggioCPU += punti;
256 if ( mano < 18 ) {
257 if ( frame.carteCPU[0] == null )
258 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
259 if ( frame.carteCPU[1] == null )
260 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
261 if ( frame.carteCPU[2] == null )
262 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
263 cartaDaPescare++;
264 if ( frame.carteInMano[0] == null )
265 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
266 if ( frame.carteInMano[1] == null )
267 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
268 if ( frame.carteInMano[2] == null )
269 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
270 cartaDaPescare++;
271 }
272 }
273 frame.pannello.repaint();
274 frame.repaint();
275 }
276 public boolean haLisciato() {
277 char auxCPU[];
278 auxCPU = frame.giocata[0].toString().toCharArray();
279 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
280 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
281 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) );
282 }
283 public boolean haMessoPunti() {
284 char auxCPU[];
285 auxCPU = frame.giocata[0].toString().toCharArray();
286 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
287 ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) ||
288 (auxCPU[auxCPU.length-7] - 48 == 9 ) ) );
289 }
290 public boolean haMessoBriscola() {
291 char auxCPU[];
292 auxCPU = frame.giocata[0].toString().toCharArray();
293 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) );
294 }
295 public boolean haCaricato() {
296 char auxCPU[];
297 auxCPU = frame.giocata[0].toString().toCharArray();
298 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
299 ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) );
300 }
301 public boolean vaiLiscio() {
302 char auxCPU[];
303 for ( int i = 0; i < 3; i++ ) {
304 if ( frame.carteCPU[i] != null ) {
305 auxCPU = frame.carteCPU[i].toString().toCharArray();
306 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
307 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
308 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) ) {
309 cartaDaGiocare = i;
310 return true;
311 }
312 }
313 }
314 return false;
315 }
316 public boolean vaiPunti() {
317 char auxCPU[];
318 for ( int i = 0; i < 3; i++ ) {
319 if ( frame.carteCPU[i] != null ) {
320 auxCPU = frame.carteCPU[i].toString().toCharArray();
321 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
322 ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) ||
323 (auxCPU[auxCPU.length-7] - 48 == 9 ) ) ) {
324 cartaDaGiocare = i;
325 return true;
326 }
327 }
328 }
329 return false;
330 }
331 public boolean vaiBriscola() {
332 char auxCPU[];
333 for ( int i = 0; i < 3; i++ ) {
334 if ( frame.carteCPU[i] != null ) {
335 auxCPU = frame.carteCPU[i].toString().toCharArray();
336 if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola ) {
337 cartaDaGiocare = i;
338 return true;
339 }
340 }
341 }
342 return false;
343 }
344 public boolean vaiCarico() {
345 char auxCPU[];
346 for ( int i = 0; i < 3; i++ ) {
347 if ( frame.carteCPU[i] != null ) {
348 auxCPU = frame.carteCPU[i].toString().toCharArray();
349 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
350 ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) ) {
351 cartaDaGiocare = i;
352 return true;
353 }
354 }
355 }
356 return false;
357 }
358 public boolean vaiSopra() {
359 if ( frame.giocata[0] == null )
360 return false;
361 int a = -1;
362 int b = -1;
363 int c = -1;
364 boolean laPrimaPuoAndareSopra = false;
365 boolean laSecondaPuoAndareSopra = false;
366 boolean laTerzaPuoAndareSopra = false;
367 char[] auxCPU1 = new char[1024];
368 char[] auxCPU2 = new char[1024];
369 char[] auxCPU3 = new char[1024];
370 char[] aux = frame.giocata[0].toString().toCharArray();
371 if ( aux[aux.length-7] - 48 == 1 )
372 return false;
373 if ( frame.carteCPU[0] != null ) {
374 auxCPU1 = frame.carteCPU[0].toString().toCharArray();
375 a = auxCPU1[auxCPU1.length-7] - 48;
376 }
377 if ( frame.carteCPU[1] != null ) {
378 auxCPU2 = frame.carteCPU[1].toString().toCharArray();
379 b = auxCPU2[auxCPU2.length-7] - 48;
380 }
381 if ( frame.carteCPU[2] != null ) {
382 auxCPU3 = frame.carteCPU[2].toString().toCharArray();
383 c = auxCPU3[auxCPU3.length-7] - 48;
384 }
385 if ( (auxCPU1[auxCPU1.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( a, aux[aux.length-7] - 48 ) )
386 laPrimaPuoAndareSopra = true;
387 if ( (auxCPU2[auxCPU2.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( b, aux[aux.length-7] - 48 ) )
388 laSecondaPuoAndareSopra = true;
389 if ( (auxCPU3[auxCPU3.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( c, aux[aux.length-7] - 48 ) )
390 laTerzaPuoAndareSopra = true;
391 if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
392 return false;
393 else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
394 cartaDaGiocare = 0;
395 else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
396 cartaDaGiocare = 1;
397 else if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
398 cartaDaGiocare = 2;
399 else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
400 if ( laPrimaEPiuAlta( a, b ) )
401 cartaDaGiocare = 0;
402 else
403 cartaDaGiocare = 1;
404 else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
405 if ( laPrimaEPiuAlta( b, c ) )
406 cartaDaGiocare = 1;
407 else
408 cartaDaGiocare = 2;
409 else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
410 if ( laPrimaEPiuAlta( a, c ) )
411 cartaDaGiocare = 0;
412 else
413 cartaDaGiocare = 2;
414 else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
415 if ( laPrimaEPiuAlta( a, b ) )
416 if ( laPrimaEPiuAlta( a, c ) )
417 cartaDaGiocare = 0;
418 else
419 cartaDaGiocare = 2;
420 else
421 if ( laPrimaEPiuAlta( b, c ) )
422 cartaDaGiocare = 1;
423 else
424 cartaDaGiocare = 2;
425 else cartaDaGiocare = 55;
426 return true;
427 }
428 public static void settaOpzioni() {
429 String lang;
430 Scanner scanner = null;
431 File file = new File( "JBriscolaConfig.txt" );
432 if ( file.exists() ) {
433 try {
434 scanner = new Scanner( file );
435 } catch ( FileNotFoundException e ) {
436 lang = "it";
437 }
438 lang = scanner.next();
439 }
440 else {
441 lang = "it";
442 }
443 if ( lang.equals( "it" ) ) {
444 stringaBottonePrendi = "Prendi/Lascia carte";
445 stringaPrimaGioca = "Prima Gioca!";
446 stringaUltime4 = "Ultime 4 mani - Occhio alla briscola!";
447 stringaVinto = "Hai Vinto!";
448 stringaPerso = "Hai Perso";
449 stringaPareggio = "Pareggio";
450 stringaGiocatore = "Giocatore";
451 stringaComputer = "\nComputer";
452 stringaNuovaPartita = "Nuova Partita";
453 stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?";
454 stringaVuoiDavveroUscire = "Vuoi davvero dscire?";
455 stringaSi = "Si";
456 stringaNo = "No";
457 stringaOpzioni = "Opzioni...";
458 stringaEsci = "Esci";
459 stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n";
460 stringaLingua = "Lingua";
461 stringaAnnulla = "Annulla";
462 stringaIt = "Italiano";
463 stringaLa = "Latino";
464 stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua\nAlcune parti saranno comunque tradotte prima.";
465 stringaModificaOpzioni = "Modifica Opzioni";
466 }
467 else if ( lang.equals( "la" ) ) {
468 stringaBottonePrendi = "CAPIS/RELINQVIS CHARTAS";
469 stringaPrimaGioca = "ANTE CHARTAM PONE!";
470 stringaUltime4 = "IV MANVS POSTREMAS - INTVERE BRISCOLAM!";
471 stringaVinto = "VINXISTI!";
472 stringaPerso = "PERDIDISTI";
473 stringaPareggio = "AEQVATIO!";
474 stringaGiocatore = "LVSOR: ";
475 stringaComputer = "\nCOMPVTER: ";
476 stringaNuovaPartita = "NOVA LVSO";
477 stringaVuoiDavveroIniziare = "NOVAM LVSIONEM INCIPERE?";
478 stringaVuoiDavveroUscire = "EXIRE?";
479 stringaSi = "ID VOLO";
480 stringaNo = "NOLO";
481 stringaOpzioni = "OPTIONES...";
482 stringaEsci = "EXIRE";
483 stringaImpossibileConfigurare = "CONFIGVRATIONIS FILE SCRIBERE NON POTVI.\nERROREM ME CERTIOREM FACITE: sebastiano@luganega.org\n\nEXCEPTIO:\n";
484 stringaLingua = "LINGVA";
485 stringaAnnulla = "ABROGA";
486 stringaIt = "ITALICE";
487 stringaLa = "LATINE";
488 stringaNecessarioRiavviare = "JBRISCOLAM RVRSVS INCIPERE NECESSE EST\nSI LINGVA PRAELATIONES NOVATAE SUNT.\nALIQVAE ANTE ID VERSA ERVNT";
489 stringaModificaOpzioni = "OPTIONES NOVARE";
490 }
491 }
492}
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 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import java.util.Formatter;
23import javax.swing.*;
24import java.awt.*;
25import java.awt.event.*;
26
27public class OptionFrame extends JFrame {
28 public static Main main = new Main();
29 public static Formatter formatter;
30 public static JButton ok, annulla;
31 public static JLabel lingua;
32 public static JComboBox selezionaLingua;
33 public static JPanel pannello1, pannello2;
34 public OptionFrame() {
35 super( "JBriscola - " + main.stringaModificaOpzioni );
36 ok = new JButton( "OK" );
37 ok.addActionListener( new ActionListener() {
38 public void actionPerformed( ActionEvent e ) {
39 try {
40 formatter = new Formatter( "JBriscolaConfig.txt" );
41 } catch ( Exception ex ) {
42 JOptionPane.showMessageDialog( OptionFrame.this, main.stringaImpossibileConfigurare + ex );
43 }
44 String lang;
45 switch ( selezionaLingua.getSelectedIndex() ) {
46 case 0:
47 lang = "it";
48 break;
49 case 1:
50 lang = "la";
51 break;
52 default:
53 lang = "it";
54 break;
55 }
56 formatter.format( lang );
57 formatter.close();
58 main.settaOpzioni();
59 main.frame.pannello.repaint();
60 main.frame.repaint();
61 OptionFrame.this.dispose();
62 JOptionPane.showMessageDialog( OptionFrame.this, main.stringaNecessarioRiavviare, "JBriscola 0.1", JOptionPane.INFORMATION_MESSAGE );
63 }
64 });
65 annulla = new JButton( main.stringaAnnulla );
66 annulla.addActionListener( new ActionListener() {
67 public void actionPerformed( ActionEvent e ) {
68 OptionFrame.this.dispose();
69 }
70 });
71 lingua = new JLabel( main.stringaLingua );
72 String[] lingueDaSelezionare = { main.stringaIt, main.stringaLa };
73 selezionaLingua = new JComboBox( lingueDaSelezionare );
74 pannello1 = new JPanel( new FlowLayout() );
75 pannello1.add( lingua );
76 pannello1.add( selezionaLingua );
77 pannello2 = new JPanel( new FlowLayout() );
78 pannello2.add( ok );
79 pannello2.add( annulla );
80 add( pannello1, BorderLayout.CENTER );
81 add( pannello2, BorderLayout.SOUTH );
82 }
83}
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 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.Graphics;
24
25public class Pannello extends JPanel {
26 public static Main main;
27 public Pannello() {
28 }
29 public void paint( Graphics g ) {
30 super.paint( g );
31 if ( main.frame.ultimaCarta != null )
32 main.frame.ultimaCarta.paintIcon( this, g, 50, 180 );
33 if ( main.frame.mazzo )
34 main.frame.retro2.paintIcon( this, g, 17, 256 );
35 if ( main.frame.carteCPU[0] != null )
36 main.frame.retro1.paintIcon( this, g, 230, 5 );
37 if ( main.frame.carteCPU[1] != null )
38 main.frame.retro1.paintIcon( this, g, 300, 5 );
39 if ( main.frame.carteCPU[2] != null )
40 main.frame.retro1.paintIcon( this, g, 370, 5 );
41 if ( main.frame.carteInMano[0] != null )
42 main.frame.carteInMano[0].paintIcon( this, g, 230, 340 );
43 if ( main.frame.carteInMano[1] != null )
44 main.frame.carteInMano[1].paintIcon( this, g, 300, 340 );
45 if ( main.frame.carteInMano[2] != null )
46 main.frame.carteInMano[2].paintIcon( this, g, 370, 340 );
47 if ( main.frame.giocata[0] != null )
48 main.frame.giocata[0].paintIcon( this, g, 250, 200 );
49 if ( main.frame.giocata[1] != null )
50 main.frame.giocata[1].paintIcon( this, g, 325, 150 );
51 }
52}
53
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/Frame.java b/JBriscola/all_versions/0.1/0.1.1/src/Frame.java
new file mode 100755
index 0000000..ab85a28
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/Frame.java
@@ -0,0 +1,186 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.*;
24import java.awt.event.*;
25
26public class Frame extends JFrame {
27 public static boolean mazzo;
28 public static Main main;
29 public static Pannello pannello;
30 public static JPanel pannello2;
31 public static JButton button;
32 public static JMenuBar barraMenu;
33 public static JMenu file, puntoInterrogativo;
34 public static JMenuItem nuovaPartita, opzioni, esci, informazioni;
35 public static ImageIcon retro1, retro2, ultimaCarta;
36 public static ImageIcon[] giocata = new ImageIcon[2];
37 public static ImageIcon[] carteInMano = new ImageIcon[3];
38 public static ImageIcon[] carteCPU = new ImageIcon[3];
39 public static ImageIcon[] arrayCarteMescolate = new ImageIcon[40];
40 public static ImageIcon[][] arrayCarte = new ImageIcon[10][4];
41 public Frame() {
42 super( "Tronto's JBriscola " + main.version );
43 mazzo = true;
44 main = new Main();
45 pannello = new Pannello();
46 pannello2 = new JPanel( new FlowLayout() );
47 button = new JButton( main.stringaBottonePrendi );
48 button.addActionListener( new ActionListener() {
49 public void actionPerformed( ActionEvent e ) {
50 if ( giocata[0] != null && giocata[1] != null )
51 main.mano++;
52 try {
53 main.chiPrende();
54 } catch ( Exception ex ) {
55 JOptionPane.showMessageDialog( Frame.this, main.stringaPrimaGioca, "JBriscola " + main.version, JOptionPane.WARNING_MESSAGE );
56 }
57 if ( main.mano == 16 )
58 JOptionPane.showMessageDialog( Frame.this, main.stringaUltime4, "JBriscola " + main.version, JOptionPane.INFORMATION_MESSAGE );
59 if ( main.mano == 17 ) {
60 mazzo = false;
61 ultimaCarta = null;
62 pannello.repaint();
63 Frame.this.repaint();
64 }
65 if ( main.mano == 20 ) {
66 String titolo = main.stringaVinto;
67 if ( main.punteggio < main.punteggioCPU )
68 titolo = main.stringaPerso;
69 if ( main.punteggio == main.punteggioCPU )
70 titolo = main.stringaPareggio;
71 JOptionPane.showMessageDialog( Frame.this, main.stringaGiocatore + main.punteggio + main.stringaComputer + main.punteggioCPU, titolo, JOptionPane.PLAIN_MESSAGE );
72 }
73 }
74 } );
75 barraMenu = new JMenuBar();
76 file = new JMenu( "File" );
77 nuovaPartita = new JMenuItem( main.stringaNuovaPartita );
78 nuovaPartita.addActionListener( new ActionListener() {
79 public void actionPerformed( ActionEvent e ) {
80 if ( main.mano == 20 ) {
81 main.mischia();
82 pannello.repaint();
83 repaint();
84 }
85 else {
86 int selezione = JOptionPane.showOptionDialog( Frame.this, main.stringaVuoiDavveroIniziare, "JBriscola " + main.version, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { main.stringaSi, main.stringaNo }, main.stringaNo );
87 if ( selezione == JOptionPane.YES_OPTION ) {
88 main.mischia();
89 pannello.repaint();
90 repaint();
91 }
92 }
93 }
94 });
95 opzioni = new JMenuItem( main.stringaOpzioni );
96 opzioni.addActionListener( new ActionListener() {
97 public void actionPerformed( ActionEvent e ) {
98 OptionFrame optionFrame = new OptionFrame();
99 optionFrame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
100 optionFrame.setResizable( false );
101 optionFrame.setAlwaysOnTop( true );
102 optionFrame.setSize( 300, 150 );
103 optionFrame.setLocation( (Toolkit.getDefaultToolkit().getScreenSize().width - 300) / 2,
104 (Toolkit.getDefaultToolkit().getScreenSize().height - 150) / 2);
105 optionFrame.setVisible( true );
106 }
107 });
108 esci = new JMenuItem( main.stringaEsci );
109 esci.addActionListener( new ActionListener() {
110 public void actionPerformed( ActionEvent e ) {
111 int selezione = JOptionPane.showOptionDialog( Frame.this, main.stringaVuoiDavveroUscire, "JBriscola " + main.version, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { main.stringaSi, main.stringaNo }, main.stringaNo );
112 if ( selezione == JOptionPane.YES_OPTION )
113 Frame.this.dispose();
114 }
115 });
116 file.add( nuovaPartita );
117 file.add( opzioni );
118 file.addSeparator();
119 file.add( esci );
120 puntoInterrogativo = new JMenu( "?" );
121 informazioni = new JMenuItem( main.stringaInformazioni );
122 informazioni.addActionListener( new ActionListener() {
123 public void actionPerformed( ActionEvent e ) {
124 JOptionPane.showMessageDialog( Frame.this, main.stringaInformazioni2, main.stringaInformazioni, JOptionPane.PLAIN_MESSAGE );
125 }
126 } );
127 puntoInterrogativo.add( informazioni );
128 barraMenu.add( file );
129 barraMenu.add( puntoInterrogativo );
130 setJMenuBar( barraMenu );
131 retro1 = new ImageIcon( ClassLoader.getSystemResource( "img/retro1.jpg" ) );
132 retro2 = new ImageIcon( ClassLoader.getSystemResource( "img/retro2.jpg" ) );
133 for (int i = 0; i < 10; i++)
134 for (int j = 0; j < 4; j++)
135 arrayCarte[i][j] = new ImageIcon( ClassLoader.getSystemResource( "img/" + (i+1) + "-" + (j+1) + ".jpg" ) );
136 main.mischia();
137 pannello2.add( button );
138 setLayout( new BorderLayout() );
139 add( pannello, BorderLayout.CENTER );
140 add( pannello2, BorderLayout.SOUTH );
141 addMouseListener(
142 new MouseAdapter() {
143 public void mouseClicked ( MouseEvent e ) {
144 if ( mettiCarta( e.getX(), e.getY() ) ) {
145 if ( !main.CPUHaGiocato )
146 main.giocaCPU();
147 }
148 }
149 }
150 );
151 addWindowListener(
152 new WindowAdapter() {
153 public void windowClosing( WindowEvent e ) {
154 int selezione = JOptionPane.showOptionDialog( Frame.this, main.stringaVuoiDavveroUscire, "JBriscola " + main.version, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { main.stringaSi, main.stringaNo }, main.stringaNo );
155 if ( selezione == JOptionPane.YES_OPTION )
156 System.exit( 0 );
157 }
158 }
159 );
160 }
161 public boolean mettiCarta( int x, int y ) {
162 if ( !main.toccaAllaCPU && giocata[0] == null ) {
163 if ( x > 230 && x < 290 && y > 340 && y < 566 ) {
164 giocata[0] = carteInMano[0];
165 carteInMano[0] = null;
166 pannello.repaint();
167 return true;
168 }
169 if ( x > 300 && x < 360 && y > 340 && y < 566 ) {
170 giocata[0] = carteInMano[1];
171 carteInMano[1] = null;
172 pannello.repaint();
173 return true;
174 }
175 if ( x > 370 && x < 430 && y > 340 && y < 566 ) {
176 giocata[0] = carteInMano[2];
177 carteInMano[2] = null;
178 pannello.repaint();
179 return true;
180 }
181 }
182 return false;
183 }
184}
185
186
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/Main.java b/JBriscola/all_versions/0.1/0.1.1/src/Main.java
new file mode 100755
index 0000000..a97b21e
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/Main.java
@@ -0,0 +1,708 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import java.io.*;
23import java.util.*;
24import javax.swing.*;
25import java.awt.*;
26
27public 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 Frame frame;
33 public static String version = "0.1.1";
34 public static String stringaBottonePrendi = "Prendi/Lascia carte";
35 public static String stringaPrimaGioca = "Prima Gioca!";
36 public static String stringaUltime4 = "Ultima carta - Occhio alla briscola!";
37 public static String stringaVinto = "Hai Vinto!";
38 public static String stringaPerso = "Hai Perso";
39 public static String stringaPareggio = "Pareggio";
40 public static String stringaGiocatore = "Giocatore: ";
41 public static String stringaComputer = "\nComputer: ";
42 public static String stringaNuovaPartita = "Nuova Partita";
43 public static String stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?";
44 public static String stringaVuoiDavveroUscire = "Vuoi davvero uscire?";
45 public static String stringaSi = "Si";
46 public static String stringaNo = "No";
47 public static String stringaOpzioni = "Opzioni...";
48 public static String stringaEsci = "Esci";
49 public static String stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n";
50 public static String stringaLingua = "Lingua";
51 public static String stringaAnnulla = "Annulla";
52 public static String stringaIt = "Italiano";
53 public static String stringaLa = "Latino";
54 public static String stringaBL = "Dialetto Bellunese";
55 public static String stringaBV = "Dialetto Basso Veneto";
56 public static String stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua.\nAlcune parti saranno comunque tradotte prima.";
57 public static String stringaModificaOpzioni = "Modifica Opzioni";
58 public static String stringaInformazioni = "Informazioni";
59 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";
60 public static void main( String args[] ) {
61 settaOpzioni();
62 frame = new Frame();
63 frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE );
64 frame.setResizable( false );
65 frame.setSize( 600, 600 );
66 frame.setLocation( (Toolkit.getDefaultToolkit().getScreenSize().width - 600) / 2,
67 (Toolkit.getDefaultToolkit().getScreenSize().height - 600) / 2);
68
69 frame.setVisible( true );
70 }
71 public void mischia() {
72 mano = 0;
73 punteggio = 0;
74 punteggioCPU = 0;
75 cartaDaPescare = 6;
76 ImageIcon aux;
77 frame.mazzo = true;
78 toccaAllaCPU = false;
79 CPUHaGiocato = false;
80 haGiocatoPrima = true;
81 for ( int i = 0, k = 0; i < 10; i++ )
82 for ( int j = 0; j < 4; j++, k++ )
83 frame.arrayCarteMescolate[k] = frame.arrayCarte[i][j];
84 for ( int i = 0; i < 391; i++ ) {
85 double a = Math.random() * 40;
86 int x = (int) a;
87 double b = Math.random() * 40;
88 int y = (int) b;
89 aux = frame.arrayCarteMescolate[x];
90 frame.arrayCarteMescolate[x] = frame.arrayCarteMescolate[y];
91 frame.arrayCarteMescolate[y] = aux;
92 }
93 char auxChar[] = frame.arrayCarteMescolate[39].toString().toCharArray();
94 semeBriscola = auxChar[auxChar.length-5] - 49;
95 frame.carteInMano[0] = frame.arrayCarteMescolate[0];
96 frame.carteInMano[1] = frame.arrayCarteMescolate[1];
97 frame.carteInMano[2] = frame.arrayCarteMescolate[2];
98 frame.carteCPU[0] = frame.arrayCarteMescolate[3];
99 frame.carteCPU[1] = frame.arrayCarteMescolate[4];
100 frame.carteCPU[2] = frame.arrayCarteMescolate[5];
101 frame.ultimaCarta = frame.arrayCarteMescolate[39];
102 frame.giocata[0] = null;
103 frame.giocata[1] = null;
104 }
105 public void giocaCPU() {
106 if ( frame.giocata[0] == null ) {
107 if ( vaiLiscio() );
108 else if ( vaiPunti() );
109 else if ( vaiTaglio() );
110 else if ( vaiBriscolaAlta() );
111 else if ( vaiCarico() );
112 else if ( vaiTre() );
113 else if ( vaiAsso() );
114 else;
115 }
116 else {
117 if ( haLisciato() ) {
118 if ( vaiSopra() );
119 else if ( vaiLiscio() );
120 else if ( vaiPunti() );
121 else if ( vaiTaglio() );
122 else if ( vaiTre() );
123 else if ( vaiBriscolaAlta() );
124 else if ( vaiCarico() );
125 else if ( vaiAsso() );
126 } else if ( haMessoPunti() ) {
127 if ( vaiSopra() );
128 else if ( vaiLiscio() );
129 else if ( vaiTaglio() );
130 else if ( vaiPunti() );
131 else if ( vaiTre() );
132 else if ( vaiBriscolaAlta() );
133 else if ( vaiCarico() );
134 else if ( vaiAsso() );
135 } else if ( haTagliato() ) {
136 if ( vaiLiscio() );
137 else if ( vaiPunti() );
138 else if ( vaiTaglio() );
139 else if ( vaiTre() );
140 else if ( vaiBriscolaAlta() );
141 else if ( vaiCarico() );
142 else if ( vaiAsso() );
143 } else if ( haMessoBriscolaAlta() ) {
144 if ( vaiLiscio() );
145 else if ( vaiPunti() );
146 else if ( vaiTre() );
147 else if ( vaiTaglio() );
148 else if ( vaiBriscolaAlta() );
149 else if ( vaiCarico() );
150 else if ( vaiAsso() );
151 } else if ( haMessoTre() ) {
152 if ( vaiAsso() );
153 else if ( vaiLiscio() );
154 else if ( vaiPunti() );
155 else if ( vaiTaglio() );
156 else if ( vaiBriscolaAlta() );
157 else if ( vaiCarico() );
158 } else if ( haMessoAsso() ) {
159 if ( vaiLiscio() );
160 else if ( vaiPunti() );
161 else if ( vaiTaglio() );
162 else if ( vaiBriscolaAlta() );
163 else if ( vaiCarico() );
164 else if ( vaiTre() );
165 } else if ( haCaricato() ) {
166 if ( vaiSopra() );
167 else if ( vaiTre() );
168 else if ( vaiBriscolaAlta() );
169 else if ( vaiAsso() );
170 else if ( vaiTaglio() );
171 else if ( vaiLiscio() );
172 else if ( vaiPunti() );
173 else if ( vaiCarico() );
174 }
175 }
176 frame.giocata[1] = frame.carteCPU[cartaDaGiocare];
177 frame.carteCPU[cartaDaGiocare] = null;
178 frame.pannello.repaint();
179 CPUHaGiocato = true;
180 if ( frame.giocata[0] == null )
181 toccaAllaCPU = false;
182 }
183 public void chiPrende() {
184 char aux[], auxCPU[];
185 aux = frame.giocata[0].toString().toCharArray();
186 auxCPU = frame.giocata[1].toString().toCharArray();
187 giocatorePrende( ( (aux[aux.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) )
188 || ( (aux[aux.length-5] == auxCPU[auxCPU.length-5]) && laPrimaEPiuAlta( aux[aux.length-7] - 48, auxCPU[auxCPU.length-7] - 48 ) )
189 || ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (aux[aux.length-5] != auxCPU[auxCPU.length-5]) && haGiocatoPrima ) );
190 }
191 public boolean laPrimaEPiuAlta( int prima, int seconda ) {
192 int a, b;
193 switch ( prima ) {
194 case 0:
195 a = 10;
196 break;
197 case 1:
198 a = 12;
199 break;
200 case 3:
201 a = 11;
202 break;
203 default:
204 a = prima;
205 break;
206 }
207 switch ( seconda ) {
208 case 0:
209 b = 10;
210 break;
211 case 1:
212 b = 12;
213 break;
214 case 3:
215 b = 11;
216 break;
217 default:
218 b = seconda;
219 break;
220 }
221 return a > b;
222 }
223 public void giocatorePrende( boolean giocatore ) {
224 if ( giocatore ) {
225 toccaAllaCPU = CPUHaGiocato = false;
226 haGiocatoPrima = true;
227 }
228 else {
229 toccaAllaCPU = true;
230 CPUHaGiocato = haGiocatoPrima = false;
231 }
232 daiPunti( giocatore );
233 if ( toccaAllaCPU )
234 giocaCPU();
235 }
236 public void daiPunti( boolean giocatore ) {
237 char aux[], auxCPU[];
238 aux = frame.giocata[0].toString().toCharArray();
239 auxCPU = frame.giocata[1].toString().toCharArray();
240 int punti = 0;
241 switch( aux[aux.length-7] - 48 ) {
242 case 0:
243 punti += 4;
244 break;
245 case 1:
246 punti += 11;
247 break;
248 case 3:
249 punti += 10;
250 break;
251 case 8:
252 punti += 2;
253 break;
254 case 9:
255 punti += 3;
256 break;
257 default:
258 break;
259 }
260 switch( auxCPU[auxCPU.length-7] - 48 ) {
261 case 0:
262 punti += 4;
263 break;
264 case 1:
265 punti += 11;
266 break;
267 case 3:
268 punti += 10;
269 break;
270 case 8:
271 punti += 2;
272 break;
273 case 9:
274 punti += 3;
275 break;
276 default:
277 break;
278 }
279 frame.giocata[0] = frame.giocata[1] = null;
280 if ( giocatore ) {
281 punteggio += punti;
282 if ( mano < 18 ) {
283 if ( frame.carteInMano[0] == null )
284 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
285 if ( frame.carteInMano[1] == null )
286 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
287 if ( frame.carteInMano[2] == null )
288 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
289 cartaDaPescare++;
290 if ( frame.carteCPU[0] == null )
291 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
292 if ( frame.carteCPU[1] == null )
293 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
294 if ( frame.carteCPU[2] == null )
295 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
296 cartaDaPescare++;
297 }
298 }
299 else {
300 punteggioCPU += punti;
301 if ( mano < 18 ) {
302 if ( frame.carteCPU[0] == null )
303 frame.carteCPU[0] = frame.arrayCarteMescolate[cartaDaPescare];
304 if ( frame.carteCPU[1] == null )
305 frame.carteCPU[1] = frame.arrayCarteMescolate[cartaDaPescare];
306 if ( frame.carteCPU[2] == null )
307 frame.carteCPU[2] = frame.arrayCarteMescolate[cartaDaPescare];
308 cartaDaPescare++;
309 if ( frame.carteInMano[0] == null )
310 frame.carteInMano[0] = frame.arrayCarteMescolate[cartaDaPescare];
311 if ( frame.carteInMano[1] == null )
312 frame.carteInMano[1] = frame.arrayCarteMescolate[cartaDaPescare];
313 if ( frame.carteInMano[2] == null )
314 frame.carteInMano[2] = frame.arrayCarteMescolate[cartaDaPescare];
315 cartaDaPescare++;
316 }
317 }
318 frame.pannello.repaint();
319 frame.repaint();
320 }
321 public boolean haLisciato() {
322 char auxCPU[];
323 auxCPU = frame.giocata[0].toString().toCharArray();
324 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
325 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
326 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) );
327 }
328 public boolean haMessoPunti() {
329 char auxCPU[];
330 auxCPU = frame.giocata[0].toString().toCharArray();
331 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
332 ( (auxCPU[auxCPU.length-7] - 48 == 0 ) || (auxCPU[auxCPU.length-7] - 48 == 8 ) ||
333 (auxCPU[auxCPU.length-7] - 48 == 9 ) ) );
334 }
335 public boolean haTagliato() {
336 char auxCPU[];
337 auxCPU = frame.giocata[0].toString().toCharArray();
338 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
339 (auxCPU[auxCPU.length-7] - 48 != 0) && (auxCPU[auxCPU.length-7] - 48 != 1) &&
340 (auxCPU[auxCPU.length-7] - 48 != 3) && (auxCPU[auxCPU.length-7] - 48 <= 7) );
341 }
342 public boolean haMessoBriscolaAlta() {
343 char auxCPU[];
344 auxCPU = frame.giocata[0].toString().toCharArray();
345 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
346 ( (auxCPU[auxCPU.length-7] - 48 == 0) || (auxCPU[auxCPU.length-7] - 48 == 8) ||
347 (auxCPU[auxCPU.length-7] - 48 == 9) ) );
348 }
349 public boolean haMessoTre() {
350 char auxCPU[];
351 auxCPU = frame.giocata[0].toString().toCharArray();
352 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
353 (auxCPU[auxCPU.length-7] - 48 == 3) );
354 }
355 public boolean haMessoAsso() {
356 char auxCPU[];
357 auxCPU = frame.giocata[0].toString().toCharArray();
358 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 == semeBriscola) &&
359 (auxCPU[auxCPU.length-7] - 48 == 1) );
360 }
361 public boolean haCaricato() {
362 char auxCPU[];
363 auxCPU = frame.giocata[0].toString().toCharArray();
364 return ( (frame.giocata[0] != null) && (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
365 ( (auxCPU[auxCPU.length-7] - 48 == 1 ) || (auxCPU[auxCPU.length-7] - 48 == 3 ) ) );
366 }
367 public boolean vaiLiscio() {
368 char auxCPU[];
369 for ( int i = 0; i < 3; i++ ) {
370 if ( frame.carteCPU[i] != null ) {
371 auxCPU = frame.carteCPU[i].toString().toCharArray();
372 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) &&
373 (auxCPU[auxCPU.length-7] - 48 != 0 ) && (auxCPU[auxCPU.length-7] - 48 != 1 ) &&
374 (auxCPU[auxCPU.length-7] - 48 != 3 ) && (auxCPU[auxCPU.length-7] - 48 < 8 ) ) {
375 cartaDaGiocare = i;
376 return true;
377 }
378 }
379 }
380 return false;
381 }
382 public boolean vaiPunti() {
383 char[] auxCPU;
384 for ( int i = 0; i < 3; i++ ) {
385 if ( frame.carteCPU[i] != null ) {
386 auxCPU = frame.carteCPU[i].toString().toCharArray();
387 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 8 ) ) {
388 cartaDaGiocare = i;
389 return true;
390 }
391 }
392 }
393 for ( int i = 0; i < 3; i++ ) {
394 if ( frame.carteCPU[i] != null ) {
395 auxCPU = frame.carteCPU[i].toString().toCharArray();
396 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 9 ) ) {
397 cartaDaGiocare = i;
398 return true;
399 }
400 }
401 }
402 for ( int i = 0; i < 3; i++ ) {
403 if ( frame.carteCPU[i] != null ) {
404 auxCPU = frame.carteCPU[i].toString().toCharArray();
405 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 0 ) ) {
406 cartaDaGiocare = i;
407 return true;
408 }
409 }
410 }
411 return false;
412 }
413 public boolean vaiTaglio() {
414 char auxCPU[];
415 for ( int i = 0; i < 3; i++ ) {
416 if ( frame.carteCPU[i] != null ) {
417 auxCPU = frame.carteCPU[i].toString().toCharArray();
418 if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola &&
419 (auxCPU[auxCPU.length-7] - 48 != 0) && (auxCPU[auxCPU.length-7] - 48 != 1) &&
420 (auxCPU[auxCPU.length-7] - 48 != 3) && (auxCPU[auxCPU.length-7] - 48 <= 7) ) {
421 cartaDaGiocare = i;
422 return true;
423 }
424 }
425 }
426 return false;
427 }
428 public boolean vaiBriscolaAlta() {
429 char[] auxCPU;
430 for ( int i = 0; i < 3; i++ ) {
431 if ( frame.carteCPU[i] != null ) {
432 auxCPU = frame.carteCPU[i].toString().toCharArray();
433 if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 8 ) ) {
434 cartaDaGiocare = i;
435 return true;
436 }
437 }
438 }
439 for ( int i = 0; i < 3; i++ ) {
440 if ( frame.carteCPU[i] != null ) {
441 auxCPU = frame.carteCPU[i].toString().toCharArray();
442 if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 9 ) ) {
443 cartaDaGiocare = i;
444 return true;
445 }
446 }
447 }
448 for ( int i = 0; i < 3; i++ ) {
449 if ( frame.carteCPU[i] != null ) {
450 auxCPU = frame.carteCPU[i].toString().toCharArray();
451 if ( (auxCPU[auxCPU.length-5] - 49 == semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 0 ) ) {
452 cartaDaGiocare = i;
453 return true;
454 }
455 }
456 }
457 return false;
458 }
459 public boolean vaiTre() {
460 char auxCPU[];
461 for ( int i = 0; i < 3; i++ ) {
462 if ( frame.carteCPU[i] != null ) {
463 auxCPU = frame.carteCPU[i].toString().toCharArray();
464 if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola && (auxCPU[auxCPU.length-7] - 48 == 3) ) {
465 cartaDaGiocare = i;
466 return true;
467 }
468 }
469 }
470 return false;
471 }
472 public boolean vaiAsso() {
473 char auxCPU[];
474 for ( int i = 0; i < 3; i++ ) {
475 if ( frame.carteCPU[i] != null ) {
476 auxCPU = frame.carteCPU[i].toString().toCharArray();
477 if ( auxCPU[auxCPU.length-5] - 49 == semeBriscola && (auxCPU[auxCPU.length-7] - 48 == 1) ) {
478 cartaDaGiocare = i;
479 return true;
480 }
481 }
482 }
483 return false;
484 }
485 public boolean vaiCarico() {
486 char[] auxCPU;
487 for ( int i = 0; i < 3; i++ ) {
488 if ( frame.carteCPU[i] != null ) {
489 auxCPU = frame.carteCPU[i].toString().toCharArray();
490 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 3 ) ) {
491 cartaDaGiocare = i;
492 return true;
493 }
494 }
495 }
496 for ( int i = 0; i < 3; i++ ) {
497 if ( frame.carteCPU[i] != null ) {
498 auxCPU = frame.carteCPU[i].toString().toCharArray();
499 if ( (auxCPU[auxCPU.length-5] - 49 != semeBriscola) && (auxCPU[auxCPU.length-7] - 48 == 1 ) ) {
500 cartaDaGiocare = i;
501 return true;
502 }
503 }
504 }
505 return false;
506 }
507 public boolean vaiSopra() {
508 if ( frame.giocata[0] == null )
509 return false;
510 int a = -1;
511 int b = -1;
512 int c = -1;
513 boolean laPrimaPuoAndareSopra = false;
514 boolean laSecondaPuoAndareSopra = false;
515 boolean laTerzaPuoAndareSopra = false;
516 char[] auxCPU1 = new char[1024];
517 char[] auxCPU2 = new char[1024];
518 char[] auxCPU3 = new char[1024];
519 char[] aux = frame.giocata[0].toString().toCharArray();
520 if ( aux[aux.length-7] - 48 == 1 )
521 return false;
522 if ( frame.carteCPU[0] != null ) {
523 auxCPU1 = frame.carteCPU[0].toString().toCharArray();
524 a = auxCPU1[auxCPU1.length-7] - 48;
525 if ( (auxCPU1[auxCPU1.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( a, aux[aux.length-7] - 48 ) )
526 laPrimaPuoAndareSopra = true;
527 }
528 if ( frame.carteCPU[1] != null ) {
529 auxCPU2 = frame.carteCPU[1].toString().toCharArray();
530 b = auxCPU2[auxCPU2.length-7] - 48;
531 if ( (auxCPU2[auxCPU2.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( b, aux[aux.length-7] - 48 ) )
532 laSecondaPuoAndareSopra = true;
533 }
534 if ( frame.carteCPU[2] != null ) {
535 auxCPU3 = frame.carteCPU[2].toString().toCharArray();
536 c = auxCPU3[auxCPU3.length-7] - 48;
537 if ( (auxCPU3[auxCPU3.length-5] - 49 == aux[aux.length-5] - 49) && laPrimaEPiuAlta( c, aux[aux.length-7] - 48 ) )
538 laTerzaPuoAndareSopra = true;
539 }
540 if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
541 return false;
542 else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
543 cartaDaGiocare = 0;
544 else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
545 cartaDaGiocare = 1;
546 else if ( !laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
547 cartaDaGiocare = 2;
548 else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && !laTerzaPuoAndareSopra )
549 if ( laPrimaEPiuAlta( a, b ) )
550 cartaDaGiocare = 0;
551 else
552 cartaDaGiocare = 1;
553 else if ( !laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
554 if ( laPrimaEPiuAlta( b, c ) )
555 cartaDaGiocare = 1;
556 else
557 cartaDaGiocare = 2;
558 else if ( laPrimaPuoAndareSopra && !laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
559 if ( laPrimaEPiuAlta( a, c ) )
560 cartaDaGiocare = 0;
561 else
562 cartaDaGiocare = 2;
563 else if ( laPrimaPuoAndareSopra && laSecondaPuoAndareSopra && laTerzaPuoAndareSopra )
564 if ( laPrimaEPiuAlta( a, b ) )
565 if ( laPrimaEPiuAlta( a, c ) )
566 cartaDaGiocare = 0;
567 else
568 cartaDaGiocare = 2;
569 else
570 if ( laPrimaEPiuAlta( b, c ) )
571 cartaDaGiocare = 1;
572 else
573 cartaDaGiocare = 2;
574 aux = frame.carteCPU[cartaDaGiocare].toString().toCharArray();
575 if ( (aux[aux.length-7] - 48 != 0) && (aux[aux.length-7] - 48 != 1) &&
576 (aux[aux.length-7] - 48 != 3) && (aux[aux.length-7] - 48 <= 7) )
577 return false;
578 return true;
579 }
580 public static void settaOpzioni() {
581 String lang;
582 Scanner scanner = null;
583 File file = new File( "JBriscolaConfig.txt" );
584 if ( file.exists() ) {
585 try {
586 scanner = new Scanner( file );
587 } catch ( FileNotFoundException e ) {
588 lang = "it";
589 }
590 lang = scanner.next();
591 }
592 else {
593 lang = "it";
594 }
595 if ( lang.equals( "it" ) ) {
596 stringaBottonePrendi = "Prendi/Lascia carte";
597 stringaPrimaGioca = "Prima Gioca!";
598 stringaUltime4 = "Ultima carta - Occhio alla briscola!";
599 stringaVinto = "Hai Vinto!";
600 stringaPerso = "Hai Perso";
601 stringaPareggio = "Pareggio";
602 stringaGiocatore = "Giocatore: ";
603 stringaComputer = "\nComputer: ";
604 stringaNuovaPartita = "Nuova Partita";
605 stringaVuoiDavveroIniziare = "Vuoi davvero iniziare una nuova partita?";
606 stringaVuoiDavveroUscire = "Vuoi davvero uscire?";
607 stringaSi = "Si";
608 stringaNo = "No";
609 stringaOpzioni = "Opzioni...";
610 stringaEsci = "Esci";
611 stringaImpossibileConfigurare = "Impossibile modificare il file di configurazione.\nSegnalare il bug a: sebastiano@luganega.org\n\nEccezione:\n";
612 stringaLingua = "Lingua";
613 stringaAnnulla = "Annulla";
614 stringaIt = "Italiano";
615 stringaLa = "Latino";
616 stringaBL = "Dialetto Bellunese";
617 stringaBV = "Dialetto Basso Veneto";
618 stringaNecessarioRiavviare = "E' necessario riavviare JBriscola se sono state\nmodificate impostazioni riguardanti la lingua\nAlcune parti saranno comunque tradotte prima.";
619 stringaModificaOpzioni = "Modifica Opzioni";
620 stringaInformazioni = "Informazioni";
621 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";
622 }
623 else if ( lang.equals( "la" ) ) {
624 stringaBottonePrendi = "CAPIS/RELINQVIS CHARTAS";
625 stringaPrimaGioca = "ANTE CHARTAM PONE!";
626 stringaUltime4 = "CHARTA POSTREMA - INTVERE BRISCOLAM!";
627 stringaVinto = "VICISTI!";
628 stringaPerso = "PERDIDISTI";
629 stringaPareggio = "AEQVATIO!";
630 stringaGiocatore = "LVSOR: ";
631 stringaComputer = "\nCOMPVTER: ";
632 stringaNuovaPartita = "NOVA LVSO";
633 stringaVuoiDavveroIniziare = "NOVAM LVSIONEM INCIPERE?";
634 stringaVuoiDavveroUscire = "EXIRE?";
635 stringaSi = "ID VOLO";
636 stringaNo = "NOLO";
637 stringaOpzioni = "OPTIONES...";
638 stringaEsci = "EXIRE";
639 stringaImpossibileConfigurare = "CONFIGVRATIONIS FILE SCRIBERE NON POTVI.\nERROREM ME CERTIOREM FACITE: sebastiano@luganega.org\n\nEXCEPTIO:\n";
640 stringaLingua = "LINGVA";
641 stringaAnnulla = "ABROGA";
642 stringaIt = "ITALICA";
643 stringaLa = "LATINA";
644 stringaBL = "BELLUNI";
645 stringaBV = "VENETIAE";
646 stringaNecessarioRiavviare = "JBRISCOLAM RVRSVS INCIPERE NECESSE EST\nSI LINGVA PRAELATIONES NOVATAE SVNT.\nALIQVAE ANTE ID VERSA ERVNT";
647 stringaModificaOpzioni = "OPTIONES NOVARE";
648 stringaInformazioni = "INFORMATIONES";
649 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";
650 }
651 if ( lang.equals( "bl" ) ) {
652 stringaBottonePrendi = "Cio' su/lasa le carte";
653 stringaPrimaGioca = "Prima Duga!";
654 stringaUltime4 = "Ultima carta - Ocio a la briscola!";
655 stringaVinto = "Te ha vint!";
656 stringaPerso = "Te ha pers";
657 stringaPareggio = "Pari";
658 stringaGiocatore = "Dugador: ";
659 stringaComputer = "\nComputer: ";
660 stringaNuovaPartita = "Taca n'altra partida";
661 stringaVuoiDavveroIniziare = "Utu sul serio scuminziar n'altra partida?";
662 stringaVuoiDavveroUscire = "Utu sul serio stusar su?";
663 stringaSi = "Si";
664 stringaNo = "No";
665 stringaOpzioni = "Opzioni...";
666 stringaEsci = "Stusa su";
667 stringaImpossibileConfigurare = "No ghe ho riva' a scrivere al file de configurazion.\nMandeme na mail a: sebastiano@luganega.org\n\nEcezion:\n";
668 stringaLingua = "Lengua";
669 stringaAnnulla = "Annulla";
670 stringaIt = "Italian";
671 stringaLa = "Latin";
672 stringaBL = "Dialeto de Belun";
673 stringaBV = "Dialeto de la basa";
674 stringaNecessarioRiavviare = "Se te ha cambia' la lengua te toca\nstusar su e impizar de novo al dugo\nPero' zerte robe le e' belche tradote.";
675 stringaModificaOpzioni = "Modifica Opzioni";
676 stringaInformazioni = "Informazioni";
677 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";
678 }
679 if ( lang.equals( "bv" ) ) {
680 stringaBottonePrendi = "Ciapa su/lasa e carte";
681 stringaPrimaGioca = "Prima Zuga!";
682 stringaUltime4 = "Ultima carta - Ocio a la briscola!";
683 stringaVinto = "Ti ga vinto!";
684 stringaPerso = "Ti ga perso";
685 stringaPareggio = "Pari";
686 stringaGiocatore = "Zugador: ";
687 stringaComputer = "\nComputer: ";
688 stringaNuovaPartita = "N'altra Partida";
689 stringaVuoiDavveroIniziare = "Ti vol sul serio scuminziar n'altra partida?";
690 stringaVuoiDavveroUscire = "Ti vol sul serio stusar su?";
691 stringaSi = "Si";
692 stringaNo = "No";
693 stringaOpzioni = "Opzioni...";
694 stringaEsci = "Stusa su";
695 stringaImpossibileConfigurare = "No ghe son riusito a scrivere al file de configurazione.\nMandeme na mail a: sebastiano@luganega.org\n\nEcezion:\n";
696 stringaLingua = "Lengua";
697 stringaAnnulla = "Annulla";
698 stringaIt = "Italian";
699 stringaLa = "Latin";
700 stringaBL = "Dialeto Belumat";
701 stringaBV = "Dialeto Veneto";
702 stringaNecessarioRiavviare = "Se ti ga cambia' la lengua te toca\nstusar su e impizar de novo al zugo\nPero' zerte robe le e' belche tradote.";
703 stringaModificaOpzioni = "Modifica Opzioni";
704 stringaInformazioni = "Informasioni";
705 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";
706 }
707 }
708}
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/OptionFrame.java b/JBriscola/all_versions/0.1/0.1.1/src/OptionFrame.java
new file mode 100755
index 0000000..bd6f0da
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/OptionFrame.java
@@ -0,0 +1,87 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import java.util.Formatter;
23import javax.swing.*;
24import java.awt.*;
25import java.awt.event.*;
26
27public class OptionFrame extends JFrame {
28 public static Main main = new Main();
29 public static Formatter formatter;
30 public static JButton ok, annulla;
31 public static JLabel lingua;
32 public static JComboBox selezionaLingua;
33 public static JPanel pannello1, pannello2;
34 public OptionFrame() {
35 super( "JBriscola - " + main.stringaModificaOpzioni );
36 ok = new JButton( "OK" );
37 ok.addActionListener( new ActionListener() {
38 public void actionPerformed( ActionEvent e ) {
39 try {
40 formatter = new Formatter( "JBriscolaConfig.txt" );
41 } catch ( Exception ex ) {
42 JOptionPane.showMessageDialog( OptionFrame.this, main.stringaImpossibileConfigurare + ex );
43 }
44 String lang;
45 switch ( selezionaLingua.getSelectedIndex() ) {
46 case 0:
47 lang = "it";
48 break;
49 case 1:
50 lang = "la";
51 break;
52 case 2:
53 lang = "bl";
54 break;
55 case 3:
56 lang = "bv";
57 break;
58 default:
59 lang = "it";
60 break;
61 }
62 formatter.format( lang );
63 formatter.close();
64 main.settaOpzioni();
65 OptionFrame.this.dispose();
66 JOptionPane.showMessageDialog( OptionFrame.this, main.stringaNecessarioRiavviare, "JBriscola 0.1", JOptionPane.INFORMATION_MESSAGE );
67 }
68 });
69 annulla = new JButton( main.stringaAnnulla );
70 annulla.addActionListener( new ActionListener() {
71 public void actionPerformed( ActionEvent e ) {
72 OptionFrame.this.dispose();
73 }
74 });
75 lingua = new JLabel( main.stringaLingua );
76 String[] lingueDaSelezionare = { main.stringaIt, main.stringaLa, main.stringaBL, main.stringaBV };
77 selezionaLingua = new JComboBox( lingueDaSelezionare );
78 pannello1 = new JPanel( new FlowLayout() );
79 pannello1.add( lingua );
80 pannello1.add( selezionaLingua );
81 pannello2 = new JPanel( new FlowLayout() );
82 pannello2.add( ok );
83 pannello2.add( annulla );
84 add( pannello1, BorderLayout.CENTER );
85 add( pannello2, BorderLayout.SOUTH );
86 }
87}
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/Pannello.java b/JBriscola/all_versions/0.1/0.1.1/src/Pannello.java
new file mode 100755
index 0000000..9e73356
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/Pannello.java
@@ -0,0 +1,53 @@
1/*
2Copyright 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This 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
22import javax.swing.*;
23import java.awt.Graphics;
24
25public class Pannello extends JPanel {
26 public static Main main;
27 public Pannello() {
28 }
29 public void paint( Graphics g ) {
30 super.paint( g );
31 if ( main.frame.ultimaCarta != null )
32 main.frame.ultimaCarta.paintIcon( this, g, 50, 180 );
33 if ( main.frame.mazzo )
34 main.frame.retro2.paintIcon( this, g, 17, 256 );
35 if ( main.frame.carteCPU[0] != null )
36 main.frame.retro1.paintIcon( this, g, 230, 5 );
37 if ( main.frame.carteCPU[1] != null )
38 main.frame.retro1.paintIcon( this, g, 300, 5 );
39 if ( main.frame.carteCPU[2] != null )
40 main.frame.retro1.paintIcon( this, g, 370, 5 );
41 if ( main.frame.carteInMano[0] != null )
42 main.frame.carteInMano[0].paintIcon( this, g, 230, 340 );
43 if ( main.frame.carteInMano[1] != null )
44 main.frame.carteInMano[1].paintIcon( this, g, 300, 340 );
45 if ( main.frame.carteInMano[2] != null )
46 main.frame.carteInMano[2].paintIcon( this, g, 370, 340 );
47 if ( main.frame.giocata[0] != null )
48 main.frame.giocata[0].paintIcon( this, g, 250, 200 );
49 if ( main.frame.giocata[1] != null )
50 main.frame.giocata[1].paintIcon( this, g, 325, 150 );
51 }
52}
53
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/1-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/1-1.jpg
new file mode 100755
index 0000000..ae43510
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/1-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/1-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/1-2.jpg
new file mode 100755
index 0000000..3f7c75a
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/1-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/1-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/1-3.jpg
new file mode 100755
index 0000000..9e1ead7
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/1-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/1-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/1-4.jpg
new file mode 100755
index 0000000..710f879
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/1-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/10-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/10-1.jpg
new file mode 100755
index 0000000..9aba45a
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/10-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/10-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/10-2.jpg
new file mode 100755
index 0000000..037eeb7
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/10-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/10-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/10-3.jpg
new file mode 100755
index 0000000..8780b72
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/10-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/10-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/10-4.jpg
new file mode 100755
index 0000000..587dc0f
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/10-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/2-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/2-1.jpg
new file mode 100755
index 0000000..5dcb7db
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/2-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/2-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/2-2.jpg
new file mode 100755
index 0000000..ea9eeb7
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/2-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/2-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/2-3.jpg
new file mode 100755
index 0000000..8cb22dd
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/2-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/2-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/2-4.jpg
new file mode 100755
index 0000000..b3e7898
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/2-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/3-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/3-1.jpg
new file mode 100755
index 0000000..dcb435c
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/3-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/3-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/3-2.jpg
new file mode 100755
index 0000000..1e5b6ec
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/3-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/3-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/3-3.jpg
new file mode 100755
index 0000000..9202cfe
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/3-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/3-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/3-4.jpg
new file mode 100755
index 0000000..5436a8d
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/3-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/4-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/4-1.jpg
new file mode 100755
index 0000000..3bab6d5
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/4-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/4-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/4-2.jpg
new file mode 100755
index 0000000..b4901a6
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/4-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/4-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/4-3.jpg
new file mode 100755
index 0000000..d754ad8
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/4-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/4-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/4-4.jpg
new file mode 100755
index 0000000..3a54b96
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/4-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/5-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/5-1.jpg
new file mode 100755
index 0000000..3f7ba1f
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/5-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/5-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/5-2.jpg
new file mode 100755
index 0000000..fcacb75
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/5-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/5-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/5-3.jpg
new file mode 100755
index 0000000..ce32f9f
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/5-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/5-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/5-4.jpg
new file mode 100755
index 0000000..b86b09a
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/5-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/6-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/6-1.jpg
new file mode 100755
index 0000000..f90cd81
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/6-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/6-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/6-2.jpg
new file mode 100755
index 0000000..cf2a67a
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/6-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/6-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/6-3.jpg
new file mode 100755
index 0000000..2cd2fe2
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/6-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/6-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/6-4.jpg
new file mode 100755
index 0000000..73f410f
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/6-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/7-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/7-1.jpg
new file mode 100755
index 0000000..08cd397
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/7-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/7-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/7-2.jpg
new file mode 100755
index 0000000..a168ff8
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/7-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/7-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/7-3.jpg
new file mode 100755
index 0000000..5cda411
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/7-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/7-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/7-4.jpg
new file mode 100755
index 0000000..5d63229
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/7-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/8-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/8-1.jpg
new file mode 100755
index 0000000..a6faa7b
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/8-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/8-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/8-2.jpg
new file mode 100755
index 0000000..0d9edbb
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/8-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/8-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/8-3.jpg
new file mode 100755
index 0000000..91f8354
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/8-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/8-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/8-4.jpg
new file mode 100755
index 0000000..cc0089c
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/8-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/9-1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/9-1.jpg
new file mode 100755
index 0000000..be9c6bf
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/9-1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/9-2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/9-2.jpg
new file mode 100755
index 0000000..e25da4c
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/9-2.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/9-3.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/9-3.jpg
new file mode 100755
index 0000000..cd384f8
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/9-3.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/9-4.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/9-4.jpg
new file mode 100755
index 0000000..441210e
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/9-4.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/carte.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/carte.jpg
new file mode 100755
index 0000000..838ffac
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/carte.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/retro1.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/retro1.jpg
new file mode 100755
index 0000000..9651b06
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/retro1.jpg
Binary files differ
diff --git a/JBriscola/all_versions/0.1/0.1.1/src/img/retro2.jpg b/JBriscola/all_versions/0.1/0.1.1/src/img/retro2.jpg
new file mode 100755
index 0000000..c5d3925
--- /dev/null
+++ b/JBriscola/all_versions/0.1/0.1.1/src/img/retro2.jpg
Binary files differ

Generated with cgit - Back to sebastiano.tronto.net