Bueno muchachada, tras haber echo un final de programacion en la UTN, me hicieron hacer el juego ¨LA GENERALA¨ que pude hacer varias cosas porque soy un loquito de m***** y me gusta ser original, como todo artista (?).
Despues de ya haberlo entregado y sacarme un 9, le quise meter una contraseña despues de que el usuario ponga su nombre para que pueda empezar a jugar, y lo que hice fue, meterle un nombre clave, que luego pida una contraseña para activar un truco, que te hace las jugadas perfectas, osea, que no hay azar jaja.
Y lo que quise hacer, cosa que me costo un huevo, tratar de que a medida que se vaya ingresando la contraseña, que muestre asteriscos y que se puedan borrarlos, actualmente sigo sin saber como hacerlo sin mi pequeño algoritmo, que de todos modos de alguna manera facil se puede hacer, pero me las rebusque solo, para que vean que se puede hacer cualquier cosa con C++.
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main ()
{
int i=0,j=0,passc=3,s=0,truc=0;
char pass[30],vast[30],vpass;
while (passc!=0)
{
cout<<¨Ingrese el password: ¨<<endl;
for (i=0;i<=30;i++)
{
vast[i]=´*´;
pass[i]=NULL;
}
for (i=0;i<=30;i++)
{
vpass=getch ();
if (vpass!=8 && vpass!=13)
cout<<¨*¨;
if (vpass==8)
{
s=i;
for (j=i-1;j>=0;j--)
{
s--;
vast[j]=putch (8);
vast[j]=putch (0);
vast[j]=putch (0);
vast[j]=putch (8);
pass[j]=NULL;
vpass=getch ();
cout<<vast[j];
if (vpass!=8)
{
j=0;
cout<<¨*¨;
}
}
i=s;
if (vpass==8)
{
i=s+1;
}
}
if (vpass==13)
i=30;
pass[i]=vpass;
}
cout<<endl;
passc--;
if (strcmp (pass,¨truco¨)==0)
{
truc=1;
cout<<¨Truco activado ;)¨<<endl;
passc=0;
}
if (passc>0)
cout<<¨Password incorrecto, le quedan ¨<<passc<<¨ intentos¨<<endl;
}
getch ();
}
No voy a explicar el algoritmo paso por paso porque se torna muy denso, pero para los que no sepan:
getch(); (espera a que el usuario presione una tecla para que le devuelva el codigo ASCII)
putch(x); (muestra en pantalla el caracter, segun el codigo ASCII que se ingresa)
Cuando voy colocando el 8 y el 0 dentro del putch(); voy retrocediendo un casillero en los asteriscos y voy borrando el caracter con su correpondiente posicion en J.(8=backspace, 0=NULL, 13=ENTER)
En fin, no creo que les sirva para nada, pero queria compartirlo. Pueden copiarlo y probarlo asi como esta que funciona.
Nos vemos gente, otro dia subo un codigo para hacer sonar el Speaker de la pc con la melodia que ustedes quieran ;)
Ah, y la contraseña de prueba que puse, es ¨truco¨ sin las comillas, si lo quieren modificar esta en la parte donde dice ¨if(strcmp(pass,¨truco¨)==0)¨