Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak zrobić snake'a? - użycie pętli

Ostatnio zmodyfikowano 2009-01-03 00:33
Autor Wiadomość
zori
Temat założony przez niniejszego użytkownika
Jak zrobić snake'a? - użycie pętli
» 2009-01-02 22:53:27
Jak sprzwdzic jaki pzycisk został wcisnięty z funkcji kbhit()??

napisałem cos takiego

C/C++
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;

int main() {
    while( 1 == 1 ) {
        cout << kbhit();
        Sleep( 1000 );
    }
    return 0;
}

dopóki nic nie wcisniemy to pokazuje 0 jak cos nacisne to pokazuje 1 juz w nieskończoność.
A ja chce wiedziec czy ktos wcisnol ENTER i ESC wie ktos jak to sprawdzic??
P-3256
Patzick
» 2009-01-02 23:01:37
hmm polecenie
while( 1 == 1 )
jest pętlą nieskończoną, bo przecież 1 zawsze równa się 1 :)


za chwilę przyjrzę się bardziej ;)
P-3257
lynx
» 2009-01-02 23:03:51
Jak sprzwdzic jaki pzycisk został wcisnięty z funkcji kbhit()??
Kbhit() sprawdza tylko czy jest wciśnięty znak z klawiatury i zwraca true albo false, a nie kod przycisku. Ja bym to zrobił tak:
C/C++
if( kbhit() == true )
     cout << getch();
P-3258
Patzick
» 2009-01-02 23:09:29
najlepiej zrób tak
C/C++
char a
while( a == 0 ) {
    cin >> a;
};
cout << "Wciśnięto klawisz " << a;

mam nadzieję, że o to Ci chodziło :P
P-3259
lynx
» 2009-01-02 23:12:06
Wątpię, że mu o to chodziło. ;p On raczej to zna, a w ogóle użyłby sobie getch-a. Jemu chodzi oto by by program nie zatrzymywał się w miejscu gdzie chce pobrać znak z klawiatury i stąd while(1==1).
P-3260
Patzick
» 2009-01-02 23:16:02
przecież używa windows.h w takim razie może w switchu wstawić sobie
C/C++
if( kbhit() == 1 ) {
    a = getch();
    return a;

coś w tym stylu, program będzie działał nawet bez wciśnięcia klawisza :)
P-3261
zori
Temat założony przez niniejszego użytkownika
» 2009-01-02 23:18:02
Chce zrobic sneak czyli petla ma sie tykonywac w nieskończonośc 1==1 ale to nie ważne chodzi mi zeby wiedziec czy uzytkownik wcisnoł inny klawisz jeśli nie to będzie wąz np dalej przesuwl się w prawo. Będe bardzo wdzięczny jak komus sie to uda.

/edit
Jeszcze co do powyzszych postów dobre stwierdzenie jak by mi funkcje getch() starczyla to bym nie pisał tego postu.
P-3262
Patzick
» 2009-01-02 23:22:20
no to jeżeli już jesteś w tej pętli daj
C/C++
if( kbhit() == 1 ) {
    a = getch();
    return a;
}
jest użyta funkcja kbhit() jak chciałeś i zwracany jest klawisz wciśnięty ;)
P-3263
« 1 » 2 3
  Strona 1 z 3 Następna strona