Robottino.java (3659B)
1 // Robottino versione 2.2 2 // Da questa versione illustrerò tutte le parti del programma con dei commenti come questo. 3 4 // Dichiaro che questa classe fa parte del package RobottinoMain, che verrà poi importato 5 // dalle classi che dovranno interagire con essa. 6 package RobottinoMain; 7 8 // Importo la classe Grafica per poter "costruire" una finestra. 9 import RobottinoUtils.Grafica; 10 11 // E il package Robottinoazioni per poterne inizializzare i vettori 12 import RobottinoAzioni.*; 13 14 // java.util.Vector serve a gestire i vettori. 15 // I vettori sono come array, ma hanno due differenze principali: 16 // 1) la loro lunghezza può variare durante l'esecuzione del programma 17 // (per questo li ho preferiti agli array); 18 // 2) possono contenere soltanto oggetti, e non tipi primitivi. 19 import java.util.Vector; 20 21 // Dichiaro la classe. 22 public class Robottino { 23 24 25 // Istanzio la classe Thread per poter utilizzare il metodo sleep(int millisecondi) 26 // che in un metodo dell'interfaccia WindowListener, overridato nella classe Listener 27 // servirà a mettere il programma in uno stato di pausa. 28 // Sarebbe comunque possibile invocarlo, ma così sarà più facile da modificare in futuro. 29 public static Thread threadMain; 30 31 // Inizio del metodo main... 32 public static void main(String[] args) { 33 34 threadMain = new Thread(Thread.currentThread()); 35 36 // Aggiungo gli elementi ai vettori. 37 // non potevo farlo prima, poiché al di fuori di un metodo è possibile soltanto 38 // dichiarare oggetti/variabili (e inizializzarli) o dichiarare un metodo 39 // e in RobottinoAzioni è presente solo il metodo Azioni che viene richiamato più volte. 40 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.leftArm); 41 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.rightArm); 42 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.leftLeg); 43 RobottinoAzioni.pdrB.addElement(RobottinoAzioni.rightLeg); 44 RobottinoAzioni.pdrA.addElement(RobottinoAzioni.pdrB); 45 RobottinoAzioni.nomeRobot.addElement(""); 46 47 // Crea la finestra tramite un'istanza della classe Grafica, del package RobottinoUtils 48 Grafica finestra = new Grafica(); 49 50 // Output iniziale nellla shell 51 System.out.println ("**********************************************"); 52 System.out.println ("**********************************************"); 53 System.out.println ("*************Programma interattivo************"); 54 System.out.println ("**********************************************"); 55 System.out.println ("***Software realizzato da Sebastiano Tronto***"); 56 System.out.println ("**********************************************"); 57 System.out.println ("**********************************************"); 58 System.out.println ("Questo programma simula un robot al quale ven-"); 59 System.out.println ("gono assegnati ordini tramite comandi, simil-" ); 60 System.out.println ("mente a quanto bisognava fare con i computer " ); 61 System.out.println ("alcuni anni fa." ); 62 System.out.println ("Dato che all'epoca i comandi che dovevano es-" ); 63 System.out.println ("sere dati erano (e sono tutt'ora) in similin-" ); 64 System.out.println ("glese, ho cercato di mantenerli tali." ); 65 System.out.println ("Da questa versione (v2.3) i comandi devono es-"); 66 System.out.println ("sere dati attraverso i menu File, Modifica o " ); 67 System.out.println ("Azioni della finestra." ); 68 System.out.println ("" ); 69 System.out.println ("Tuttavia la reazione del robottino verrà vi-" ); 70 System.out.println ("sualizzata attraverso la shell." ); 71 System.out.println (""); 72 } 73 // Fine del metodo main. 74 } 75 76 77 78 79 80 81 82 83