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
while(!kbhit()) // <---- falta !
{ char c=getch(); randomize();
if(c==97)
{ pO->Muevete();
Sleep(100);
}
}
No lo he comprobado si te falla ahi eso falta, pero no uso borland asique si sigue fallando pega donde falle :)
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);}
}