Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Tastatureingaben ohne [ENTER] zur Bestätigung.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.05.2004, 14:36 Uhr
Lensflare



hallo leude

kennt jemand einen weg, wie man tastatureingaben einlesen kann, ohne sie jedes mal mit ENTER bestätigen zu müssen?
Wenn ich zum Beispiel Tetris programmieren will, müssen die tasten ja sofort reagieren und nicht erst nach ENTER.

Und wie kann ich einen vorgang "anhalten", damit zB die steine bei tetris nicht mit lichtgeschwindigkeit nach unten fliegen sondern immer eine kästchen nach unten, wenn eine zeitspanne vorbei ist.

Danke.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.05.2004, 15:05 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


unter windows kannst du getch benutzen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.05.2004, 15:49 Uhr
Lensflare



Wie benutze ich getch???
ich hab folgendes ausprobiert:

C++:
char c1;

getch("%c",&c1);  //geht nicht
c1 = getch();  //geht auch nicht



muss ich da was einbinden?
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.05.2004, 17:03 Uhr
RedEagle




C++:
#include <conio.h>

//...

char var;

var = getch();

cout << var;


--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.05.2004, 17:17 Uhr
Lensflare



Ok, danke es funktioniert.

Bleibt nur noch die zweite frage offen (siehe oben...)^^
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.05.2004, 17:21 Uhr
~RedEagle
Gast



C++:
#include <windows.h>
//...

cout << "Sofort";
Sleep(200);
cout << "200 Millisekunden später";

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.05.2004, 17:54 Uhr
Lensflare



so, sleep() geht. danke.

Aber mit getch() hab ich jetzt ein neues problem:
wenn ich conio.h einbinde, dann kann ich die funktion gotoxy() nicht verwenden, die ich aber unbedingt brauche
ohne sie kann ich den cursor nicht an beliebige stellen setzen.

beim kompilieren kommt folgender fehler:
[Linker error] undefined reference to `gotoxy'

hier der code der gotoxy()-funktion.

C++:
using namespace std;

#define Pos(bSuccess, api){ if(!(bSuccess)) printf("%s:Fehler %d von %s\
in Zeile %d maximal y=24!\n"
, __FILE__, GetLastError(), api, __LINE__); }

int gotoxy(short x,short y)
{
    HANDLE hConsoleOutput;
    CONSOLE_SCREEN_BUFFER_INFO csbi;
    COORD Cursor_an_Pos = { x,y};
    BOOL bSuccess;
    hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfo(hConsoleOutput, &csbi);
    bSuccess = SetConsoleCursorPosition(hConsoleOutput , Cursor_an_Pos);
    Pos( bSuccess, "SetConsoleCursorPosition" );
    return 0;
}


--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
09.05.2004, 18:13 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du musst dann deine gotoxy anders nennen, z.b mygotoxy oder gotoxy2, dann sollte das problem nicht passieren
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
09.05.2004, 20:19 Uhr
Lensflare



Super! hab die funktion umbenannt und es geht!
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: