// Robottino versione 3.0 // Dichiaro che questa classe fa parte del package RobottinoMain, che verrà poi importato // dalle classi che dovranno interagire con essa. package RobottinoMain; // Importo la classe Grafica per poter "costruire" una finestra. import RobottinoUtils.*; // E il package Robottinoazioni per poterne inizializzare i vettori import RobottinoAzioni.*; // java.util.Vector serve a gestire i vettori. // I vettori sono come array, ma hanno due differenze principali: // 1) la loro lunghezza può variare durante l'esecuzione del programma // (per questo li ho preferiti agli array); // 2) possono contenere soltanto oggetti, e non tipi primitivi. import java.util.Vector; // Dichiaro la classe. public class Robottino { // Istanzio la classe Thread per poter utilizzare il metodo sleep(int millisecondi) // che in un metodo dell'interfaccia WindowListener, overridato nella classe Listener // servirà a mettere il programma in uno stato di pausa. // Sarebbe comunque possibile invocarlo, ma così sarà più facile da modificare in futuro. public Thread threadMain; // Crea la finestra tramite un'istanza della classe Grafica, del package RobottinoUtils. public Grafica finestra; // Creo anche un'istanza di questa classe per avere accesso agli elementi non statici. public static Robottino robottino; // Inizio del metodo main... public static void main(String[] args) { // Inizializzo i vari oggetti. robottino = new Robottino(); robottino.finestra = new Grafica(); robottino.threadMain = new Thread(Thread.currentThread()); // Aggiungo gli elementi ai vettori. // non potevo farlo prima, poiché al di fuori di un metodo è possibile soltanto // dichiarare oggetti/variabili (e inizializzarli) o dichiarare un metodo // e in RobottinoAzioni è presente solo il metodo Azioni che viene richiamato più volte. RobottinoAzioni.pdrB.addElement(RobottinoAzioni.leftArm); RobottinoAzioni.pdrB.addElement(RobottinoAzioni.rightArm); RobottinoAzioni.pdrB.addElement(RobottinoAzioni.leftLeg); RobottinoAzioni.pdrB.addElement(RobottinoAzioni.rightLeg); RobottinoAzioni.pdrA.addElement(RobottinoAzioni.pdrB); RobottinoAzioni.nomeRobot.addElement(""); } }