Por qué se queda pasmado?
He probado correr esta parte de código pero cuando tratro de usar las teclas se queda pasmado, alguien me podría decir el porqué.
do
{
click=clickmouse(x,y);
if(kbhit())
tecla=toupper(getch());
fflush(stdin);
}while(!click || tecla!=' ');
while(click || tecla!=' ')
{
click=clickmouse(x,y);
fflush(stdin);
if(((x>=100 && x<=200) && (y>=150 && y<=175)) || tecla=='N') //Si presionan nuevo juego
{
boton(100,150,100,25,8,7); //Nuevo juego
outtextxy(120,158,"Nuevo Juego");
nuevo_juego();
}
if(((x>=100 && x<=200) && (y>=200 && y<=225)) || tecla=='I') //Si presionan instruciones
{
boton(100,200,100,25,8,7); //Instrucciones
outtextxy(115,208,"Instrucciones");
instrucciones();
}
if(((x>=100 && x<=200) && (y>=250 && y<=275)) || tecla=='S') //Si presionan salir
{
boton(100,250,100,25,8,7); //Salir
outtextxy(140,258,"Salir");
break;
}
}//while(click)
do
{
click=clickmouse(x,y);
if(kbhit())
tecla=toupper(getch());
fflush(stdin);
}while(!click || tecla!=' ');
while(click || tecla!=' ')
{
click=clickmouse(x,y);
fflush(stdin);
if(((x>=100 && x<=200) && (y>=150 && y<=175)) || tecla=='N') //Si presionan nuevo juego
{
boton(100,150,100,25,8,7); //Nuevo juego
outtextxy(120,158,"Nuevo Juego");
nuevo_juego();
}
if(((x>=100 && x<=200) && (y>=200 && y<=225)) || tecla=='I') //Si presionan instruciones
{
boton(100,200,100,25,8,7); //Instrucciones
outtextxy(115,208,"Instrucciones");
instrucciones();
}
if(((x>=100 && x<=200) && (y>=250 && y<=275)) || tecla=='S') //Si presionan salir
{
boton(100,250,100,25,8,7); //Salir
outtextxy(140,258,"Salir");
break;
}
}//while(click)
Supongo que las variables click y tecla ya fueron definidas e inicializadas antes.
Si tecla se inicializó a cero:
char tecla = ' ';
la condición tecka != ' ' será "false" hasta que se pulse una tecla. Entonces se hará "true", y ya no saldrá del ciclo nunca más.
Ejemlo:
si se pulsa una 'a':
entonces tecla != ' ' se hace "true", y va de nuevo...
Alejandro
Si tecla se inicializó a cero:
char tecla = ' ';
la condición tecka != ' ' será "false" hasta que se pulse una tecla. Entonces se hará "true", y ya no saldrá del ciclo nunca más.
Ejemlo:
si se pulsa una 'a':
entonces tecla != ' ' se hace "true", y va de nuevo...
Alejandro
