aboutsummaryrefslogtreecommitdiff
path: root/robottino/all_versions/v4.2/src/Frame.java
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2026-03-26 19:27:18 +0100
committerSebastiano Tronto <sebastiano@tronto.net>2026-03-26 19:27:18 +0100
commit7167b4341ef290d56fb96e2af10883a4b925d83b (patch)
tree1eb1b9e5ab82ddd89540e68d6b22ae69514575c6 /robottino/all_versions/v4.2/src/Frame.java
downloadancient-projects-master.tar.gz
ancient-projects-master.zip
I found my old code!HEADmaster
Diffstat (limited to 'robottino/all_versions/v4.2/src/Frame.java')
-rwxr-xr-xrobottino/all_versions/v4.2/src/Frame.java314
1 files changed, 314 insertions, 0 deletions
diff --git a/robottino/all_versions/v4.2/src/Frame.java b/robottino/all_versions/v4.2/src/Frame.java
new file mode 100755
index 0000000..6015c41
--- /dev/null
+++ b/robottino/all_versions/v4.2/src/Frame.java
@@ -0,0 +1,314 @@
1/*
2Copyright 2008, 2009 Sebastiano Tronto <sebastiano@luganega.org>
3
4This file is part of Robottino.
5
6 Robottino 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 Robottino 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 Robottino; 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 implements ActionListener {
27 public static int i;
28 public static Main main;
29 public static RobotPanel robotPanel;
30 public static JLabel label;
31 public static Timer timer;
32 public static JMenuBar barraMenu;
33 public static JMenu file, modifica, azioni, info, raMenu, laMenu, rlMenu, llMenu;
34 public static JMenuItem raonMenuItem, raoffMenuItem, rachangeMenuItem, laonMenuItem, laoffMenuItem, lachangeMenuItem;
35 public static JMenuItem rlonMenuItem, rloffMenuItem, rlchangeMenuItem, llonMenuItem, lloffMenuItem, llchangeMenuItem;
36 public static JMenuItem rinomina, birra, balla, esplodi, informazioni, esci;
37 public Frame() {
38 super( "Robottino versione 4.2" );
39 i = 0;
40 main = new Main();
41 robotPanel = new RobotPanel();
42 label = new JLabel( "Robot: " + main.robot.getName() );
43 label.setFont( new Font( "Monospace", 0, 30 ) );
44 barraMenu = new JMenuBar();
45 rinomina = new JMenuItem( "Cambia nome" );
46 birra = new JMenuItem( "Birra" );
47 balla = new JMenuItem( "Balla" );
48 esplodi = new JMenuItem( "Esplodi" );
49 informazioni = new JMenuItem( "Informazioni" );
50 esci = new JMenuItem( "Esci" );
51 raonMenuItem = new JMenuItem( "Alza" );
52 laonMenuItem = new JMenuItem( "Alza" );
53 rlonMenuItem = new JMenuItem( "Alza" );
54 llonMenuItem = new JMenuItem( "Alza" );
55 raoffMenuItem = new JMenuItem( "Abbassa" );
56 laoffMenuItem = new JMenuItem( "Abbassa" );
57 rloffMenuItem = new JMenuItem( "Abbassa" );
58 lloffMenuItem = new JMenuItem( "Abbassa" );
59 rachangeMenuItem = new JMenuItem( "Cambia posizione" );
60 lachangeMenuItem = new JMenuItem( "Cambia posizione" );
61 rlchangeMenuItem = new JMenuItem( "Cambia posizione" );
62 llchangeMenuItem = new JMenuItem( "Cambia posizione" );
63 esci.addActionListener( this );
64 rinomina.addActionListener( this );
65 birra.addActionListener( this );
66 balla.addActionListener( this );
67 esplodi.addActionListener( this );
68 informazioni.addActionListener( this );
69 raonMenuItem.addActionListener( this );
70 raoffMenuItem.addActionListener( this );
71 rachangeMenuItem.addActionListener( this );
72 laonMenuItem.addActionListener( this );
73 laoffMenuItem.addActionListener( this );
74 lachangeMenuItem.addActionListener( this );
75 rlonMenuItem.addActionListener( this );
76 rloffMenuItem.addActionListener( this );
77 rlchangeMenuItem.addActionListener( this );
78 llonMenuItem.addActionListener( this );
79 lloffMenuItem.addActionListener( this );
80 llchangeMenuItem.addActionListener( this );
81 raMenu = new JMenu( "Braccio destro" );
82 raMenu.add( raonMenuItem );
83 raMenu.add( raoffMenuItem );
84 raMenu.add( rachangeMenuItem );
85 laMenu = new JMenu( "Braccio sinistro" );
86 laMenu.add( laonMenuItem );
87 laMenu.add( laoffMenuItem );
88 laMenu.add( lachangeMenuItem );
89 rlMenu = new JMenu( "Gamba destra" );
90 rlMenu.add( rlonMenuItem );
91 rlMenu.add( rloffMenuItem );
92 rlMenu.add( rlchangeMenuItem );
93 llMenu = new JMenu( "Gamba sinistra" );
94 llMenu.add( llonMenuItem );
95 llMenu.add( lloffMenuItem );
96 llMenu.add( llchangeMenuItem );
97 modifica = new JMenu( "Modifica" );
98 modifica.add( raMenu );
99 modifica.add( laMenu );
100 modifica.add( rlMenu );
101 modifica.add( llMenu );
102 file = new JMenu( "File" );
103 file.add( rinomina );
104 file.add( esci );
105 azioni = new JMenu( "Azioni" );
106 azioni.add( birra );
107 azioni.add( balla );
108 azioni.add( esplodi );
109 info = new JMenu( "?" );
110 info.add( informazioni );
111 barraMenu.add( file );
112 barraMenu.add( modifica );
113 barraMenu.add( azioni );
114 barraMenu.add( info );
115 setJMenuBar( barraMenu );
116 add( robotPanel, BorderLayout.CENTER );
117 add( label, BorderLayout.SOUTH );
118 addWindowListener(
119 new WindowAdapter() {
120 public void windowClosing( WindowEvent e ) {
121 int selezione = JOptionPane.showOptionDialog( Frame.this, "Vuoi davvero uscire?", "Robottino v4.2", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { "Si", "No" }, "No" );
122 if ( selezione == JOptionPane.YES_OPTION )
123 System.exit( 0 );
124 }
125 }
126 );
127 }
128 public void actionPerformed( ActionEvent e ) {
129 if ( e.getSource() == esci ) {
130 int selezione = JOptionPane.showOptionDialog( this, "Vuoi davvero uscire?", "Robottino v4.2", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, new String[] { "Si", "No" }, "No" );
131 if ( selezione == JOptionPane.YES_OPTION )
132 System.exit( 0 );
133 }
134 else if ( e.getSource() == rinomina ) {
135 String newName = main.robot.getName();
136 newName = JOptionPane.showInputDialog( this, "Inserire il nuovo nome per il robottino:", newName );
137 if ( newName != null ) {
138 main.robot.setName( newName );
139 label .setText( "Robot: " + main.robot.getName() );
140 }
141 }
142 else if ( e.getSource() == raonMenuItem )
143 main.robot.setRA( true );
144 else if ( e.getSource() == raoffMenuItem )
145 main.robot.setRA( false );
146 else if ( e.getSource() == rachangeMenuItem )
147 main.robot.setRA( !main.robot.rightArm );
148 else if ( e.getSource() == laonMenuItem )
149 main.robot.setLA( true );
150 else if ( e.getSource() == laoffMenuItem )
151 main.robot.setLA( false );
152 else if ( e.getSource() == lachangeMenuItem )
153 main.robot.setLA( !main.robot.leftArm );
154 else if ( e.getSource() == rlonMenuItem )
155 main.robot.setRL( true );
156 else if ( e.getSource() == rloffMenuItem )
157 main.robot.setRL( false );
158 else if ( e.getSource() == rlchangeMenuItem )
159 main.robot.setRL( !main.robot.rightLeg );
160 else if ( e.getSource() == llonMenuItem )
161 main.robot.setLL( true );
162 else if ( e.getSource() == lloffMenuItem )
163 main.robot.setLL( false );
164 else if ( e.getSource() == llchangeMenuItem )
165 main.robot.setLL( !main.robot.leftLeg );
166 else if ( e.getSource() == birra ) {
167 ImageIcon birra = new ImageIcon( ClassLoader.getSystemResource( "img/birra5.gif" ) );
168 JOptionPane.showMessageDialog( this, "", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE, birra );
169 birra = new ImageIcon( ClassLoader.getSystemResource( "img/birra1.jpg" ) );
170 JOptionPane.showMessageDialog( this, "", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE, birra );
171 birra = new ImageIcon( ClassLoader.getSystemResource( "img/birra2.jpg" ) );
172 JOptionPane.showMessageDialog( this, "", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE, birra );
173 birra = new ImageIcon( ClassLoader.getSystemResource( "img/birra3.jpg" ) );
174 JOptionPane.showMessageDialog( this, "", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE, birra );
175 birra = new ImageIcon( ClassLoader.getSystemResource( "img/birra4.jpg" ) );
176 JOptionPane.showMessageDialog( this, "", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE, birra );
177 JOptionPane.showMessageDialog( this, "Che bevuta!", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE );
178 JOptionPane.showMessageDialog( this, "Buuuuuuurp!", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE );
179 robotPanel.body = new ImageIcon( ClassLoader.getSystemResource( "img/robot.gif" ) );
180 }
181 if ( e.getSource() == esplodi ) {
182 String aux = main.robot.getName();
183 main.robot.setPositions( false, false, false, false );
184 main.robot.setName( "no-name" );
185 label.setText( "Robot: " + main.robot.getName() );
186 ImageIcon boom = new ImageIcon( ClassLoader.getSystemResource( "img/boom.png" ) );
187 JOptionPane.showMessageDialog( this, "", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE, boom );
188 JOptionPane.showMessageDialog( this, aux + " si è autodistrutto!", "Robottino v4.2", JOptionPane.WARNING_MESSAGE );
189 JOptionPane.showMessageDialog( this, "È stato creato un nuovo robottino: " + main.robot.getName(), "Robottino v4.2", JOptionPane.INFORMATION_MESSAGE );
190 }
191 if ( e.getSource() == informazioni ) {
192 String aux = main.robot.getName() + ":\n\n";
193 if ( main.robot.rightArm )
194 aux += "Braccio destro: alzato\n";
195 else
196 aux += "Braccio destro: abbassato\n";
197 if ( main.robot.leftArm )
198 aux += "Braccio sinistro: alzato\n";
199 else
200 aux += "Braccio sinistro: abbassato\n";
201 if ( main.robot.rightLeg )
202 aux += "Gamba destra: alzata\n";
203 else
204 aux += "Gamba destra: abbassata\n";
205 if ( main.robot.leftLeg )
206 aux += "Gamba sinistra: alzata\n";
207 else
208 aux += "Gamba sinistra: abbassata\n";
209 JOptionPane.showMessageDialog( this, aux, "Robottino - v4.2", JOptionPane.INFORMATION_MESSAGE );
210 }
211 else if ( e.getSource() == balla ) {
212 this.i = 0;
213 main.robot.setPositions( false, false, false, false );
214 timer = new Timer( 250,
215 new ActionListener() {
216 public void actionPerformed( ActionEvent e ) {
217 Frame.this.i++;
218 switch( Frame.this.i ) {
219 case 1:
220 Frame.main.robot.setRA( true );
221 break;
222 case 2:
223 break;
224 case 3:
225 Frame.main.robot.setLA( true );
226 break;
227 case 4:
228 break;
229 case 5:
230 Frame.main.robot.setPositions( false, false, false, true );
231 break;
232 case 6:
233 Frame.main.robot.setPositions( true, true, false, false );
234 break;
235 case 7:
236 Frame.main.robot.setPositions( false, false, true, false );
237 break;
238 case 8:
239 Frame.main.robot.setPositions( true, true, false, false );
240 break;
241 case 9:
242 Frame.main.robot.setPositions( true, false, false, true );
243 break;
244 case 10:
245 Frame.main.robot.setPositions( false, false, false, false );
246 break;
247 case 11:
248 Frame.main.robot.setPositions( true, false, false, true );
249 break;
250 case 12:
251 Frame.main.robot.setPositions( false, true, true, false );
252 break;
253 case 13:
254 Frame.main.robot.setPositions( false, false, false, false );
255 break;
256 case 14:
257 Frame.main.robot.setPositions( false, true, true, false );
258 break;
259 case 15:
260 Frame.main.robot.setPositions( false, false, false, false );
261 break;
262 case 16:
263 break;
264 case 17:
265 Frame.main.robot.setPositions( false, false, true, false );
266 break;
267 case 18:
268 Frame.main.robot.setPositions( false, false, false, true );
269 break;
270 case 19:
271 Frame.main.robot.setPositions( false, false, true, false );
272 break;
273 case 20:
274 Frame.main.robot.setPositions( false, false, false, true );
275 break;
276 case 21:
277 Frame.main.robot.setPositions( false, false, true, false );
278 break;
279 case 22:
280 Frame.main.robot.setPositions( false, false, false, true );
281 break;
282 case 23:
283 Frame.main.robot.setPositions( true, true, true, true );
284 break;
285 case 24:
286 break;
287 case 25:
288 break;
289 case 26:
290 Frame.main.robot.setPositions( false, false, false, false );
291 break;
292 case 27:
293 JOptionPane.showMessageDialog( Frame.this, "Cha fatica!", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE );
294 JOptionPane.showMessageDialog( Frame.this, Frame.main.robot.getName() + " è tornato alla posizione di partenza", "Robottino v4.2", JOptionPane.PLAIN_MESSAGE );
295 break;
296 default:
297 timer.stop();
298 break;
299 }
300 Frame.this.robotPanel.setImages();
301 Frame.this.robotPanel.repaint();
302 Frame.this.repaint();
303 }
304 }
305 );
306 timer.start();
307 }
308 try {
309 this.robotPanel.setImages();
310 this.robotPanel.repaint();
311 this.repaint();
312 } catch ( NullPointerException n ) { }
313 }
314} \ No newline at end of file

Generated with cgit - Back to sebastiano.tronto.net