/WordQuizzle

Client-Server translation game based on Java, with Graphic Interface (JavaFX)

Primary LanguageJava

Logo

🖥 Laboratorio di Reti @ Dipartimento di Informatica UniPi

Il progetto riguarda la programmazione di un sistema di sfide di traduzione (italiano - inglese) utilizzando il linguaggio Java. E' richiesto anche di gestire una rete sociale in cui gli utenti possono registrarsi, aggiungere amicizie e confrontarsi attraverso classifiche basate sul punteggio. La registrazione degli utenti avviene tramite Remote Method Invocation, mentre il dialogo tra client e server secondo connessione TCP (che chiameremo TCP standard). La sfida sfrutta anch'essa il protocollo TCP (TCP sfida). Per le notifiche di sfida tra due utenti è stato richiesto di usare UDP. Le traduzioni si basano sulla API offerta dal servizio gratuito MyMemory. L'interfaccia grafica è stata realizzata sfruttando il framework JavaFX e l'applicativo SceneBuilder, che permette la creazione di file FXML attraverso semplici drag and drop, crop e resize dei vari elementi che compongono l'interfaccia. I file FXML in output sono poi caricabili tramite classi apposite di JavaFX come la classe FXMLLoader. Per la gestione dei file di persistenza, contenenti le informazioni delle strutture dati del server, ho utilizzato il formato JSON con l'aiuto delle librerie JSON.simple e Gson. Per una documentazione più approfondita fare riferimento alla relazione.

📸 Screenshots

🖌 Schermata di registrazione e login

Login-Register

🔰 Schermata principale

Login-Register

🎮 Schermata di gioco

Login-Register