Archief - C++ : ReadConsoleInput alternatief

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Da Turtle

Legacy Member
ik ben bezig met snake te maken in console met C++. maar ik zit met een probleem, de slang blijft staan tot dat je een van de pijltjestoetsen indrukt.
voorbeeld : http://users.pandora.be/daturtle/snake.exe
dit komt waarschijnlijk doordat ReadConsoleInput wacht tot je iets ingeeft, is er een mogelijkheid om "console input" een bepaalde tijd te "readen" (:D) en dan door te gaan?

thx

schop aars

Legacy Member
kunt ge geen loop maken die dan altijd die richting uitgaat tot als ge een knop(van de andere richting) indrukt
ge gaat die lus dan waarschijnlijk wel moeten vertragen want anders zal em veel te snel vooruit gaan en direct tegen de muur zitten

Grayfox

Legacy Member
zou het niet heel wat makkelijker zijn om gewoon met windows programmen te werken? dan moet je gewoon in je winmain checken welke keys er ingedrukt zijn enzo

want dat wat jij nu doet is een functie gebruiken die wacht totdat er een knop ingedrukt is en dan pas doorgaat, mss dat er daar een alternatief voor bestaat, maar daar weet ik niets van

schop aars

Legacy Member
welja wat ik zei dus gewoon op en knop drukken dan gaat hij niet 1 keer opzij maar dan loopt ge de beweging voor opzij te gaan tot ge één van de andere richtingen indrukt en dan loopt hij die richtingen tot...

toch nie zo moeilijk
logisch denken he :)

Da Turtle

Legacy Member
schop aars zei:
welja wat ik zei dus gewoon op en knop drukken dan gaat hij niet 1 keer opzij maar dan loopt ge de beweging voor opzij te gaan tot ge één van de andere richtingen indrukt en dan loopt hij die richtingen tot...
dat is juist wat ik eerst deed, maar ReadConsoleInput is zoals cin, dat wacht tot er input is


Grayfox zei:
zou het niet heel wat makkelijker zijn om gewoon met windows programmen te werken? dan moet je gewoon in je winmain checken welke keys er ingedrukt zijn enzo
Ja, mss wel, maar kben nog aan wachten voor windows programming, kwas daar al mee begonnen, maar da was ff te veel voor mij, kwilde eerst wa ervaring opdoen met console.

schop aars

Legacy Member
kunt ge dan bij console programming geen loop maken die telkens de beweging naar links herhaald?
als da nie gaat dan weetik het ook niet
en anders maakte ge een loop die uitgevoerd wordt tot één van de andere knoppen ingedrukt worden

Da Turtle

Legacy Member
laat mij eens proberen duidelijk te maken wat ik wil zeggen a.d.h.v. wat een mogelijkheid is met windows programming.

Windows: Console:
- GetMessage() --> ReadConsoleInput --> wacht op een input
- PeekMessage() --> ??? --> kijkt als er input is en gaat verder als er geen is

gewoon om mijn bedoeling duidelijk te maken. wat ik wil weten is iets dat deze vraagtekens vervangt

SlasZ

Legacy Member
Code:
void main( void )
{
   /* Display message until key is pressed. */
   while( !_kbhit() )
	  _cputs( "Hit me!! " );

   /* Use _getch to throw key away. */
   printf( "\nKey struck was '%c'\n", _getch() );
   _getch();
}

dit kan misschien helpen

Da Turtle

Legacy Member
thx iedereen, maar keb et al gevonden, kdacht zo, kga eens PeekConsoleInput proberen, en tis da :D.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan