ancient-projects

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

List.java (2557B)


      1 /*
      2 Copyright 2008, 2009 Sebastiano Tronto <sebastiano@luganega.org>
      3 
      4 This 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 
     22 import javax.swing.JOptionPane;
     23 
     24 public class List {
     25 	public static Main main = new Main();
     26 	public Robot primoRobot, ultimoRobot;
     27 	public List() {
     28 		primoRobot = ultimoRobot = null;
     29 	}
     30 	public boolean vuota() {
     31 		return primoRobot == null;
     32 	}
     33 	public Robot getRobot( String nome ) {
     34 		Robot i = primoRobot;
     35 		for ( ; !i.nomeRobot.equals( nome ); i = i.prossimoRobot ) ;
     36 		return i;
     37 	}
     38 	public void newRobot() {
     39 		newRobot( false, false, false, false, "" );
     40 	}
     41 	public void newRobot( String nome ) {
     42 		newRobot( false, false, false, false, nome );
     43 	}
     44 	public void newRobot( boolean la, boolean ra, boolean ll, boolean rl, String nome ) {
     45 		if ( vuota() )
     46 			primoRobot = ultimoRobot = new Robot( la, ra, ll, rl, nome, null, null );
     47 		else {
     48 			ultimoRobot = new Robot( la, ra, ll, rl, nome, ultimoRobot, null );
     49 			ultimoRobot.precedenteRobot.prossimoRobot = ultimoRobot;
     50 		}
     51 	}
     52 	public void deleteRobot( String nome ) {
     53 		if ( vuota() )
     54 			JOptionPane.showMessageDialog( main.frame, "Nessun robottino presente. Impossibile cancellarne uno", "Robottino v4.0 - Errore", JOptionPane.ERROR_MESSAGE );
     55 		else {
     56 			Robot i = primoRobot;
     57 			for ( ; !i.nomeRobot.equals( nome ); i = i.prossimoRobot ) ;
     58 			if ( i.precedenteRobot != null )
     59 				i.precedenteRobot.prossimoRobot = i.prossimoRobot;
     60 			else
     61 				primoRobot = i.prossimoRobot;
     62 			if ( i.prossimoRobot != null )
     63 				i.prossimoRobot.precedenteRobot = i.precedenteRobot;
     64 			else
     65 				ultimoRobot = i.precedenteRobot;
     66 		}
     67 	}
     68 	public void printList() {
     69 		String lista = "";
     70 		for ( Robot i = primoRobot; i != null; i = i.prossimoRobot )
     71 			lista += i.getName() + " ";
     72 		JOptionPane.showMessageDialog( main.frame, lista, "Robottino v4.0 - Robottini Presenti", JOptionPane.PLAIN_MESSAGE );
     73 	}
     74 }