easMedlem sedan sep. 2001269 inlägg Jag försöker kolla om en tangent trycks ned.
Kbhit() har jag läst att man kan använda men den funktionen verkar inte finns i DEV C++.
Jag har inkluderat <conio.h>
Vet du om det finns nåt sätt att fixa detta?
Felmeddelande:
24 move.cpp
implicit declaration of function `int kbhit(...)'
SweyMedlem sedan apr. 20003 971 inlägg Provat kbhit() och _kbhit()?
kbhit är ingen ANSI-funktion. Den följer därför bara med vissa kompilatorer. I ett Windows-program (både konsol och fönster) ska du inte behöva använda den.
easMedlem sedan sep. 2001269 inlägg Vad kan jag använda istället då?
SweyMedlem sedan apr. 20003 971 inlägg Det beror på varför du vill använda kbhit.
Vill du vänta på ett kommando från användaren kan du använda getch (inte heller standard) eller gets (standard). Vill du göra ett spel passar det mycket bättre med ett fönster istället för en konsol.
PeWMedlem sedan juni 200010 432 inlägg kbhit funkar på många kompilatorer (även om den inte är ANSI)... en av anledningarna till att den inte är ANSI är skillnaderna i plattformar och kbhit var ursprungligen ett microsoftpåfund. Det handlar om att hantera tangentbordsbufferten på bitnivå och det görs bäst på en lägre nivå än ANSI C. Ska du göra spel till DOS är det bättre att köra med gratiskompilatorn DJGPP som har en del finesser inbyggt, skulle förvåna mig mycket om den kompilatorn inte har en färdig rutin för att känna av om det hänt nåt nytt i tangentbordsbufferten.
Men om du ändå vill köra på med Dev-c++ och inte hittat nåt färdigt kan du ju alltid kolla in hur man läser av com-portar och hur man hanterar det bitmönstret som kommer in. Det är samma sak, istort sett ;)
Men handlar det om att köra på i windows-miljö finns det som swey skrev ingen anledning att inte använda winapi till detta.
easMedlem sedan sep. 2001269 inlägg Jag försöker göra ett enkelt spel och använda mig av knapparna:
1, 2, 3, 4, 6, 7, 8, och 9 till höger på tangentbordet.
Det jag vill göra är att avvakta att användaren ska trycka på en knapp, som cin eller getch() fast utan att man skulle behöva trycka på enter.