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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
import java.util.Scanner;
class Robottino extends PartiDelRobot {
public static void main(String argv[]) {
Robottino robot = new Robottino();
PartiDelRobot pdr[] = { new PartiDelRobot (false, "il braccio sinistro alzato"),
new PartiDelRobot (false, "il braccio destro alzato"),
new PartiDelRobot (false, "la gamba sinistra alzata"),
new PartiDelRobot (false, "la gamba destra alzata") };
Scanner sc = new Scanner(System.in);
String comando;
String nomeRobot[] = { "" };
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("Il programma non fa distinzioni tra lettere" );
System.out.println("maiuscole o minuscole." );
System.out.println("" );
System.out.println("Digita un comando e premi invio" );
System.out.println("l = legenda comandi" );
do {
comando = sc.nextLine();
System.out.println ("Siamo spiacenti, ma per motivi tecnici non sono in grado di visualizzare l'immagine del robot.");
System.out.println (robot.Azioni(comando, nomeRobot, pdr));
} while ( !(comando.equalsIgnoreCase("exit")) );
}
String Azioni(String comando, String nomeRobot[], PartiDelRobot pdr[]) {
Scanner sc2 = new Scanner(System.in);
int contatore = 0;
String stat[] = {"", "", "", ""};
String Return = "Errore - si consiglia di picchiare il programmatore";
if (comando.equalsIgnoreCase("leftarmmove"))
pdr[0].statoParte = !pdr[0].statoParte;
else if (comando.equalsIgnoreCase("rightarmmove"))
pdr[1].statoParte = !pdr[1].statoParte;
else if (comando.equalsIgnoreCase("leftlegmove"))
pdr[2].statoParte = !pdr[2].statoParte;
else if (comando.equalsIgnoreCase("rightlegmove"))
pdr[3].statoParte = !pdr[3].statoParte;
else if (comando.equalsIgnoreCase("leftarmon"))
pdr[0].statoParte = true;
else if (comando.equalsIgnoreCase("rightarmon"))
pdr[1].statoParte = true;
else if (comando.equalsIgnoreCase("leftlegon"))
pdr[2].statoParte = true;
else if (comando.equalsIgnoreCase("rightlegon"))
pdr[3].statoParte = true;
else if (comando.equalsIgnoreCase("leftarmoff"))
pdr[0].statoParte = false;
else if (comando.equalsIgnoreCase("rightarmoff"))
pdr[1].statoParte = false;
else if (comando.equalsIgnoreCase("leftlegoff"))
pdr[2].statoParte = false;
else if (comando.equalsIgnoreCase("rightlegoff"))
pdr[3].statoParte = false;
else if (comando.equalsIgnoreCase("exploud")) {
System.out.println ("Che atroce! Hai fatto esplodere il robottino " + nomeRobot[0] + "! Aspetta che te ne faccio un altro");
System.out.println ("...");
for (int i = 0; i < pdr.length; i++) {
pdr[i].statoParte = false;
}
nomeRobot[0] = "";
return "Fatto, puoi continuare a giocare";
}
else if (comando.equalsIgnoreCase("bier")) {
System.out.println ("Il robottino " + nomeRobot[0] + "sta trangugiando una birra...");
System.out.println ("Buurrrrrrrrp!");
return "La birra analcolica fa schifo!";
}
else if (comando.equalsIgnoreCase("rename")) {
System.out.println ("Con questo comando quoi cambiare il nome del robottino " + nomeRobot[0]);
System.out.println ("Digita il nuovo nome e premi invio per coninuare");
nomeRobot[0] = sc2.nextLine();
if (!(nomeRobot[0].equalsIgnoreCase("")))
nomeRobot[0] += " ";
return "Ora il robottino si chiama " + nomeRobot[0];
}
else if (comando.equalsIgnoreCase("porky")) {
System.out.println ("Porky è un grande");
System.out.println ("Per maggiori informazioni visita il sito");
return "http://kakati.forumfree.net/";
}
else if (comando.equalsIgnoreCase("xxx")) {
System.out.println ("Il robottino " + nomeRobot[0] + "ha incontrato una bella robottina...");
return "*Censura*";
}
else if (comando.equalsIgnoreCase("l")) {
System.out.println ("Legenda comandi");
System.out.println ("");
System.out.println ("LeftArmMove: cambia la posizione corrente del braccio sinistro del robot");
System.out.println ("RightArmMove: cambia la posizione corrente del braccio destro del robot");
System.out.println ("LeftLegMove: cambia la posizione corrente della gamba sinistra del robot");
System.out.println ("RightLegMove: cambia la posizione corrente della gamba destra del robot");
System.out.println ("LeftArmOn: se il braccio sinistro non è alzato, lo alza, altrimenti la posizione resta invariata");
System.out.println ("RightArmOn: se il braccio destro non è alzato, lo alza, altrimenti la posizione resta invariata");
System.out.println ("LeftLegOn: se la gamba sinistra non è alzata, la alza, altrimenti la posizione resta invariata");
System.out.println ("RightLegOn: se la gamba destra non è alzata, la alza, altrimenti la posizione resta invariata");
System.out.println ("LeftArmOff: se il braccio sinistro non è abbassato, lo abbassa, altrimenti la posizione resta invariata");
System.out.println ("RightArmOff: se il braccio destro non è abbassato, lo abbassa, altrimenti la posizione resta invariata");
System.out.println ("LeftLegOff: se la gamba sinistra non è abbassata, la abbassa, altrimenti la posizione resta invariata");
System.out.println ("RightLegOff: se la gamba destra non è abbassata, la abbassa, altrimenti la posizione resta invariata");
System.out.println ("Exit: esci dal programma");
System.out.println ("");
System.out.println ("Comandi a sorpresa:");
System.out.println ("");
System.out.println ("Exploud");
System.out.println ("Bier");
System.out.println ("Rename");
System.out.println ("Porky");
System.out.println ("xxx");
return "";
}
else
System.out.println ("Comando non riconosciuto - digitare l per una legenda dei comandi disponibili");
for (int i = 0, j = 0; i < pdr.length; i++) {
if (pdr[i].statoParte) {
contatore += 1;
stat[j++] = pdr[i].stringaParte;
}
}
switch (contatore) {
case 0:
Return = "Comunque il robottino " + nomeRobot[0] + "non sta facendo niente";
break;
case 1:
Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + ".";
break;
case 2:
Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + " e " + stat[1] + ".";
break;
case 3:
Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + ", " + stat[1] + " e " + stat[2] + ".";
break;
case 4:
Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + ", " + stat[1] + ", " + stat[2] + " e " + stat[3] + ".";
break;
}
return Return;
}
}
|