aboutsummaryrefslogtreecommitdiff
path: root/robottino/all_versions/v3.0/src/RobottinoMain/Robottino.java
blob: 5b9c530ca95105d9c688f66a4b0747723be2241b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// 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("");
	}
}









Generated with cgit - Back to sebastiano.tronto.net