Robottino.java (2229B)
1 // Robottino versione 3.0 2 3 // Dichiaro che questa classe fa parte del package RobottinoMain, che verrà poi importato 4 // dalle classi che dovranno interagire con essa. 5 package RobottinoMain; 6 7 // Importo la classe Grafica per poter "costruire" una finestra. 8 import RobottinoUtils.*; 9 10 // E il package Robottinoazioni per poterne inizializzare i vettori 11 import RobottinoAzioni.*; 12 13 // java.util.Vector serve a gestire i vettori. 14 // I vettori sono come array, ma hanno due differenze principali: 15 // 1) la loro lunghezza può variare durante l'esecuzione del programma 16 // (per questo li ho preferiti agli array); 17 // 2) possono contenere soltanto oggetti, e non tipi primitivi. 18 import java.util.Vector; 19 20 // Dichiaro la classe. 21 public class Robottino { 22 23 // Istanzio la classe Thread per poter utilizzare il metodo sleep(int millisecondi) 24 // che in un metodo dell'interfaccia WindowListener, overridato nella classe Listener 25 // servirà a mettere il programma in uno stato di pausa. 26 // Sarebbe comunque possibile invocarlo, ma così sarà più facile da modificare in futuro. 27 public Thread threadMain; 28 29 // Crea la finestra tramite un'istanza della classe Grafica, del package RobottinoUtils. 30 public Grafica finestra; 31 32 // Creo anche un'istanza di questa classe per avere accesso agli elementi non statici. 33 public static Robottino robottino; 34 35 // Inizio del metodo main... 36 public static void main(String[] args) { 37 38 // Inizializzo i vari oggetti. 39 robottino = new Robottino(); 40 robottino.finestra = new Grafica(); 41 robottino.threadMain = new Thread(Thread.currentThread()); 42 43 // Aggiungo gli elementi ai vettori. 44 // non potevo farlo prima, poiché al di fuori di un metodo è possibile soltanto 45 // dichiarare oggetti/variabili (e inizializzarli) o dichiarare un metodo 46 // e in RobottinoAzioni è presente solo il metodo Azioni che viene richiamato più volte. 47 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.leftArm); 48 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.rightArm); 49 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.leftLeg); 50 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.rightLeg); 51 RobottinoAzioni.pdrA.addElement(RobottinoAzioni.pdrB); 52 RobottinoAzioni.nomeRobot.addElement(""); 53 } 54 } 55 56 57 58 59 60 61 62 63