elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda T_T alguien sabe como usar la funcion "kbhit()"?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda T_T alguien sabe como usar la funcion "kbhit()"?  (Leído 10,236 veces)
Ai Toi

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Ayuda T_T alguien sabe como usar la funcion "kbhit()"?
« en: 30 Octubre 2008, 12:35 pm »

hola
estoy haciendo un programa en c++ builder 6
pero a mi no me salen las teclas,miren en mi programa uso la funcion kbhit() ,pero lo que necesito es que cuando mi trabajo compile ,ingrese cualquier tecla como A,B,a,b,5 y que eso aparezca en mi pantalla pero yo no pido al usuario que ingrese nada solo el va a presionar las teclas y estas tienen que aparecer cuando compile ,pero cuando lo compilo e ingreso esas teclas mi programa para
mi pregunta es que como lo hago para ingresar las teclas cuando compile usando kbhit
miren este es mi codigo
solo me faltan como hago para ingresar las teclas cuando compile mi programa
pliss necesito ayuda tengo que entregar esto a mas tardar mañana en la tarde T_T

#include<stdio.h>
#include<conio.h>
#include"UCaracter.h"
#include<windows.h>
void main()
{ int c;

 CCaracter *pO;
 pO= new CCaracter(c,WHITE,1,1,1,1);
 int x;
  int y;
  gotoxy(x,y);
  for( x=1;x<81;x++)
  {        gotoxy(x,12);
  printf("_");
  }
  for( y=1;y<25;y++)
  {
  gotoxy(40,y);
  printf("|");  }

while(kbhit())
  {   char c=getch();  randomize();
 if(c==97)
    { pO->Muevete();
     Sleep(100);
    }

 
 }

 

 getch();
 delete pO;
}

esta es el unit para caracter

//---------------------------------------------------------------------------

#pragma hdrstop
#include<conio.h >
#include "UCaracter.h"
//---------------------------------------------------------------------------

CCaracter::CCaracter(char car,int col,int pX,int pY,int pDesx, int pDesy)
 {
  caracter=car;
  color=col;
  X=pX;
  Y=pY;
  DesX=pDesx;
  DesY=pDesy;


 }
CCaracter::~CCaracter()
{
}
void CCaracter::Muevete()
{
 Ocultate();
 X=X+DesX ;
 Y=Y+DesY;
 if((X>=80)||(X<=1))
DesX=DesX*(-1);
  if((Y>=24)||(Y<=1))
 DesY=DesY*(-1);
 Muestrate();

}
void CCaracter::Ocultate()
{
 textcolor(0);
 gotoxy(X,Y);
 cprintf("%c",caracter);
}
void CCaracter::Muestrate()
{textcolor(color);
 gotoxy(X,Y);
 cprintf("%c",caracter);
}

 char CCaracter::Set_caracter()
 {
  return(caracter);

 }
//---------------------------------------------------------------------------

#ifndef UCaracterH
#define UCaracterH
//---------------------------------------------------------------------------
class CCaracter
{private:
  char caracter;
  int color;
  int X,Y;
  int DesX,DesY;


 public:
 CCaracter(char car,int col,int pX,int pY,int pDesx, int pDesy);
 ~CCaracter();
 char Set_caracter();
 void Muevete();
 void Ocultate();
 void Muestrate();


};







#endif


En línea

Rozor

Desconectado Desconectado

Mensajes: 270


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: Ayuda T_T alguien sabe como usar la funcion "kbhit()"?
« Respuesta #1 en: 30 Octubre 2008, 23:03 pm »

Código
  1. while(!kbhit()) // <---- falta !
  2.  {   char c=getch();  randomize();
  3. if(c==97)
  4.    { pO->Muevete();
  5.     Sleep(100);
  6.    }
  7.  
  8.  
  9. }
  10.  

No lo he comprobado si te falla ahi eso falta, pero no uso borland asique si sigue fallando pega donde falle :)


En línea

out in the streets they call it murder....
Nico01

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda T_T alguien sabe como usar la funcion "kbhit()"?
« Respuesta #2 en: 19 Julio 2015, 17:07 pm »

yo tambien estoy usando el kbhit(), y no se si no lo pusiste pero cuando declaras el char c = getch(), te falta su utilizacion:
//prueba con srand
#include<time.h>
#include<stdlib.h>
//dentro del main va esto
srand(time(NULL));
while(kbhit())
  {   char c=getch(); 
       c=rand()%100;
       c;
       if(c==97)
             { pO->Muevete();
                Sleep(100);}
                                 

 
 }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines