Funktion kbhit() -> c <- / Snake Programmierung /



  • Hallo,
    sorry falls jemannd schon so einen Betrag geschrieben hat aber ich kann halt bei euch im Monet keine Suchvorgang starten, 🙄
    Ich hatte vor mit C Snake zu progen bin halt noch n n00b naja egal, aller Anfang muss sein. Mein Problem:
    -----------------------------------------------
    do
    {
    if (kbhit() && (getch() == 72))
    {
    funkh(x,y);
    }
    if (kbhit() && (getch() == 80))
    {
    funkru(x,y);
    }
    if (kbhit() && (getch() == 75))
    {
    funkl(x,y);
    }
    if (kbhit() && (getch() == 77))
    {
    funkr(x,y);
    }
    }
    while(1);
    --------------------------------------------------
    Ich möchte diesen Bereich anderes Übergeben z.b. obwohl es nicht geht
    (a=getch()&&(kbhit)))
    und dannach mit if abfragen welche Funktion er aufrufen soll, ich hab sonst ein Problem das er nicht stehen bleibt oder das ich nur 2 von 4 Pfeil tasten benutzen kann.
    Weil ich hab sonst immer das Problem das der Cruser stehen bleibt, das er eigeneltich bei einem Snake nicht macht, denn er sollte automatisch durch gehen.
    ich bräuchte mal einen Rat !!
    Danke 🙂 fürs lesen und Beantworten 😋



  • C != C#



  • Dieser Thread wurde von Moderator/in CMatt aus dem Forum C# und .NET in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • unsinn geschrieben.. da du schon abfängst.. ich denke nochmal..



  • jetzt aber: so wird nen schuh draus

    unsigned char chr;
    do{
            chr=getch();
            if ((chr==224) || (chr==0)){
               chr=getch();
    
               switch(chr){
               case 75:
                    printf("<-");
                    break;
               case 77:
                    printf("->");
                    break;
               case 83:
                    printf("ENTF");
                    break;
               case 82:
                    printf("EINF");
                    break;
               case 80:
                    printf("pfeil nach unten");
                    break;
               case 79:
                    printf("ENDE");
                    break;
               case 72:
                    printf("pfeil nach oben");
                    break;
               }
            }
        }while( !(kbhit()));
    

    und lass dich ins konsolenforum weiterverschieben.
    dort in der faq stehen viele hinweise, die vielleicht nützlich sein werden 😉



  • Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten