[Batch] [C++] Programa para efecto Typewritter

Iniciado por the-bird-of-the-hermes, 7 Marzo 2014, 01:44 AM

0 Miembros y 1 Visitante están viendo este tema.

the-bird-of-the-hermes

Buenas hice este programa en c++ para darle un efecto a mis scripts en batch bueno lo que hace es imprimir un texto letra por letra pero antes de imprimir una letra muestra varios caracteres,  ademas de controlar la velocidad con la que se muestran, no se si sea util pero a ver si le sirve a alguien XD.

Uso :

echoefect "texto" numero_para_la_velocidad_de_escritura

para variable

echoefect "texto"%variable%"texto" numero_para_la_velocidad_de_escritura


Codigo fuente :

Código (c++) [Seleccionar]
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main(int argc, char *argv[]) {

int a=1,b,x0,x1,x2,saltoLinea=79;
char *cadena = argv[1];
int tam=strlen(cadena);
char cad[tam];
char cadaux[tam];

// letras a mostrar

char *letraa="a";
char *letran="#";
char *letrap="%";
char *letrai="?";
char *letraX="<";
char *letraas="*";
char *letrab="/";
char *letrae=" ";


// Velocidad de Escritura

int vel=atoi(argv[2]);
if ( vel == 0 ) vel=10 ; // si el valor es 0 o no es escrito entonces la velocidad toma el valor de 10


for (x0=1;x0<tam;x0++) {


//desacelerador de velocidad de escritura desde los ultimos 6 caracteres

if ( x0 >= tam-6 ) {
vel++;
}


// salto de linea en el caracter 78

if ( x0 == saltoLinea ){
b=a-1;
strncpy(cadaux, cadena, tam);
cadaux[tam] = '\0';
cout << endl ;
memset (cadaux, '\r' , b);
strncpy(cadena, cadaux, tam);
tam=strlen(cadena);
saltoLinea=saltoLinea+78;
}


 strncpy(cad, cadena, a);
 cad[a] = '\0';
 cout << "\r" << strncat (cad, letraa, 1) ;
for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
strncpy(cad, cadena, a);
cad[a] = '\0';


 cout << "\r" << strncat (cad, letran, 1) ;
for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
strncpy(cad, cadena, a);
cad[a] = '\0';


 cout << "\r" << strncat (cad, letrai, 1) ;
for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
strncpy(cad, cadena, a);
cad[a] = '\0';


 cout << "\r" << strncat (cad, letraX, 1) ;
for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
strncpy(cad, cadena, a);
cad[a] = '\0';


 cout << "\r" << strncat (cad, letraas, 1) ;
for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
strncpy(cad, cadena, a);
cad[a] = '\0';


 cout << "\r" << strncat (cad, letrab, 1) ;
for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
cad[a] = ' ';
strncpy(cad, cadena, a);
cad[a] = '\0';
 
 
 cout << "\r" << strncat (cad, letrae, 1) ;
for ( x2=0;x2<=vel;x2++) {
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
for (x1=0;x1<100000;x1++);
}
 
 
 a++;
 }
 
cout << "\r" << cadena << endl ;

for (x0=-9999999;x0<9999999;x0++){
for (x0=-9999999;x0<9999999;x0++);
}
return 0;
}

/*
realizado por Noe
the_bird_of_the_hermes_is_my_name@hotmail.com
*/




El Code lo pueden modificar ( si lo mejoran quisiera que me manden el nuevo codigo XD)


si quieren en ejecutable directamente para usar :

http://www.noe-bo.herobo.com/pro-win/echoefect.zip




todos somos ignorantes, pero no ignoramos las mismas cosas.