// Robottino versione 2.2 // Da questa versione illustrerò tutte le parti del programma con dei commenti come questo. // 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.Grafica; // 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 static Thread threadMain; // Inizio del metodo main... public static void main(String[] args) { 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(""); // Crea la finestra tramite un'istanza della classe Grafica, del package RobottinoUtils Grafica finestra = new Grafica(); // Output iniziale nellla shell System.out.println ("**********************************************"); System.out.println ("**********************************************"); System.out.println ("*************Programma interattivo************"); System.out.println ("**********************************************"); System.out.println ("***Software realizzato da Sebastiano Tronto***"); System.out.println ("**********************************************"); System.out.println ("**********************************************"); System.out.println ("Questo programma simula un robot al quale ven-"); System.out.println ("gono assegnati ordini tramite comandi, simil-" ); System.out.println ("mente a quanto bisognava fare con i computer " ); System.out.println ("alcuni anni fa." ); System.out.println ("Dato che all'epoca i comandi che dovevano es-" ); System.out.println ("sere dati erano (e sono tutt'ora) in similin-" ); System.out.println ("glese, ho cercato di mantenerli tali." ); System.out.println ("Da questa versione (v2.3) i comandi devono es-"); System.out.println ("sere dati attraverso i menu File, Modifica o " ); System.out.println ("Azioni della finestra." ); System.out.println ("" ); System.out.println ("Tuttavia la reazione del robottino verrà vi-" ); System.out.println ("sualizzata attraverso la shell." ); System.out.println (""); } // Fine del metodo main. }