[c++] sterowanie za pomocą strzałek


(Bamboleonn) #1

Witam napisałem prostą grę (w trybie tekstowym) wąż (snake), w której do sterowana wykorzystuje klawisze w, s, a, d, a problem tkwi w tym iż do sterowana chciałbym użyć strzałek z klawiatury, które są dużo wygodniejsze :slight_smile:

teraz wygląda to mniej wiecej tak:

bool ZmianaKierunku(char znak)

{

     switch (znak)

     {

            case 'a': if(KierunekRuchuWeza!=DIR_RIGHT) KierunekRuchuWeza=DIR_LEFT; break;

            case 'd': if(KierunekRuchuWeza!=DIR_LEFT) KierunekRuchuWeza=DIR_RIGHT; break;

            case 'w': if(KierunekRuchuWeza!=DIR_DOWN) KierunekRuchuWeza=DIR_UP; break;

            case 's': if(KierunekRuchuWeza!=DIR_UP) KierunekRuchuWeza=DIR_DOWN; break;

     }

}

czy mógłby mi ktoś podpowiedzieć jak zrobić to strzałkami? Przeszukałem Google i nic nie mogę znaleźć.. Z góry dziękuje :slight_smile:


(Kamil321) #2

http://www.elektroda.pl/rtvforum/topic267871.html :slight_smile:


(Kalin 93) #3
if (getch () == 224)

    {

    system ("cls");

    if (nPozycjaKursora == 0) cout << char (16) ; else cout << " "; cout << "0" << endl;

    if (nPozycjaKursora == 1) cout << char (16) ; else cout << " "; cout << "1" << endl;

    if (nPozycjaKursora == 2) cout << char (16) ; else cout << " "; cout << "2" << endl;

    if (nPozycjaKursora == 3) cout << char (16) ; else cout << " "; cout << "3" << endl;

               switch (getch ())

               {

                      case 80 : nPozycjaKursora++; if (nPozycjaKursora > 3) nPozycjaKursora = 0; break;

                      case 72 : nPozycjaKursora--; if (nPozycjaKursora < 0) nPozycjaKursora = 3; break;

               }

    }

Fragment mojego silnika menu , jeszcze nie skończony i nie dopracowany ale to czego oczekujesz to działa :wink: Pozdrawiam :slight_smile:


(Bamboleonn) #4

Dzięki wielkie popracuje z tym : )