                                /* listato 1 */
				
                 /* Gioco di colori con grafica.h */
		 
#include (grafica.h)
#define PORT finestra->UserPort

 main()
 {
struct Screen *schermo;/* Prepara struttura per lo sreen */
struct Window *finestra;/* Prepara struttura per la finestra */	
struct IntuiMessage *messagio;/* Prepara struttura per il messaggio */

UNLOG class;
int x,y,z;


  AttivaG(); /* Apre le librerie */
  
schermo=(struct Screen *)Schermo(0,640,256,2,0,1,HIRES,
                                NULL,"Schermo di prova");
if (schermo==Null) {
	            EndG();
		    exit(); /* Problemi !*/
		   };
		   
Palette(schermo,0,0,0,0); /* Schermo nero */
Palette(schermo,1,15,15,15); /* Tutti gli altri colori bianchi */
Palette(schermo,2,15,15,15); 
Palette(schermo,3,15,15,15);

finestra=(struct Window *)Finestra(100,50,160,100,-1,-1,CLOSEWINDOW,
                                   WIDOWCLOSE+WIDOWDRAG+ACTIVATE,
				   NULL,NULL,
				   "Box e Palette",shermo,50,50,600,250);
				   
		/* Disegnamo qualche box */
		
BoxF(finestra,10,20,50,80,1);
BoxF(finestra,60,20,100,80,2);
BoxF(finestra,110,20,150,80,3);


x=3;   /* Inizializza le variabili di controllo dei colori */
y=9;
z=14;


          /* Attende la chiusuradella finestra cambiando i colori */
	  
 for(;;) /* ciclo infinito */
     {
	     /* Attende un messagio valido */
	while ((messaggio=(struct IntuiMessage *)GetMsg(PORT))!=NULL)
	      {    	  				   
		      /* salvo i campi che mi interessano */
		    class=messaggio->Class;
		    ReplayMsg(messaggio); /* Messagio ricevuto ! */
		    
		    if (class==CLOSEWINDOW) } /* Chiude la finestra */
dir 		                              CloseWindow(finestra);
					      CloseScreen(schermo);
					      EndG();
					      exit();
					     };
	       	   }; /* Fine while */
		 
	if (++x>15) x=0; /* Cambio valori x,y,z */
	if (--y<0) y=15;
	if (++z>15) z=0;
	
	Palette(schermo,1,x,y,z); /* Cambio colori 1 2 3 */
	Palette(schermo,2,z,x,y);
	Palette(schermo,3,y,z,x);
	
	Delay(10); /* Rallentiamo */
	
     }; /* Ciclo infinito */
     
     
} /* FINE */     		  				     
	       			     		     
					        
		      
		    				
	
