517183
Il progetto consiste nella implementazione di Wordle, un gioco di parole web-based, divenuto virale alla fine del 2021. Il gioco consiste nel trovare una parola inglese formata da 5 lettere, impiegando un numero massimo di 6 tentativi. Wordle dispone di un vocabolario di parole di 5 lettere, da cui estrae casualmente una Secret Word che gli utenti devono indovinare. Ogni giorno viene selezionata una nuova Secret-Word che rimane invariata fino al giorno successivo e che viene proposta a tutti gli utenti che si collegano al sistema durante quel giorno. Esiste quindi una sola parola per ogni giorno e tutti gli utenti devono indovinarla: questo attribuisce al gioco un aspetto sociale. L’utente propone una parola Guessed-Word, il sistema inizialmente verifica se la parola è presente nel vocabolario e in caso negativo avverte l’utente che deve immettere un’altra parola. In caso la parola sia presente, il sistema fornisce all’utente alcuni indizi, utili per indovinare la parola.
Compilare i sorgenti .java
del server in bin-server
:
javac -cp lib/gson-2.10.jar -d bin-server/ \
src/ServerMain.java \
src/ServerSetup.java \
src/multicastSender.java \
src/Game.java \
src/User.java \
src/UserList.java \
src/Word.java \
src/WordList.java
Compilare i sorgenti .java
del client in bin-client
:
javac -d bin-client/ \
src/ClientMain.java \
src/ClientSetup.java \
src/multicastReceiver.java \
Generare i file .jar
per server e client:
echo "Main-Class: ServerMain" | jar cvfm WordleServer.jar - -C bin-server/ .
echo "Main-Class: ClientMain" | jar cvfm WordleClient.jar - -C bin-client/ .
Gli archivi .jar
sono già presenti nella directory principale del repository. Per eseguire il programma lanciare quindi le seguenti istruzioni in due istanze separate di sh
:
# SERVER
java -cp WordleServer.jar:lib/gson-2.10.jar ServerMain
# CLIENT
java -cp WordleClient.jar ClientMain