QB64 - QuickBasicSviluppo

Cerchi danzanti in QB64

Nel vasto mondo della programmazione, la creatività può emergere da angoli inaspettati. Un esempio affascinante di questo fenomeno è rappresentato dal codice QB64 che genera un’opera d’arte unica e dinamica attraverso il puro caso.

Randomize Timer
Screen 12

Do

    For i = 1 To 640 Step 20
        For j = 1 To 480 Step 20
            Circle (i, j), 10, (Rnd * 15) + 1
        Next j
    Next i

    _Limit 60

Loop Until InKey$ <> ""

Questo breve programma è una finestra sulla bellezza dell’arte generativa, un campo che sfrutta l’algoritmo e la casualità per creare opere d’arte uniche. Vediamo come questo codice QB64 si trasforma in una pioggia di cerchi colorati che danzano sullo schermo.

La prima riga, “Randomize Timer”, è una dichiarazione che innesca la casualità nel programma. Utilizzando la funzione Timer, il programma inizializza il generatore di numeri casuali in modo che produca sequenze uniche ad ogni esecuzione.

La successiva istruzione “Screen 12” stabilisce la modalità grafica dello schermo. La modalità 12 in QB64 offre una tavolozza di colori vivaci, perfetta per un’opera d’arte vibrante e dinamica.

Il cuore del programma è racchiuso nel ciclo “Do…Loop Until InKey$ <> “””. All’interno di questo ciclo, due loop nidificati scorrono gli assi x e y dello schermo. Per ogni coppia di coordinate (i, j), viene disegnato un cerchio di raggio 10 con un colore casuale. La funzione “Rnd” restituisce un numero casuale compreso tra 0 e 1, e moltiplicando il risultato per 15 e aggiungendo 1, si ottiene una gamma di colori che varia da 1 a 16.

Il comando “_Limit 60” controlla la velocità di aggiornamento dello schermo, garantendo un’animazione fluida e piacevole.

Il ciclo principale continua a eseguirsi finché non viene premuto un tasto, momento in cui il programma si interrompe, ma la bellezza dell’opera d’arte generata persiste.

/ 5
Grazie per aver votato!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *