Questi listati sono pronti per essere copiati (EDIT .. COPY) e poi incollati
(EDIT .. PASTE) sull'editor del GFA BASIC PER WINDOWS (GFW_DEMO.EXE).
Poi potranno essere salvati come ESERCIZ1.GFW e ESERCIZ2.GFW.
/////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ //////////////////////////// salvaschermo 1 \\\\\\\\\\\\\\\\\\\\ //////////////////////////// by C. Fanucci \\\\\\\\\\\\\\\\\\\\ /////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ // 15/06/99 /// simmetria doppia \\\ OPENW #1,0,0,_X,_Y,32 // apertura di una finestra grande senza barre CLS 0 // schermo nero X = _X / 2 // _X/2 e' il centro dello schermo sull'asse delle X Y = _Y / 2 // _Y/2 e' il centro dello schermo sull'asse delle Y oldmx = MOUSEX // memorizza posizione MOUSE X oldmy = MOUSEY // memorizza posizione MOUSE Y HIDEM // nasconde il puntatore del MOUSE inizio = 111 // rosso COLOR 0,0 // SCRIVE NERO SU NERO ? AT(1,1)"." // UN PUNTINO NERO (VEDI SPIEGAZIONI) DO // DO e' l'inizio di un ciclo EXIT IF MOUSEK OR INKEY$ >< "" // si esce dal ciclo pigiando un tasto MOUSE O TASTIERA EXIT IF MOUSEX >< oldmx OR MOUSEY >< oldmy // si esce anche muovendo il MOUSE INC COLL // ad ogni ciclo COLL=COLL+1 COLOR COLL / 200 // con il colore COLL che cambia ogni 200 cicli X = X + RAND(6) - RAND(6) // X aumenta di un numero a caso tra -5 e +5 Y = Y + RAND(6) - RAND(6) // Y aumenta di un numero a caso tra -5 e +5 IF X > _X THEN X = X - RAND(6) // controlla tracciato IF Y > _Y THEN Y = Y - RAND(6) // controlla tracciato IF X < 0 THEN X = X + RAND(6) // controlla tracciato IF Y < 0 THEN Y = Y + RAND(6) // controlla tracciato PLOT x ,_Y - y // NUOVA FORMULA PLOT x ,y // PER UNA DOPPIA PLOT _X - x ,y // SIMMETRIA PLOT _X - x ,_Y - y // SUI DUE ASSI X Y LOOP // fine del ciclo SHOWM // ricompare il puntatore del MOUSE CLOSEW #1 // chiude finestra ENDAvrete notato un comando apparentemente inutile:
COLOR 0,0 // SCRIVE NERO SU NERO ? AT(1,1)"." // UN PUNTINO NERO (VEDI SPIEGAZIONI)in effetti se non si scrive qualcosa sullo schermo con il comando ? (PRINT) dopo qualche minuto la schermata sparisce... Forse e' un baco del WINGFA...
/////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ //////////////////////////// salvaschermo 2 \\\\\\\\\\\\\\\\\\\\ //////////////////////////// by C. Fanucci \\\\\\\\\\\\\\\\\\\\ /////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ // 15/06/99 /// simmetria doppia \\\ OPENW #1,0,0,_X,_Y,16 // 16=SOLO BARRA DEL TITOLO TITLEW #1,DATE$ + " __ SCREEN SAVER by C. Fanucci __ " + TIME$ ////////////////////////////////////////// BARRA DEL TITOLO CON DATA E ORA x = _X / 2 y = _Y / 2 CLS 0 HIDEM oldmousex = MOUSEX oldmousey = MOUSEY COLOR 0,0 ? AT(1,1)"." DO EXIT IF MOUSEK OR INKEY$ >< "" OR MOUSEX >< oldmousex OR MOUSEY >< oldmousey INC coll COLOR coll / 100 PLOT x ,_Y - y PLOT x ,y PLOT _X - x ,y PLOT _X - x ,_Y - y z = coll / 5000 + 1 // z=dispersione punti aumenta ogni 5000 punti x = x + RAND(2 * z) - RAND(2 * z) y = y + RAND(2 * z) - RAND(2 * z) IF y < 0 THEN y = y + RAND(2 * z) IF x < 0 THEN x = x + RAND(2 * z) IF y > _Y THEN y = y - RAND(2 * z) IF x > _X THEN x = x - RAND(2 * z) LOOP COLOR 15 BOX 0,0,_X - 1,_Y - 1 SHOWM ENDGLI ISCRITTI AL CORSO POTRANNO SPEDIRE VIA E-MAIL LE LORO VARIAZIONI SUL TEMA, OSSIA ALTRE FORMULE PER UNA GRAFICA PIU' BELLA.... LE MIGLIORI SARANNO PUBBLICATE!