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

Obsługa strzałek .

Ostatnio zmodyfikowano 2013-04-09 18:03
Autor Wiadomość
grytyn
Temat założony przez niniejszego użytkownika
Obsługa strzałek .
» 2013-04-06 13:33:54
Witam !
Chodzę do szkoły gimnazjalnej i nauczyciel od informatyki polecił mi zrobić coś w stylu gry graficznej consolowej . Ma ona polegać na tym że klikam strzałkę w góre i przykładowo x przemieszcza się do góry . Problem polega na tym że nie wiem jak obsłużyć strzałki . Kod na obsługę strzałek niby ma wygladać tak :
C/C++
switch( znak )
{
case 224:
    znak = getch();
    switch( znak )
    {
    case 72: gora(); break;
    case 80: dol(); break;
    case 75: lewo(); break;
    case 77: prawo(); break;
    }
}
Czy to poprawny kod ? Są jakieś wyjątki żeby go nie stosować ? Z góry dziękuje za pomoc :)
P-80050
mactec
» 2013-04-06 13:40:03
Na Co Ci to?
C/C++
switch( znak )
{
case 224:

To jest poprawne i działa
C/C++
znak = getch();
switch( znak )
{
case 72: gora(); break;
case 80: dol(); break;
case 75: lewo(); break;
case 77: prawo(); break;
}
P-80052
grytyn
Temat założony przez niniejszego użytkownika
» 2013-04-06 13:43:49
wielkie dzięki za pomoc :D
P-80053
pekfos
» 2013-04-06 14:15:53
Czy to poprawny kod ?
Tak.
To jest poprawne i działa
Mylisz się.
P-80056
mactec
» 2013-04-06 14:21:04
Mylisz się.
Dlaczego?
Ten kod działa, co jest niby w nim nie poprawnego/nie działającego?
P-80058
pekfos
» 2013-04-06 14:23:21
Brak obsługi kodu 224. Przykładzik:
C/C++
#include <iostream>
#include <conio.h>

//Nie próbujcie tego w domu!

int main()
{
    while( true )
    {
        std::cout << "petla" << std::endl;
       
        switch( getch() )
        {
        case 72: std::cout << "gora" << std::endl; break;
        case 80: std::cout << "dol" << std::endl; break;
        case 75: std::cout << "lewo" << std::endl; break;
        case 77: std::cout << "prawo" << std::endl; break;
           
        default:
            std::cout << "ERROR!" << std::endl;
        }
    }
}
P-80059
mactec
» 2013-04-06 14:36:39
No tak faktycznie, ale nie zawsze jest potrzeba sprawdzania tego.
W końcu jak on chce sprawdzać tylko strzałki, i nie będzie robił czegoś w stylu sprawdzania czy został wciśnięty prawidłowy klawisz i informowania o tym użytkownika to wtedy jest ok.
P-80060
pekfos
» 2013-04-06 14:50:54
ale nie zawsze jest potrzeba sprawdzania tego.
Potrafisz podać przykład (gdy niesprawdzanie jest lepsze od sprawdzania)?
W końcu jak on chce sprawdzać tylko strzałki, i nie będzie robił czegoś w stylu sprawdzania czy został wciśnięty prawidłowy klawisz
To nie ma nic do rzeczy.
to wtedy jest ok.
Nie jest ok.. Wtedy sprawdzanie jednego klawisza jest rozciągnięte na 2 obiegi pętli (i operacje w pętli, takie jak wyświetlanie są wykonywane dwukrotnie). To ma być ok?
P-80061
« 1 » 2 3
  Strona 1 z 3 Następna strona