Corso di Sistemi Operativi Distribuiti

Il Ballo della Scopa

di Vincenzo Gervasi e Alessandra Raffaetà

Al ballo della scopa partecipano N dame e N+1 cavalieri. K<N+1 coppie ballano, un cavaliere tiene la scopa e 2*(N-K) cavalieri e dame fanno tappezzeria.

Un cavaliere che fa tappezzeria può invitare una dama priva di cavaliere.

Una dama che sta ballando può dare uno schiaffo al suo cavaliere troppo intraprendente.

Il cavaliere che ha la scopa può scambiarla con uno dei cavalieri che stanno danzando; quest'ultimo non potrà ridare la scopa al cavaliere da cui l'ha ricevuta.

Abbiamo realizzato due versioni del progetto. La prima, di cui è possibile esaminare il sorgente, è molto semplice ed è implementata come applicazione Java, con uscita sulla console di sistema.

Una seconda versione, più sofisticata, è implementata come Applet e offre grafica, animazione e sonoro. Anche di questa versione è possibile esaminare il sorgente e una descrizione del suo funzionamento.

L'Applet può essere configurata attraverso alcuni parametri. Ecco alcune configurazioni che è possibile osservare in esecuzione: