Schleife mit Taste abrechen...



  • Das Programm gibt farbige Rechtecke an beliebiger stelle aus...Die Funktion wird in einer Schleife ausgegeben.Wenn ich nun will das die Schleife mit einem Tastendruck unterbrochen werden soll,wie stelle ich das an?Hab es mit getch versucht wie ihr seht...es Funktioniert aber so nicht die Schleife wird nicht unterbrochen...Kann es sein das ich die Tastenabfrage in der Funktion machen muß?Hab auch was von kbhit gehört kennt sich da jemand aus?

    #include<stdio.h>
    #include<curses.h>
    char key;
    int i,c;
    void dummy(int n);
    int main(){
    
    initscr();
    curs_set(0);
    key=getch();//Tasteneingabe
    refresh();
    
    while(key!='q'){//Tastenabfrage
    for(i=0;i<1000;i++){//Funktion wird mit schleife gestartet...
    dummy(i);
    refresh();
    }}
    endwin();
    }
    void dummy(int i){//Funktion
    int *wert;
    for(c=0;c<12;c++){
    wert[0]=rand()%70;//Farbwert wird mit zufalls Allgo bestimmt...
    wert[1]=rand()%70;
    wert[2]=rand()%70;
    wert[3]=rand()%70;
    wert[4]=rand()%70;
    wert[5]=rand()%70;
    wert[6]=rand()%70;
    wert[7]=rand()%70;
    wert[8]=rand()%70;
    for(i=0;i<9;i++){
    start_color();
    mvprintw(wert[i],wert[c]," ",i);//Positionierung der Kästchen im Terminal wird erstellt....
    init_pair(i,i,i);//farbwert wird initialisiert
    attron(A_BOLD);
    attrset(COLOR_PAIR(i)|A_BOLD);
    refresh();
    }}}
    


  • da du ja anscheinen auf windows proggst gibts da ne nicht ansi-standard funktion khbit()
    die sollte die helfen indem du nach jedem mal dummy aufrufen schaust ob auf ne taste geklopt wurde und wenn ja welche das war und ggf die schleife unterbrechen...



  • nein ich progge auf linux nich auf windows...ein beispiel währe nicht schlecht...



  • öhm wenn du auf linux proggst wiso stellst du deien frage den ins DOS und Win32-Konsole -forum?

    wie man das am schlauesten unter linux macht, musst du schon die linuxexperten fragen...



  • Wer suchet der findet...

    Über die Forumsuche mit den Stichwörtern "linux" und "kbhit" hab ich folgendes gefunden:

    http://www.c-plusplus.net/forum/viewtopic.php?t=63147&start=0&postdays=0&postorder=asc&highlight=linux+kbhit


Anmelden zum Antworten