[Linguagem C] kbhit() / fflush()

g0rTh1k

Membro
Você pode tentar fazer assim: entra num loop inifinito de for() e dentro dele um while e switch, se o while(!kbhit()) receber algum valor, ele vai armazenar essa tecla pressionada usando int tecla; while(!kbhit()){fflush(tecla);} e então vai levar ao switch, vai executar o campo correspondente ao valor armazenado em tecla e então a hora que terminar retorna ao loop for() infinito executando denovo o while... inclua um campo default em switch para um tecla para exit;

Li isso num outro forum, mas não percebi bem. Alguém me consegue explicar melhor? Principalmente o funcionamento do fflush...


Aproveito também para pedir ajuda acerca de como fazer uma funçao para contar o tempo que o utilizador está a carregar numa determinada tecla (para um simulador de voo) para que depois converta esse tempo em percentagem.

Agradeço desde já todas as ajudas que disponibilizem :)
 
basicamente o kbhit() é uma abreviação para keyboard hit logo fica a espera de alguma tecla.
por outro lado o fflush() limpa o buffer de dados de entrada
 
então aquela segunda parte:

while(!kbhit()){fflush(tecla);} e então vai levar ao switch

Mas isto faz mesmo o que o homem disse? E como vou saber o código de cada uma das teclas para fazer o switch?Tenho de andar a experimentar uma a uma e ver o valor da variavel tecla?
 
Back
Topo