ancient-projects

My earliest programs (2006-2010)
git clone https://git.tronto.net/ancient-projects
Download | Log | Files | Refs | README

Robottino.java (7595B)


      1 import java.util.Scanner;
      2 class Robottino extends PartiDelRobot {
      3 	public static void main(String argv[]) {
      4 		Robottino robot = new Robottino();
      5 		PartiDelRobot pdr[] = { new PartiDelRobot (false, "il braccio sinistro alzato"), 
      6 			      		new PartiDelRobot (false, "il braccio destro alzato"),
      7 			      		new PartiDelRobot (false, "la gamba sinistra alzata"),
      8 			      		new PartiDelRobot (false, "la gamba destra alzata") };
      9 		Scanner sc = new Scanner(System.in);
     10 		String comando;
     11 		String nomeRobot[] = { "" };
     12 		System.out.println("**********************************************");
     13 		System.out.println("**********************************************");
     14 		System.out.println("*************Programma interattivo************");
     15 		System.out.println("**********************************************");
     16 		System.out.println("***Software realizzato da Sebastiano Tronto***");
     17 		System.out.println("**********************************************");
     18 		System.out.println("**********************************************");
     19 		System.out.println("Questo programma simula un robot al quale ven-");
     20 		System.out.println("gono assegnati ordini tramite comandi, simil-" );
     21 		System.out.println("mente a quanto bisognava fare con i computer " );
     22 		System.out.println("alcuni anni fa."                               );
     23 		System.out.println("Dato che all'epoca i comandi che dovevano es-" );
     24 		System.out.println("sere dati erano (e sono tutt'ora) in similin-" );
     25 		System.out.println("glese, ho cercato di mantenerli tali."         );
     26 		System.out.println("Il programma non fa distinzioni tra lettere"   );
     27 		System.out.println("maiuscole o minuscole."                        );
     28 		System.out.println(""                                              );
     29 		System.out.println("Digita un comando e premi invio"               );
     30 		System.out.println("l = legenda comandi"                           );
     31 		do {
     32 			comando = sc.nextLine();
     33 			System.out.println ("Siamo spiacenti, ma per motivi tecnici non sono in grado di visualizzare l'immagine del robot.");
     34 			System.out.println (robot.Azioni(comando, nomeRobot, pdr));
     35 		} while ( !(comando.equalsIgnoreCase("exit")) );
     36 	}
     37 	String Azioni(String comando, String nomeRobot[], PartiDelRobot pdr[]) {
     38 		Scanner sc2 = new Scanner(System.in);
     39 		int contatore = 0;
     40 		String stat[] = {"", "", "", ""};
     41 		String Return = "Errore - si consiglia di picchiare il programmatore";
     42 		if (comando.equalsIgnoreCase("leftarmmove"))
     43 			pdr[0].statoParte = !pdr[0].statoParte;
     44 		else if (comando.equalsIgnoreCase("rightarmmove"))
     45 			pdr[1].statoParte = !pdr[1].statoParte;
     46 		else if (comando.equalsIgnoreCase("leftlegmove"))
     47 			pdr[2].statoParte = !pdr[2].statoParte;
     48 		else if (comando.equalsIgnoreCase("rightlegmove"))
     49 			pdr[3].statoParte = !pdr[3].statoParte;
     50 		else if (comando.equalsIgnoreCase("leftarmon"))
     51 			pdr[0].statoParte = true;
     52 		else if (comando.equalsIgnoreCase("rightarmon"))
     53 			pdr[1].statoParte = true;
     54 		else if (comando.equalsIgnoreCase("leftlegon"))
     55 			pdr[2].statoParte = true;
     56 		else if (comando.equalsIgnoreCase("rightlegon"))
     57 			pdr[3].statoParte = true;
     58 		else if (comando.equalsIgnoreCase("leftarmoff"))
     59 			pdr[0].statoParte = false;
     60 		else if (comando.equalsIgnoreCase("rightarmoff"))
     61 			pdr[1].statoParte = false;
     62 		else if (comando.equalsIgnoreCase("leftlegoff"))
     63 			pdr[2].statoParte = false;
     64 		else if (comando.equalsIgnoreCase("rightlegoff"))
     65 			pdr[3].statoParte = false;
     66 		else if (comando.equalsIgnoreCase("exploud")) {
     67 			System.out.println ("Che atroce! Hai fatto esplodere il robottino " + nomeRobot[0] + "! Aspetta che te ne faccio un altro");
     68 			System.out.println ("...");
     69 			for (int i = 0; i < pdr.length; i++) {
     70 				pdr[i].statoParte = false;
     71 			}
     72 			nomeRobot[0] = "";
     73 			return "Fatto, puoi continuare a giocare";
     74 		}
     75 		else if (comando.equalsIgnoreCase("bier")) {
     76 			System.out.println ("Il robottino " + nomeRobot[0] + "sta trangugiando una birra...");
     77 			System.out.println ("Buurrrrrrrrp!");
     78 			return "La birra analcolica fa schifo!";
     79 		}
     80 		else if (comando.equalsIgnoreCase("rename")) {
     81 			System.out.println ("Con questo comando quoi cambiare il nome del robottino " + nomeRobot[0]);
     82 			System.out.println ("Digita il nuovo nome e premi invio per coninuare");
     83 			nomeRobot[0] = sc2.nextLine();
     84 			if (!(nomeRobot[0].equalsIgnoreCase("")))
     85 				nomeRobot[0] += " ";
     86 			return "Ora il robottino si chiama " + nomeRobot[0];
     87 		}
     88 		else if (comando.equalsIgnoreCase("porky")) {
     89 			System.out.println ("Porky è un grande");
     90 			System.out.println ("Per maggiori informazioni visita il sito");
     91 			return "http://kakati.forumfree.net/";
     92 		}
     93 		else if (comando.equalsIgnoreCase("xxx")) {
     94 			System.out.println ("Il robottino " + nomeRobot[0] + "ha incontrato una bella robottina...");
     95 			return "*Censura*";
     96 		}
     97 		else if (comando.equalsIgnoreCase("l")) {
     98 			System.out.println ("Legenda comandi");
     99 			System.out.println ("");
    100 			System.out.println ("LeftArmMove: cambia la posizione corrente del braccio sinistro del robot");
    101 			System.out.println ("RightArmMove: cambia la posizione corrente del braccio destro del robot");
    102 			System.out.println ("LeftLegMove: cambia la posizione corrente della gamba sinistra del robot");
    103 			System.out.println ("RightLegMove: cambia la posizione corrente della gamba destra del robot");
    104 			System.out.println ("LeftArmOn: se il braccio sinistro non è alzato, lo alza, altrimenti la posizione resta invariata");
    105 			System.out.println ("RightArmOn: se il braccio destro non è alzato, lo alza, altrimenti la posizione resta invariata");
    106 			System.out.println ("LeftLegOn: se la gamba sinistra non è alzata, la alza, altrimenti la posizione resta invariata");
    107 			System.out.println ("RightLegOn: se la gamba destra non è alzata, la alza, altrimenti la posizione resta invariata");
    108 			System.out.println ("LeftArmOff: se il braccio sinistro non è abbassato, lo abbassa, altrimenti la posizione resta invariata");
    109 			System.out.println ("RightArmOff: se il braccio destro non è abbassato, lo abbassa, altrimenti la posizione resta invariata");
    110 			System.out.println ("LeftLegOff: se la gamba sinistra non è abbassata, la abbassa, altrimenti la posizione resta invariata");
    111 			System.out.println ("RightLegOff: se la gamba destra non è abbassata, la abbassa, altrimenti la posizione resta invariata");
    112 			System.out.println ("Exit: esci dal programma");
    113 			System.out.println ("");
    114 			System.out.println ("Comandi a sorpresa:");
    115 			System.out.println ("");
    116 			System.out.println ("Exploud");
    117 			System.out.println ("Bier");
    118 			System.out.println ("Rename");
    119 			System.out.println ("Porky");
    120 			System.out.println ("xxx");
    121 			return "";
    122 			
    123 		}
    124 		else
    125 			System.out.println ("Comando non riconosciuto - digitare l per una legenda dei comandi disponibili");
    126 		for (int i = 0, j = 0; i < pdr.length; i++) {
    127 			if (pdr[i].statoParte) {
    128 				contatore += 1;
    129 				stat[j++] = pdr[i].stringaParte;
    130 			}
    131 		}
    132 		switch (contatore) { 
    133 			case 0:
    134 				Return = "Comunque il robottino " + nomeRobot[0] + "non sta facendo niente";
    135 				break;
    136 			case 1:
    137 				Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + ".";
    138 				break;
    139 			case 2:
    140 				Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + " e " + stat[1] + ".";
    141 				break;	
    142 			case 3: 
    143 				Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + ", " + stat[1] + " e " + stat[2] + ".";
    144 				break;
    145 			case 4: 
    146 				Return = "Immagini che il robottino " + nomeRobot[0] + "abbia " + stat[0] + ", " + stat[1] + ", " + stat[2] + " e " + stat[3] + ".";
    147 				break;
    148 		}
    149 		return Return;
    150 	}
    151 }
    152 
    153 
    154 
    155 
    156 
    157 
    158 
    159 
    160