Hola
Mis felicitaciones para todos con ayuda de Java.
import java.util.Scanner;
/**
* Detalles de la clase.
* @author (Toni)
* @version (0.1)
*/
public class Salta {
public static void main (String [] args) {
Scanner entradaEscaner = new Scanner (System.in);
String entradaTeclado;
boolean repite = true;
int cuenta = 0, longOriginal = 0, bucles = 3, miliSeg = 150;
String rueda = " ", restoArriba = "", restoAbajo = "", defecto="", añadido="";
String[] letra = new String[6];
for (int i=0; i < 6; i++) { letra[i] = " "; }
String[] estrella = {"*","","","",""};
String defaultMsg = "Feliz año nuevo. Para toda la comunidad de: toni_apr";
defecto = defaultMsg;
System.out.println ("\fPara terminar este programa: Abortar.\nO esperar a que terminen los " + bucles + " bucles\n");
System.out.println ("Mensaje por defecto: [" + defaultMsg + "]");
System.out.println ("Si deseas añadir tu propio texto, teclealo y pulsa INTRO al final");
System.out.print("\t");
entradaTeclado = entradaEscaner.nextLine ();
if (entradaTeclado.length() > 0) {
defaultMsg = defaultMsg + " * " + entradaTeclado.trim();
añadido = entradaTeclado;
}
longOriginal = defaultMsg.length();
System.out.println ("Mensaje final:\n[" + defaultMsg + "]");
restoAbajo = espacios(20);
System.out.println ("\nINTRO para continuar");
entradaEscaner.nextLine ();
while (repite) {
switch (cuenta % 8) {
case 0:
case 4:
rueda = "-";
break;
case 1:
case 5:
rueda = "/";
break;
case 2:
case 6:
rueda = "|";
break;
case 3:
case 7:
rueda = "\\";
break;
}
letra[2] = letra[1];
letra[1] = letra[0];
letra[0] = defaultMsg.substring(0,1);
defaultMsg = restoArriba = defaultMsg.substring(1);
System.out.println ("\f" + espacios(60) + "Pasos: " + cuenta + " Bucle " + cuenta/longOriginal + " de " + bucles + "\n");
System.out.println (espacios(12) + estrella[cuenta % 4]);
System.out.println(espacios(40) + letra[0] + "] " + rueda + " [" + restoArriba.substring(5) + "\\");
System.out.println (espacios(6) + estrella[cuenta % 3]);
System.out.println (espacios(40) + letra[1] + "\n");
System.out.println (espacios(18) + estrella[cuenta % 2]);
System.out.println (espacios(10) + estrella[cuenta % 5]);
System.out.println (espacios(15) +"/" + restoAbajo + espacios(4) + letra[2] + "/");
letra[5] = letra[4];
letra[4] = letra[3];
letra[3] = restoAbajo.substring(0,1);
restoAbajo = restoAbajo.substring(1) + letra[2];
System.out.println ("\n" + espacios(15) + "\\" + letra[4] + espacios(10+cuenta % 4) + ">" + espacios(12 - (cuenta % 4 )+defaultMsg.length()) + letra[5] + "/");
if (cuenta > 16) { defaultMsg = defaultMsg + letra[5]; }
cuenta++;
if (cuenta > longOriginal * bucles + 4) { repite = false; }
try {
Thread.sleep(miliSeg);
} catch(Exception e) {}
}
System.out.println ("\n\n Texto por defecto: [" + defecto + "]");
if(añadido.length() >0) { System.out.println (" Texto añadido: [" + añadido + "]"); }
System.out.println ("Milisegundos de cada paso: " + miliSeg);
System.out.println (" Bucles programados: " + bucles);
} // fin del main
private static String espacios(int esp) {
String cad = "";
for (int i=0; i < esp; i++) {
cad = cad + " ";
}
return cad;
}
} // Fin de la clase Salta
Salud