Lampeggio

di il
6 risposte

Lampeggio

Salve gente,
mi cimento da poco nel C, però volevo fare un programma che mi fa determinati calcoli (fin qua viene tutto). Ho fatto una sorta di menù che potesse far scegliere all'utente che operazione vuole fare (es.
Premi 1 per sommare dei numeri, premi 2 per moltiplicare dei numeri) ecc.
Poi a fine di ogni operazione vi è una scritta "premere 1 per uscire dal programma, premere 0 per tornare al menù". Siccome ho messo dei while questa condizione va.
Quindi, il programma funziona e sono soddisfatto.
Però ora vorrei che quella scritta finale potesse tipo "lampeggiare" sullo schermo. Se qualcuno potesse spiegarmi come potrei fare (non farmi il codice, basta una spiegazione o un ragionamento per capire), gliene sarei grato. Ciao!

6 Risposte

  • Re: Lampeggio

    Ciao,
    da quanto scrivi non si capisce bene, ma mi pare che tu stia utilizzando un normale terminale (cout??).
    In questo caso il "lampeggio" non è proprio consigliato. In teoria non puoi sapere su quale terminale sarà prodotto il tuo output e ogni tipo di terminale ha regole diverse per i diversi effetti. Qualche codice ascii potrebbe aiutare ma certamente non c'entra col C++
  • Re: Lampeggio

    settantatre ha scritto:


    Ciao,
    da quanto scrivi non si capisce bene, ma mi pare che tu stia utilizzando un normale terminale (cout??).
    In questo caso il "lampeggio" non è proprio consigliato. In teoria non puoi sapere su quale terminale sarà prodotto il tuo output e ogni tipo di terminale ha regole diverse per i diversi effetti. Qualche codice ascii potrebbe aiutare ma certamente non c'entra col C++
    Perdonami, ho corretto, ho fatto il programma in c, perdona la confusione: ho scritto di fretta.
    Sostanzialmente vorrei solo che una scritta potesse fare un po' un effetto di "lampeggio". Ho pensato ad un clear screen che potesse ripetersi insieme alla scritta in questione in un ciclo for.
    Così da far cancellare e riapparire quella scritta in pochi secondi e dare un effetto lampeggiato. Non so se abbia senso!
  • Re: Lampeggio

    Che comando utilizzi in C per scrivere? Se, come immagino è la print la risposta è nel comando stesso... print significa stampa su una stampante, non sono previsti effetti video. Si può fare tutto ma è davvero una forzatura poco sensata
  • Re: Lampeggio

    settantatre ha scritto:


    Che comando utilizzi in C per scrivere? Se, come immagino è la print la risposta è nel comando stesso... print significa stampa su una stampante, non sono previsti effetti video. Si può fare tutto ma è davvero una forzatura poco sensata
    Si lo so cos'è il comando printf...volevo solo un po' giocare per fare qualche cosa carina col programma. In C non si può fare molto (anzi direi niente) a livello "video". Mi è venuto il dubbio di come si potesse fare una cosa simile e ho chiesto un parere. Poi in sé il programma va già così. Volevo solo giocare!
  • Re: Lampeggio

    A livello di "gioco", potresti usare la printf per visualizzare la frase, accettare un tasto senza attendere il return, attendere un po', cancellare la frase con dei "backspace", attendere un po' e ripetere il ciclo. Ovviamente se il tasto viene premuto, esci dal ciclo.
  • Re: Lampeggio

    Tò... questa porzione di codice l'ho ricavata da un mio vecchio codice che usai per fare l'esame d'informatica all'Università.
    
    #include <iostream>
    #include <cstdlib>
    #include <conio.h>
    #include <windows.h>
    #include <string>
    
    using namespace std;
    
    int main()
    {
        char premiuntasto;
    
        do
        {
            cin.clear(); // Pulisce il buffer della tastiera
            system("color 0");
            cout << "\r\t\t\t\t\t PREMI UN TASTO PER CONTINUARE";
            Beep(1000, 400);
            Sleep(400);
            cout << "\r\t\t\t\t\t                                ";
            Sleep(600);
            if (kbhit())
                premiuntasto = _getch();
        }
        while (premiuntasto != 'a');
        return 0;
    }
    


    Studiatelo e cerca di adattarlo per il tuo scopo.
Devi accedere o registrarti per scrivere nel forum
6 risposte