Pulisci schermo in c VELOCE!!

di il
5 risposte

Pulisci schermo in c VELOCE!!

Ciao a tutti!

una domanda, ma esiste una funzione per pulire lo schermo più velocemente rispetto alla classica funzione
 system ("cls");
???
grazie

5 Risposte

  • Re: Pulisci schermo in c VELOCE!!

    
    void clear() {
        COORD topLeft  = { 0, 0 };
        HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
        CONSOLE_SCREEN_BUFFER_INFO screen;
        DWORD written;
    
        GetConsoleScreenBufferInfo(console, &screen);
        FillConsoleOutputCharacterA(
            console, ' ', screen.dwSize.X * screen.dwSize.Y, topLeft, &written
        );
        FillConsoleOutputAttribute(
            console, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE,
            screen.dwSize.X * screen.dwSize.Y, topLeft, &written
        );
        SetConsoleCursorPosition(console, topLeft);
    }
    
    se non ci sono errori...
  • Re: Pulisci schermo in c VELOCE!!

    Grazie a funzionare funziona !!
    pero non mi aumenta la velocità!

    mi spiego meglio ho fatto un gioco tipo snake e uso un ciclo che pulisce lo schermo
    e ristampa la posizione del serpente con un incremento ad ogni passaggio !

    solo che non riesco ad aumentare la velocità di questa ripetizione !!
    mi servirebbe un modo più veloce per pulire lo schermo !!!
    si può fare ???
  • Re: Pulisci schermo in c VELOCE!!

    No ... la questione è diversa, probabilmente il tuo approccio è sbagliato.

    Non devi cancellare tutto lo schermo ma solo quello che ti serve cancellare.
  • Re: Pulisci schermo in c VELOCE!!

    Non devi cancellare tutto e ristampare, semplicemente "sposti" il serpente nel nuovo punto. per spostare il cursore c'è la funzione GotoXY, che però in molti header non è inclusa, per cui se dovessi avere un errore di undefined reference puoi googlare la definizione della funzione e aggiungerla al progetto.
  • Re: Pulisci schermo in c VELOCE!!

    Probabilmente stai riscrivendo il famosissimo Nibbles che veniva fornito come dimostrativo del quick basic (ho visto che il sorgente può essere scaricato da qui )
Devi accedere o registrarti per scrivere nel forum
5 risposte