ulepszenie poruszania się

0

witam, robię mini gierke typu roguelike i mam pytanie jak ulepszyć poniższy mechanizm poruszania się, tak że jeżeli trzymam 'w' i nacisne spacje to obiekt którym poruszam się nie zatrzyma (nie będę musiał znowu wciskać w). (poruszanie się podczas strzalu dziala, ale nie sie zatrzymuje i muszę znowu kliknac klawisz, żeby dalej sie ruszal)

do
    {
        znak = getch();
        gotoxy(x,y);cout<<' ';
        if(znak=='w')
        {
            if(y>0)y--;
            k=0;
        }
        else if(znak=='s')
            {
                if(y<lY-1)y++;
                k=1;
            }
            else if(znak=='a')
                {
                    if(x>0)x--;
                    k=2;
                }
                else if(znak=='d')
                    {
                        if(x<lX-1)x++;
                        k=3;
                    }
        if(znak==' ')strzal(k,x,y);
        gotoxy(x,y);cout<<char(chn);
        while( kbhit() )
        {
            znak = getch();
        }
    } while( znak != 27 );
1

Na keydown ustawiac flage w mapie, na keyup ja czyscic. W logice poruszania sprawdzac ta mape i wykonywac ruch.

1 użytkowników online, w tym zalogowanych: 0, gości: 1