From aad7c9aed4799faceb7a44638c1ad00578e7f4f6 Mon Sep 17 00:00:00 2001 From: Yacine Boussoufa Date: Thu, 20 Jan 2022 21:28:52 +0100 Subject: [PATCH] Versione 0.3d MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit *Implementato un nuovo pattern di gioco fino al punteggio 800 *Nuovo boss (nuovo file domande più difficile) *Nuova fase intermedia tra primo e secondo boss con nuovo file domande *Implementato path e ip in locale Co-Authored-By: camillo-yyy <64476507+camillo-yyy@users.noreply.github.com> --- Docs/README.md | 40 + .../Quiz/build/built-jar.properties | 6 - .../QuizServer/build/built-jar.properties | 6 - .../build/classes/quiz/ClientWork.class | Bin 10493 -> 0 bytes .../build/classes/quiz/leaderboard.xml | 7 - .../QuizServer/QuizServer/dist/QuizServer.jar | Bin 9179 -> 0 bytes Quizv0.3c/QuizShare/QuizShare/dist/README.TXT | 32 - .../QuizShare/dist/lib/AbsoluteLayout.jar | Bin 2903 -> 0 bytes .../nbproject/private/private.properties | 6 - Quizv0.3d/QuizClient/Quiz/README.md | 40 + .../QuizClient/Quiz/build.xml | 146 +- .../Quiz/build/built-jar.properties | 6 + .../Quiz/build/classes/img/Bottone.png | Bin .../Quiz/build/classes/img/Chiaro.png | Bin .../Quiz/build/classes/img/Icon.png | Bin .../Quiz/build/classes/img/Quiz.png | Bin .../Quiz/build/classes/img/Scuro.png | Bin .../Quiz/build/classes/img/server-32.png | Bin .../Quiz/build/classes/quiz/Icon.png | Bin .../Quiz/build/classes/quiz/IconBar.png | Bin .../Quiz/build/classes/quiz/Quiz$1.class | Bin .../Quiz/build/classes/quiz/Quiz$10.class | Bin .../Quiz/build/classes/quiz/Quiz$11.class | Bin .../Quiz/build/classes/quiz/Quiz$12.class | Bin .../Quiz/build/classes/quiz/Quiz$13.class | Bin .../Quiz/build/classes/quiz/Quiz$14.class | Bin .../Quiz/build/classes/quiz/Quiz$15.class | Bin .../Quiz/build/classes/quiz/Quiz$16.class | Bin .../Quiz/build/classes/quiz/Quiz$17.class | Bin .../Quiz/build/classes/quiz/Quiz$18.class | Bin .../Quiz/build/classes/quiz/Quiz$2.class | Bin .../Quiz/build/classes/quiz/Quiz$3.class | Bin .../Quiz/build/classes/quiz/Quiz$4.class | Bin .../Quiz/build/classes/quiz/Quiz$5.class | Bin .../Quiz/build/classes/quiz/Quiz$6.class | Bin .../Quiz/build/classes/quiz/Quiz$7.class | Bin .../Quiz/build/classes/quiz/Quiz$8.class | Bin .../Quiz/build/classes/quiz/Quiz$9.class | Bin .../Quiz/build/classes/quiz/Quiz.class | Bin 20232 -> 20228 bytes .../QuizClient/Quiz/dist/QuizClient.jar | Bin 367468 -> 367420 bytes .../QuizClient/Quiz/dist/README.TXT | 2 +- .../Quiz/dist/lib/AbsoluteLayout.jar | Bin .../QuizClient/Quiz}/dist/lib/Quiz.jar | Bin 1676 -> 1614 bytes .../QuizClient/Quiz/nbproject/build-impl.xml | 3580 ++++++++--------- .../Quiz/nbproject/build-native.xml | 0 .../Quiz/nbproject/build-native.xml~ | 0 .../Quiz/nbproject/genfiles.properties | 16 +- .../Quiz/nbproject/private/config.properties | 0 .../Quiz/nbproject/private/private.properties | 0 .../Quiz}/nbproject/private/private.xml | 4 +- .../Quiz/nbproject/project.properties | 192 +- .../QuizClient/Quiz/nbproject/project.xml | 56 +- .../QuizClient/Quiz/src/img/Bottone.png | Bin .../QuizClient/Quiz/src/img/Chiaro.png | Bin .../QuizClient/Quiz/src/img/Icon.png | Bin .../QuizClient/Quiz/src/img/Quiz.png | Bin .../QuizClient/Quiz/src/img/Scuro.png | Bin .../QuizClient/Quiz/src/img/server-32.png | Bin .../QuizClient/Quiz/src/quiz/Icon.png | Bin .../QuizClient/Quiz/src/quiz/IconBar.png | Bin .../QuizClient/Quiz/src/quiz/Quiz.form | 2 +- .../QuizClient/Quiz/src/quiz/Quiz.java | 8 +- Quizv0.3d/QuizClient/README.md | 40 + Quizv0.3d/QuizServer/QuizServer/README.md | 40 + .../QuizServer/QuizServer/build.xml | 146 +- .../QuizServer/build/built-jar.properties | 6 + .../build/classes/quiz/Callback.class | Bin .../build/classes/quiz/ClientWork.class | Bin 0 -> 10078 bytes .../build/classes/quiz/Server01.class | Bin .../QuizServer/build/classes}/quiz/boss.txt | 0 .../QuizServer/build/classes/quiz/boss2.txt | 3 + .../QuizServer/build/classes/quiz/domande.txt | 34 +- .../build/classes/quiz/domande2.txt | 11 + .../build/classes/quiz/leaderboard.xml | 6 + .../QuizServer/QuizServer/dist/QuizServer.jar | Bin 0 -> 10153 bytes .../QuizServer/QuizServer/dist/README.TXT | 2 +- .../QuizServer/dist/lib/AbsoluteLayout.jar | Bin .../QuizServer/QuizServer}/dist/lib/Quiz.jar | Bin 1676 -> 1614 bytes .../QuizServer/nbproject/build-impl.xml | 3580 ++++++++--------- .../QuizServer/nbproject/build-native.xml | 0 .../QuizServer/nbproject/build-native.xml~ | 0 .../QuizServer/nbproject/genfiles.properties | 16 +- .../nbproject/private/config.properties | 0 .../nbproject/private/private.properties | 0 .../QuizServer}/nbproject/private/private.xml | 4 +- .../QuizServer/nbproject/project.properties | 192 +- .../QuizServer/nbproject/project.xml | 56 +- .../QuizServer/src/quiz/ClientWork.java | 86 +- .../QuizServer/src/quiz/Server01.java | 0 .../QuizServer/QuizServer/src}/quiz/boss.txt | 4 +- .../QuizServer/QuizServer/src/quiz/boss2.txt | 3 + .../QuizServer/src/quiz/domande.txt | 14 +- .../QuizServer/src/quiz/domande2.txt | 11 + .../QuizServer/src/quiz/leaderboard.xml | 3 +- Quizv0.3d/QuizServer/README.md | 40 + Quizv0.3d/QuizShare/QuizShare/README.md | 40 + .../QuizShare/QuizShare/build.xml | 146 +- .../build/classes/quiz/Message.class | Bin .../QuizShare/QuizShare/dist/Quiz.jar | Bin 1680 -> 1614 bytes .../QuizShare/nbproject/build-impl.xml | 3544 ++++++++-------- .../QuizShare/nbproject/build-native.xml | 0 .../QuizShare/nbproject/build-native.xml~ | 0 .../QuizShare/nbproject/genfiles.properties | 16 +- .../nbproject/private/config.properties | 0 .../nbproject/private/private.properties | 6 + .../QuizShare}/nbproject/private/private.xml | 0 .../QuizShare/nbproject/project.properties | 180 +- .../QuizShare/QuizShare/nbproject/project.xml | 36 +- .../QuizShare/QuizShare/src/quiz/Message.java | 0 Quizv0.3d/QuizShare/README.md | 40 + Quizv0.3d/README.md | 40 + WebSite/README.md | 40 + WebSite/leaderboard.php | 44 +- WebSite/leaderboard.xml | 2 +- 114 files changed, 6477 insertions(+), 6103 deletions(-) create mode 100644 Docs/README.md delete mode 100644 Quizv0.3c/QuizClient/Quiz/build/built-jar.properties delete mode 100644 Quizv0.3c/QuizServer/QuizServer/build/built-jar.properties delete mode 100644 Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/ClientWork.class delete mode 100644 Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml delete mode 100644 Quizv0.3c/QuizServer/QuizServer/dist/QuizServer.jar delete mode 100644 Quizv0.3c/QuizShare/QuizShare/dist/README.TXT delete mode 100644 Quizv0.3c/QuizShare/QuizShare/dist/lib/AbsoluteLayout.jar delete mode 100644 Quizv0.3c/QuizShare/QuizShare/nbproject/private/private.properties create mode 100644 Quizv0.3d/QuizClient/Quiz/README.md rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build.xml (97%) create mode 100644 Quizv0.3d/QuizClient/Quiz/build/built-jar.properties rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/img/Bottone.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/img/Chiaro.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/img/Icon.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/img/Quiz.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/img/Scuro.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/img/server-32.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Icon.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/IconBar.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$1.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$10.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$11.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$12.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$13.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$14.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$15.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$16.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$17.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$18.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$2.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$3.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$4.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$5.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$6.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$7.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$8.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz$9.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/build/classes/quiz/Quiz.class (93%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/dist/QuizClient.jar (96%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/dist/README.TXT (99%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/dist/lib/AbsoluteLayout.jar (100%) rename {Quizv0.3c/QuizServer/QuizServer => Quizv0.3d/QuizClient/Quiz}/dist/lib/Quiz.jar (63%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/build-impl.xml (98%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/build-native.xml (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/build-native.xml~ (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/genfiles.properties (98%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/private/config.properties (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/private/private.properties (100%) rename {Quizv0.3c/QuizServer/QuizServer => Quizv0.3d/QuizClient/Quiz}/nbproject/private/private.xml (69%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/project.properties (96%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/nbproject/project.xml (97%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/img/Bottone.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/img/Chiaro.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/img/Icon.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/img/Quiz.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/img/Scuro.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/img/server-32.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/quiz/Icon.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/quiz/IconBar.png (100%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/quiz/Quiz.form (99%) rename {Quizv0.3c => Quizv0.3d}/QuizClient/Quiz/src/quiz/Quiz.java (98%) create mode 100644 Quizv0.3d/QuizClient/README.md create mode 100644 Quizv0.3d/QuizServer/QuizServer/README.md rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/build.xml (97%) create mode 100644 Quizv0.3d/QuizServer/QuizServer/build/built-jar.properties rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/build/classes/quiz/Callback.class (100%) create mode 100644 Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/ClientWork.class rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/build/classes/quiz/Server01.class (100%) rename {Quizv0.3c/QuizServer/QuizServer/src => Quizv0.3d/QuizServer/QuizServer/build/classes}/quiz/boss.txt (100%) create mode 100644 Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/boss2.txt rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/build/classes/quiz/domande.txt (53%) create mode 100644 Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/domande2.txt create mode 100644 Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml create mode 100644 Quizv0.3d/QuizServer/QuizServer/dist/QuizServer.jar rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/dist/README.TXT (99%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/dist/lib/AbsoluteLayout.jar (100%) rename {Quizv0.3c/QuizClient/Quiz => Quizv0.3d/QuizServer/QuizServer}/dist/lib/Quiz.jar (63%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/build-impl.xml (98%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/build-native.xml (100%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/build-native.xml~ (100%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/genfiles.properties (98%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/private/config.properties (100%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/private/private.properties (100%) rename {Quizv0.3c/QuizShare/QuizShare => Quizv0.3d/QuizServer/QuizServer}/nbproject/private/private.xml (67%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/project.properties (96%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/nbproject/project.xml (97%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/src/quiz/ClientWork.java (86%) rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/src/quiz/Server01.java (100%) rename {Quizv0.3c/QuizServer/QuizServer/build/classes => Quizv0.3d/QuizServer/QuizServer/src}/quiz/boss.txt (98%) create mode 100644 Quizv0.3d/QuizServer/QuizServer/src/quiz/boss2.txt rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/src/quiz/domande.txt (53%) create mode 100644 Quizv0.3d/QuizServer/QuizServer/src/quiz/domande2.txt rename {Quizv0.3c => Quizv0.3d}/QuizServer/QuizServer/src/quiz/leaderboard.xml (65%) create mode 100644 Quizv0.3d/QuizServer/README.md create mode 100644 Quizv0.3d/QuizShare/QuizShare/README.md rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/build.xml (97%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/build/classes/quiz/Message.class (100%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/dist/Quiz.jar (62%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/nbproject/build-impl.xml (98%) rename Quizv0.3c/QuizShare/QuizShare/nbproject/build-native.xml~ => Quizv0.3d/QuizShare/QuizShare/nbproject/build-native.xml (100%) rename Quizv0.3c/QuizShare/QuizShare/nbproject/build-native.xml => Quizv0.3d/QuizShare/QuizShare/nbproject/build-native.xml~ (100%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/nbproject/genfiles.properties (98%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/nbproject/private/config.properties (100%) create mode 100644 Quizv0.3d/QuizShare/QuizShare/nbproject/private/private.properties rename {Quizv0.3c/QuizClient/Quiz => Quizv0.3d/QuizShare/QuizShare}/nbproject/private/private.xml (100%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/nbproject/project.properties (96%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/nbproject/project.xml (97%) rename {Quizv0.3c => Quizv0.3d}/QuizShare/QuizShare/src/quiz/Message.java (100%) create mode 100644 Quizv0.3d/QuizShare/README.md create mode 100644 Quizv0.3d/README.md create mode 100644 WebSite/README.md diff --git a/Docs/README.md b/Docs/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Docs/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/Quizv0.3c/QuizClient/Quiz/build/built-jar.properties b/Quizv0.3c/QuizClient/Quiz/build/built-jar.properties deleted file mode 100644 index d69835d..0000000 --- a/Quizv0.3c/QuizClient/Quiz/build/built-jar.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri, 14 Jan 2022 20:35:38 +0100 - - -C\:\\Users\\Yacine\\Desktop\\QuizGame0.3\\Quizv0.3c\\QuizClient\\Quiz= - -C\:\\Users\\Yacine\\Desktop\\QuizGame0.3\\Quizv0.3c\\QuizShare\\QuizShare= diff --git a/Quizv0.3c/QuizServer/QuizServer/build/built-jar.properties b/Quizv0.3c/QuizServer/QuizServer/build/built-jar.properties deleted file mode 100644 index c2e1ed2..0000000 --- a/Quizv0.3c/QuizServer/QuizServer/build/built-jar.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri, 14 Jan 2022 20:35:11 +0100 - - -C\:\\Users\\Yacine\\Desktop\\QuizGame0.3\\Quizv0.3c\\QuizServer\\QuizServer= - -C\:\\Users\\Yacine\\Desktop\\QuizGame0.3\\Quizv0.3c\\QuizShare\\QuizShare= diff --git a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/ClientWork.class b/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/ClientWork.class deleted file mode 100644 index 6d716c8adb078ede341f4308872141314b2377ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10493 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 diff --git a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml b/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml deleted file mode 100644 index 6517168..0000000 --- a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - P03 - try to catch me buddy - 12000 - - \ No newline at end of file diff --git a/Quizv0.3c/QuizServer/QuizServer/dist/QuizServer.jar b/Quizv0.3c/QuizServer/QuizServer/dist/QuizServer.jar deleted file mode 100644 index f73c4439e7124daf9ba8601cbb5160569fbf6842..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9179 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 diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/private/private.properties b/Quizv0.3c/QuizShare/QuizShare/nbproject/private/private.properties deleted file mode 100644 index c3a1184..0000000 --- a/Quizv0.3c/QuizShare/QuizShare/nbproject/private/private.properties +++ /dev/null @@ -1,6 +0,0 @@ -compile.on.save=true -do.depend=false -do.jar=true -javac.debug=true -javadoc.preview=true -user.properties.file=C:\\Users\\Yacine\\AppData\\Roaming\\NetBeans\\8.2\\build.properties diff --git a/Quizv0.3d/QuizClient/Quiz/README.md b/Quizv0.3d/QuizClient/Quiz/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Quizv0.3d/QuizClient/Quiz/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/Quizv0.3c/QuizClient/Quiz/build.xml b/Quizv0.3d/QuizClient/Quiz/build.xml similarity index 97% rename from Quizv0.3c/QuizClient/Quiz/build.xml rename to Quizv0.3d/QuizClient/Quiz/build.xml index 693a2e7..35fe0f7 100644 --- a/Quizv0.3c/QuizClient/Quiz/build.xml +++ b/Quizv0.3d/QuizClient/Quiz/build.xml @@ -1,73 +1,73 @@ - - - - - - - - - - - Builds, tests, and runs the project QuizClient. - - - + + + + + + + + + + + Builds, tests, and runs the project QuizClient. + + + diff --git a/Quizv0.3d/QuizClient/Quiz/build/built-jar.properties b/Quizv0.3d/QuizClient/Quiz/build/built-jar.properties new file mode 100644 index 0000000..cf04195 --- /dev/null +++ b/Quizv0.3d/QuizClient/Quiz/build/built-jar.properties @@ -0,0 +1,6 @@ +#Thu, 20 Jan 2022 21:17:07 +0100 + + +C\:\\Users\\Yacine\\Desktop\\Quizv0.3d\\Quizv0.3d\\QuizClient\\Quiz= + +C\:\\Users\\Yacine\\Desktop\\Quizv0.3d\\Quizv0.3d\\QuizShare\\QuizShare= diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/img/Bottone.png b/Quizv0.3d/QuizClient/Quiz/build/classes/img/Bottone.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/img/Bottone.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/img/Bottone.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/img/Chiaro.png b/Quizv0.3d/QuizClient/Quiz/build/classes/img/Chiaro.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/img/Chiaro.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/img/Chiaro.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/img/Icon.png b/Quizv0.3d/QuizClient/Quiz/build/classes/img/Icon.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/img/Icon.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/img/Icon.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/img/Quiz.png b/Quizv0.3d/QuizClient/Quiz/build/classes/img/Quiz.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/img/Quiz.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/img/Quiz.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/img/Scuro.png b/Quizv0.3d/QuizClient/Quiz/build/classes/img/Scuro.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/img/Scuro.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/img/Scuro.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/img/server-32.png b/Quizv0.3d/QuizClient/Quiz/build/classes/img/server-32.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/img/server-32.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/img/server-32.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Icon.png b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Icon.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Icon.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Icon.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/IconBar.png b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/IconBar.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/IconBar.png rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/IconBar.png diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$1.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$1.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$1.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$1.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$10.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$10.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$10.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$10.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$11.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$11.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$11.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$11.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$12.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$12.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$12.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$12.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$13.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$13.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$13.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$13.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$14.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$14.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$14.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$14.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$15.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$15.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$15.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$15.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$16.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$16.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$16.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$16.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$17.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$17.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$17.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$17.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$18.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$18.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$18.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$18.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$2.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$2.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$2.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$2.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$3.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$3.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$3.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$3.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$4.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$4.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$4.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$4.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$5.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$5.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$5.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$5.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$6.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$6.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$6.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$6.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$7.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$7.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$7.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$7.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$8.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$8.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$8.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$8.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$9.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$9.class similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz$9.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz$9.class diff --git a/Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz.class b/Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz.class similarity index 93% rename from Quizv0.3c/QuizClient/Quiz/build/classes/quiz/Quiz.class rename to Quizv0.3d/QuizClient/Quiz/build/classes/quiz/Quiz.class index 36cfa01fd70ef968b586818ffdc3b782b6fc6796..b1d4cd337418ba2368358fae25eede0f9d54d858 100644 GIT binary patch delta 45 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 delta 8812 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 P(oE1p%%vpIt^5A~^C3q_ diff --git a/Quizv0.3c/QuizClient/Quiz/dist/README.TXT b/Quizv0.3d/QuizClient/Quiz/dist/README.TXT similarity index 99% rename from Quizv0.3c/QuizClient/Quiz/dist/README.TXT rename to Quizv0.3d/QuizClient/Quiz/dist/README.TXT index 264bcfc..4169f0c 100644 --- a/Quizv0.3c/QuizClient/Quiz/dist/README.TXT +++ b/Quizv0.3d/QuizClient/Quiz/dist/README.TXT @@ -29,4 +29,4 @@ the projects runtime path. * To set a main class in a standard Java project, right-click the project node in the Projects window and choose Properties. Then click Run and enter the class name in the Main Class field. Alternatively, you can manually type the -class name in the manifest Main-Class element. +class name in the manifest Main-Class element. diff --git a/Quizv0.3c/QuizClient/Quiz/dist/lib/AbsoluteLayout.jar b/Quizv0.3d/QuizClient/Quiz/dist/lib/AbsoluteLayout.jar similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/dist/lib/AbsoluteLayout.jar rename to Quizv0.3d/QuizClient/Quiz/dist/lib/AbsoluteLayout.jar diff --git a/Quizv0.3c/QuizServer/QuizServer/dist/lib/Quiz.jar b/Quizv0.3d/QuizClient/Quiz/dist/lib/Quiz.jar similarity index 63% rename from Quizv0.3c/QuizServer/QuizServer/dist/lib/Quiz.jar rename to Quizv0.3d/QuizClient/Quiz/dist/lib/Quiz.jar index cbfd9ae91b3454d67bad97b1f8a8cbd9cd713153..eb490d50cdca0d109cecd6f8c32a5bf26e32d7d9 100644 GIT binary patch delta 323 zcmeC-J;%cv;LXg!#lXP9z@WOyWFoIdy~-++kbh6TJWMce)26= z(_o-X2+#*`zzSyxFuZj<2jmr&W>)D3cr!AIFoObu0~8P;#_{6j>MRTlq1+4%LU1h% S3`-h6GE7clQ(^M}8w3ChL|2gj delta 351 zcmX@d)5FUf;LXg!#lXP9z>vN~Zz8XTVA>MB5aIK7Z`U(0Fx&=Wk;&^=#p`|h&T<_x z5NLVdxaY9k*9i#@0o9iuosD7@%-@t7Ce_*djD4klepOJ!vkzy_7>Ry+=BC(X{4*gY zzG0H_xodyrBkec7IA>2s5^2{Xl z9v2ydvdRSEIldFiEOv-Im9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set src.dir - Must set test.src.dir - Must set build.dir - Must set dist.dir - Must set build.classes.dir - Must set dist.javadoc.dir - Must set build.test.classes.dir - Must set build.test.results.dir - Must set build.classes.excludes - Must set dist.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No tests executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set JVM to use for profiling in profiler.info.jvm - Must set profiler agent JVM arguments in profiler.info.jvmargs.agent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - java -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - Must select one file in the IDE or set run.class - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set debug.class - - - - - Must select one file in the IDE or set debug.class - - - - - Must set fix.includes - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - Must select one file in the IDE or set profile.class - This target only works when run from inside the NetBeans IDE. - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - - - Must select some files in the IDE or set test.includes - - - - - Must select one file in the IDE or set run.class - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - Some tests failed; see details above. - - - - - - - - - Must select some files in the IDE or set test.includes - - - - Some tests failed; see details above. - - - - Must select some files in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - Some tests failed; see details above. - - - - - Must select one file in the IDE or set test.class - - - - Must select one file in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - - - - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/build-native.xml b/Quizv0.3d/QuizClient/Quiz/nbproject/build-native.xml similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/nbproject/build-native.xml rename to Quizv0.3d/QuizClient/Quiz/nbproject/build-native.xml diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/build-native.xml~ b/Quizv0.3d/QuizClient/Quiz/nbproject/build-native.xml~ similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/nbproject/build-native.xml~ rename to Quizv0.3d/QuizClient/Quiz/nbproject/build-native.xml~ diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/genfiles.properties b/Quizv0.3d/QuizClient/Quiz/nbproject/genfiles.properties similarity index 98% rename from Quizv0.3c/QuizClient/Quiz/nbproject/genfiles.properties rename to Quizv0.3d/QuizClient/Quiz/nbproject/genfiles.properties index 1ce8c76..8cee57b 100644 --- a/Quizv0.3c/QuizClient/Quiz/nbproject/genfiles.properties +++ b/Quizv0.3d/QuizClient/Quiz/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=6eef6774 -build.xml.script.CRC32=f39e84c4 -build.xml.stylesheet.CRC32=f85dc8f2@1.101.0.48 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=6eef6774 -nbproject/build-impl.xml.script.CRC32=9fe32d5c -nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 +build.xml.data.CRC32=6eef6774 +build.xml.script.CRC32=f39e84c4 +build.xml.stylesheet.CRC32=f85dc8f2@1.101.0.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=6eef6774 +nbproject/build-impl.xml.script.CRC32=9fe32d5c +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/private/config.properties b/Quizv0.3d/QuizClient/Quiz/nbproject/private/config.properties similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/nbproject/private/config.properties rename to Quizv0.3d/QuizClient/Quiz/nbproject/private/config.properties diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/private/private.properties b/Quizv0.3d/QuizClient/Quiz/nbproject/private/private.properties similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/nbproject/private/private.properties rename to Quizv0.3d/QuizClient/Quiz/nbproject/private/private.properties diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/private/private.xml b/Quizv0.3d/QuizClient/Quiz/nbproject/private/private.xml similarity index 69% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/private/private.xml rename to Quizv0.3d/QuizClient/Quiz/nbproject/private/private.xml index 6807a2b..9743995 100644 --- a/Quizv0.3c/QuizServer/QuizServer/nbproject/private/private.xml +++ b/Quizv0.3d/QuizClient/Quiz/nbproject/private/private.xml @@ -2,6 +2,8 @@ - + + file:/C:/Users/Yacine/Desktop/Quizv0.3d/Quizv0.3d/QuizClient/Quiz/src/quiz/Quiz.java + diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/project.properties b/Quizv0.3d/QuizClient/Quiz/nbproject/project.properties similarity index 96% rename from Quizv0.3c/QuizClient/Quiz/nbproject/project.properties rename to Quizv0.3d/QuizClient/Quiz/nbproject/project.properties index 4214bd9..4b06f74 100644 --- a/Quizv0.3c/QuizClient/Quiz/nbproject/project.properties +++ b/Quizv0.3d/QuizClient/Quiz/nbproject/project.properties @@ -1,96 +1,96 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.processors.list= -annotation.processing.run.all.processors=true -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=QuizClient -application.vendor=Yacine -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.modulepath=\ - ${run.modulepath} -debug.test.classpath=\ - ${run.test.classpath} -debug.test.modulepath=\ - ${run.test.modulepath} -# Files in build.classes.dir which should be excluded from distribution jar -dist.archive.excludes= -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/QuizClient.jar -dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= -excludes= -includes=** -jar.compress=true -javac.classpath=\ - ${libs.absolutelayout.classpath}:\ - ${reference.Quiz.jar} -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.external.vm=true -javac.modulepath= -javac.processormodulepath= -javac.processorpath=\ - ${javac.classpath} -javac.source=1.8 -javac.target=1.8 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javac.test.modulepath=\ - ${javac.modulepath} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.html5=false -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -jlink.launcher=false -jlink.launcher.name=QuizClient -main.class=quiz.Quiz -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -mkdist.disabled=false -native.bundling.enabled=true -platform.active=default_platform -project.Quiz=../../QuizShare/QuizShare -reference.Quiz.jar=${project.Quiz}/dist/Quiz.jar -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs= -run.modulepath=\ - ${javac.modulepath} -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -run.test.modulepath=\ - ${javac.test.modulepath} -source.encoding=UTF-8 -src.dir=src -test.src.dir=test +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=QuizClient +application.vendor=Yacine +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/QuizClient.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +includes=** +jar.compress=true +javac.classpath=\ + ${libs.absolutelayout.classpath}:\ + ${reference.Quiz.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.modulepath= +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.modulepath=\ + ${javac.modulepath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.html5=false +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +jlink.launcher=false +jlink.launcher.name=QuizClient +main.class=quiz.Quiz +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +native.bundling.enabled=true +platform.active=default_platform +project.Quiz=../../QuizShare/QuizShare +reference.Quiz.jar=${project.Quiz}/dist/Quiz.jar +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/project.xml b/Quizv0.3d/QuizClient/Quiz/nbproject/project.xml similarity index 97% rename from Quizv0.3c/QuizClient/Quiz/nbproject/project.xml rename to Quizv0.3d/QuizClient/Quiz/nbproject/project.xml index 006a0e6..106112a 100644 --- a/Quizv0.3c/QuizClient/Quiz/nbproject/project.xml +++ b/Quizv0.3d/QuizClient/Quiz/nbproject/project.xml @@ -1,28 +1,28 @@ - - - org.netbeans.modules.java.j2seproject - - - - - - QuizClient - - - - - - - - - - Quiz - jar - - jar - clean - jar - - - - + + + org.netbeans.modules.java.j2seproject + + + + + + QuizClient + + + + + + + + + + Quiz + jar + + jar + clean + jar + + + + diff --git a/Quizv0.3c/QuizClient/Quiz/src/img/Bottone.png b/Quizv0.3d/QuizClient/Quiz/src/img/Bottone.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/img/Bottone.png rename to Quizv0.3d/QuizClient/Quiz/src/img/Bottone.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/img/Chiaro.png b/Quizv0.3d/QuizClient/Quiz/src/img/Chiaro.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/img/Chiaro.png rename to Quizv0.3d/QuizClient/Quiz/src/img/Chiaro.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/img/Icon.png b/Quizv0.3d/QuizClient/Quiz/src/img/Icon.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/img/Icon.png rename to Quizv0.3d/QuizClient/Quiz/src/img/Icon.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/img/Quiz.png b/Quizv0.3d/QuizClient/Quiz/src/img/Quiz.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/img/Quiz.png rename to Quizv0.3d/QuizClient/Quiz/src/img/Quiz.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/img/Scuro.png b/Quizv0.3d/QuizClient/Quiz/src/img/Scuro.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/img/Scuro.png rename to Quizv0.3d/QuizClient/Quiz/src/img/Scuro.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/img/server-32.png b/Quizv0.3d/QuizClient/Quiz/src/img/server-32.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/img/server-32.png rename to Quizv0.3d/QuizClient/Quiz/src/img/server-32.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/quiz/Icon.png b/Quizv0.3d/QuizClient/Quiz/src/quiz/Icon.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/quiz/Icon.png rename to Quizv0.3d/QuizClient/Quiz/src/quiz/Icon.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/quiz/IconBar.png b/Quizv0.3d/QuizClient/Quiz/src/quiz/IconBar.png similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/src/quiz/IconBar.png rename to Quizv0.3d/QuizClient/Quiz/src/quiz/IconBar.png diff --git a/Quizv0.3c/QuizClient/Quiz/src/quiz/Quiz.form b/Quizv0.3d/QuizClient/Quiz/src/quiz/Quiz.form similarity index 99% rename from Quizv0.3c/QuizClient/Quiz/src/quiz/Quiz.form rename to Quizv0.3d/QuizClient/Quiz/src/quiz/Quiz.form index e3d4ab8..b751328 100644 --- a/Quizv0.3c/QuizClient/Quiz/src/quiz/Quiz.form +++ b/Quizv0.3d/QuizClient/Quiz/src/quiz/Quiz.form @@ -339,7 +339,7 @@ - + diff --git a/Quizv0.3c/QuizClient/Quiz/src/quiz/Quiz.java b/Quizv0.3d/QuizClient/Quiz/src/quiz/Quiz.java similarity index 98% rename from Quizv0.3c/QuizClient/Quiz/src/quiz/Quiz.java rename to Quizv0.3d/QuizClient/Quiz/src/quiz/Quiz.java index f15fbe3..6374c1f 100644 --- a/Quizv0.3c/QuizClient/Quiz/src/quiz/Quiz.java +++ b/Quizv0.3d/QuizClient/Quiz/src/quiz/Quiz.java @@ -65,7 +65,7 @@ public Quiz() { this.setBackground(new Color(0, 0, 0 ,0)); this.port=6706; - this.ip="10.13.28.219"; /*"localhost";*/ + this.ip="localhost"; /*"localhost"; "10.13.28.219"; */ IP.setText(this.ip+":"+this.port); jPanel1.setBackground(new Color(0, 0, 0 ,0)); @@ -291,7 +291,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { Domanda.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N Domanda.setForeground(new java.awt.Color(255, 255, 255)); Domanda.setText("DOMANDA"); - jPanel2.add(Domanda, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 40, 790, 160)); + jPanel2.add(Domanda, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 40, 790, 210)); jPanel2.add(Separatore1, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 360, 970, 10)); InputRisposta.setBackground(new java.awt.Color(0, 0, 0)); @@ -483,7 +483,7 @@ private void GiocaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:e TestoTentativi.setText("Numero tentativi: "+question.getAttempts()); - Domanda.setText("

"+question.getMessage1()+" ("+question.getValue()+" punti)

"); + Domanda.setText("

"+question.getMessage1()+" ("+question.getValue()+" punti)

"); //Domanda.setText(question.getMessage1()); jPanel1.setVisible(false); @@ -568,7 +568,7 @@ private void InviaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:e TestoPunteggio.setText("Punteggio: "+response.getPoints()); TestoTentativi.setText("Numero tentativi: "+question.getAttempts()); InputRisposta.setText("Inserisci la risposta"); - Domanda.setText("

"+question.getMessage1()+" ("+question.getValue()+" punti)

"); + Domanda.setText("

"+question.getMessage1()+" ("+question.getValue()+" punti)

"); //Domanda.setText(question.getMessage1()); if((response.getPoints()) > pmax) diff --git a/Quizv0.3d/QuizClient/README.md b/Quizv0.3d/QuizClient/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Quizv0.3d/QuizClient/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/Quizv0.3d/QuizServer/QuizServer/README.md b/Quizv0.3d/QuizServer/QuizServer/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Quizv0.3d/QuizServer/QuizServer/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/Quizv0.3c/QuizServer/QuizServer/build.xml b/Quizv0.3d/QuizServer/QuizServer/build.xml similarity index 97% rename from Quizv0.3c/QuizServer/QuizServer/build.xml rename to Quizv0.3d/QuizServer/QuizServer/build.xml index 59d35db..641a92d 100644 --- a/Quizv0.3c/QuizServer/QuizServer/build.xml +++ b/Quizv0.3d/QuizServer/QuizServer/build.xml @@ -1,73 +1,73 @@ - - - - - - - - - - - Builds, tests, and runs the project QuizServer. - - - + + + + + + + + + + + Builds, tests, and runs the project QuizServer. + + + diff --git a/Quizv0.3d/QuizServer/QuizServer/build/built-jar.properties b/Quizv0.3d/QuizServer/QuizServer/build/built-jar.properties new file mode 100644 index 0000000..0796464 --- /dev/null +++ b/Quizv0.3d/QuizServer/QuizServer/build/built-jar.properties @@ -0,0 +1,6 @@ +#Thu, 20 Jan 2022 21:17:15 +0100 + + +C\:\\Users\\Yacine\\Desktop\\Quizv0.3d\\Quizv0.3d\\QuizServer\\QuizServer= + +C\:\\Users\\Yacine\\Desktop\\Quizv0.3d\\Quizv0.3d\\QuizShare\\QuizShare= diff --git a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/Callback.class b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/Callback.class similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/Callback.class rename to Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/Callback.class diff --git a/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/ClientWork.class b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/ClientWork.class new file mode 100644 index 0000000000000000000000000000000000000000..7d87e0da06d9dc960f69aab520971546a5e3b975 GIT binary patch literal 10078 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 TN;UaoYC(+)izR3CaLGRbR6uhj literal 0 HcmV?d00001 diff --git a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/Server01.class b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/Server01.class similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/Server01.class rename to Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/Server01.class diff --git a/Quizv0.3c/QuizServer/QuizServer/src/quiz/boss.txt b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/boss.txt similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/src/quiz/boss.txt rename to Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/boss.txt diff --git a/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/boss2.txt b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/boss2.txt new file mode 100644 index 0000000..05dab49 --- /dev/null +++ b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/boss2.txt @@ -0,0 +1,3 @@ +UXYga3BtIGl2dncgYXd2dyBhYmlicSBxdm J6d2x3YmJxIHEgNSBrbXprcHEgd3RxdXh xa3E/,1920,1,500, +UXYga3BtIGl2dncgbSBpZGRtdmNiaSB0a SB6cWR3dGNocXd2bSBueml2a21hbT8=,1789,1,500, +UXYgeWNpdG0gaXZ2dyBuYyBxdmJ6d2x3 YmJ3IHF2IFF2b3BxdGJtenppIHF0IGFjbm 56aW9xdyBjdnFkbXphaXRtPw==,1929,1,500, \ No newline at end of file diff --git a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/domande.txt b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/domande.txt similarity index 53% rename from Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/domande.txt rename to Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/domande.txt index 82091cc..448293c 100644 --- a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/domande.txt +++ b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/domande.txt @@ -1,14 +1,20 @@ -In che anno è stata divulgata la Costituzione italiana?,1948,3,25, -Qual è il fiume più lungo d Italia?,Po,3,10, -Qual è il paese più popolato del mondo?,Cina,2,20, -Qual era il nome del Dio del sole nell'antico Egitto?,Ra,3,30, -In quale regione d'Italia è situato il monte Conero?,Marche,2,25, -In quale anno è stata sciolta l'Unione Sovietica?,1991,4,20, -In quale anno è stato creato il World Wide Web?,1991,3,30, -Campobasso si trova in...,Molise,3,30, -Quale era il nome originale di Sherlock Holmes?,Sherrinford,4,50, -Chi ha scritto "La Metamorfosi"?,Franz Kafka,4,30, -Di che Paese è il calciatore Luis Suarez?,Uruguay,3,20, -Qual è la galassia più vicina alla Via Lattea?,Andromeda,4,30, -Chi ha elaborato la teoria dell'evoluzione?,Charles Darwin,3,20, -Quanti sono i titoli mondiali di F1 vinti da Micheal Schumacher?,7,3,20, \ No newline at end of file +In che anno è stata promulgata la Costituzione italiana?,1948,3,25, +Qual è il fiume più lungo d Italia?,Po,3,10, +Qual è il paese più popolato del mondo?,Cina,2,20, +Qual era il nome del Dio del sole nell'antico Egitto?,Ra,3,30, +In quale regione d'Italia è situato il monte Conero?,Marche,2,25, +In quale anno è stata sciolta l'Unione Sovietica?,1991,4,20, +In quale anno è stato creato il World Wide Web?,1991,3,30, +Campobasso si trova in...,Molise,3,30, +Quale era il nome originale di Sherlock Holmes?,Sherrinford,4,50, +Chi ha scritto "La Metamorfosi"? (Nome Cognome),Franz Kafka,4,30, +Di che Paese è il calciatore Luis Suarez?,Uruguay,3,20, +Qual è la galassia più vicina alla Via Lattea?,Andromeda,4,30, +Chi ha elaborato la teoria dell'evoluzione? (Nome Cognome),Charles Darwin,3,20, +Quanti sono i titoli mondiali di F1 vinti da Micheal Schumacher?,7,3,20, +Quante strisce ci sono sulla bandiera americana?,13,2,30, +Da dove viene Billie Eilish?,Los Angeles,3,20, +Quanti tasti ha un pianoforte classico?,88,3,30, +In che anno si sono svolti i primi giochi olimpici moderni?,1896,3,30, +In che anno è stata fondata Netflix?,1997,3,40, +Qual è la capitale del Liechtenstein?,Vaduz,2,30, \ No newline at end of file diff --git a/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/domande2.txt b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/domande2.txt new file mode 100644 index 0000000..1c07ed9 --- /dev/null +++ b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/domande2.txt @@ -0,0 +1,11 @@ +Quanti presidenti della Repubblica ha avuto l'Italia fino al 1984?,7,2,50, +Qual è il nome del ladro Lupin?,Arsenio,1,60, +Come si chiama il linguaggio di programmazione sviluppato da Microsoft?,C#,2,60, +Chi è stato il primo brasiliano a diventare campione nel mondo di Formula 1 (Nome Cognome)?,Emerson Fittipaldi,3,80, +Vino Liquoroso Spagnolo...,Sherry,2,60, +Fino a quale anno regnò in Russia la dinastia dei Romanov?,1917,2,70, +In che anno avvenne la tragedia del Vajont?,1963,2,50, +Qual è l'isola piu' vasta dell'Oceano Atlantico?,Groenlandia,2,60, +Come si chiama l'uomo artificiale plasmato dal fango proprio della tradizione ebraica,Golem,3,60, +Il nome dell'amante della monaca di Monza...,Egidio,2,50, +Quante falangi ci sono in una mano?,14,2,60, \ No newline at end of file diff --git a/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml new file mode 100644 index 0000000..cbf4206 --- /dev/null +++ b/Quizv0.3d/QuizServer/QuizServer/build/classes/quiz/leaderboard.xml @@ -0,0 +1,6 @@ + + + P03 - try to catch me buddy + 12000 + +s220dddddd210 \ No newline at end of file diff --git a/Quizv0.3d/QuizServer/QuizServer/dist/QuizServer.jar b/Quizv0.3d/QuizServer/QuizServer/dist/QuizServer.jar new file mode 100644 index 0000000000000000000000000000000000000000..8b717f1a860a422fb1ee61a6a2cb6473fab395f9 GIT binary patch literal 10153 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 S3`-h6GE7clQ(^M}8w3Cv*jK3l delta 351 zcmX@d)5FUf;LXg!#lXP9z)-S8Zz8XTVDS>Y5aIK7Z`U(0Fx&=Wk;&^=#p`|h&T<_x z5NLVdxaY9k*9i#@0o9iuosD7@%-@t7Ce_*djD4klepOJ!vkzy_7>Ry+=BC(X{4*gY zzG0H_xodyrBkec7IA>2s5^2{Xl z9v2ydvdRSEIldFiEOv-Im9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set src.dir - Must set test.src.dir - Must set build.dir - Must set dist.dir - Must set build.classes.dir - Must set dist.javadoc.dir - Must set build.test.classes.dir - Must set build.test.results.dir - Must set build.classes.excludes - Must set dist.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No tests executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set JVM to use for profiling in profiler.info.jvm - Must set profiler agent JVM arguments in profiler.info.jvmargs.agent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - java -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - Must select one file in the IDE or set run.class - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set debug.class - - - - - Must select one file in the IDE or set debug.class - - - - - Must set fix.includes - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - Must select one file in the IDE or set profile.class - This target only works when run from inside the NetBeans IDE. - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - - - Must select some files in the IDE or set test.includes - - - - - Must select one file in the IDE or set run.class - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - Some tests failed; see details above. - - - - - - - - - Must select some files in the IDE or set test.includes - - - - Some tests failed; see details above. - - - - Must select some files in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - Some tests failed; see details above. - - - - - Must select one file in the IDE or set test.class - - - - Must select one file in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - - - - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/build-native.xml b/Quizv0.3d/QuizServer/QuizServer/nbproject/build-native.xml similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/build-native.xml rename to Quizv0.3d/QuizServer/QuizServer/nbproject/build-native.xml diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/build-native.xml~ b/Quizv0.3d/QuizServer/QuizServer/nbproject/build-native.xml~ similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/build-native.xml~ rename to Quizv0.3d/QuizServer/QuizServer/nbproject/build-native.xml~ diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/genfiles.properties b/Quizv0.3d/QuizServer/QuizServer/nbproject/genfiles.properties similarity index 98% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/genfiles.properties rename to Quizv0.3d/QuizServer/QuizServer/nbproject/genfiles.properties index e3b6cc9..4ad7bac 100644 --- a/Quizv0.3c/QuizServer/QuizServer/nbproject/genfiles.properties +++ b/Quizv0.3d/QuizServer/QuizServer/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=ba386fc5 -build.xml.script.CRC32=1f80455b -build.xml.stylesheet.CRC32=f85dc8f2@1.101.0.48 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=ba386fc5 -nbproject/build-impl.xml.script.CRC32=89e9cf10 -nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 +build.xml.data.CRC32=ba386fc5 +build.xml.script.CRC32=1f80455b +build.xml.stylesheet.CRC32=f85dc8f2@1.101.0.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=ba386fc5 +nbproject/build-impl.xml.script.CRC32=89e9cf10 +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/private/config.properties b/Quizv0.3d/QuizServer/QuizServer/nbproject/private/config.properties similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/private/config.properties rename to Quizv0.3d/QuizServer/QuizServer/nbproject/private/config.properties diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/private/private.properties b/Quizv0.3d/QuizServer/QuizServer/nbproject/private/private.properties similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/private/private.properties rename to Quizv0.3d/QuizServer/QuizServer/nbproject/private/private.properties diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/private/private.xml b/Quizv0.3d/QuizServer/QuizServer/nbproject/private/private.xml similarity index 67% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/private/private.xml rename to Quizv0.3d/QuizServer/QuizServer/nbproject/private/private.xml index 6807a2b..41fa50d 100644 --- a/Quizv0.3c/QuizShare/QuizShare/nbproject/private/private.xml +++ b/Quizv0.3d/QuizServer/QuizServer/nbproject/private/private.xml @@ -2,6 +2,8 @@ - + + file:/C:/Users/Yacine/Desktop/Quizv0.3d/Quizv0.3d/QuizServer/QuizServer/src/quiz/Server01.java + diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/project.properties b/Quizv0.3d/QuizServer/QuizServer/nbproject/project.properties similarity index 96% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/project.properties rename to Quizv0.3d/QuizServer/QuizServer/nbproject/project.properties index d92dbfe..1f83430 100644 --- a/Quizv0.3c/QuizServer/QuizServer/nbproject/project.properties +++ b/Quizv0.3d/QuizServer/QuizServer/nbproject/project.properties @@ -1,96 +1,96 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.processors.list= -annotation.processing.run.all.processors=true -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=QuizServer -application.vendor=Yacine -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.modulepath=\ - ${run.modulepath} -debug.test.classpath=\ - ${run.test.classpath} -debug.test.modulepath=\ - ${run.test.modulepath} -# Files in build.classes.dir which should be excluded from distribution jar -dist.archive.excludes= -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/QuizServer.jar -dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= -excludes= -includes=** -jar.compress=true -javac.classpath=\ - ${libs.absolutelayout.classpath}:\ - ${reference.Quiz.jar} -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.external.vm=true -javac.modulepath= -javac.processormodulepath= -javac.processorpath=\ - ${javac.classpath} -javac.source=1.8 -javac.target=1.8 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javac.test.modulepath=\ - ${javac.modulepath} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.html5=false -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -jlink.launcher=false -jlink.launcher.name=QuizServer -main.class=quiz.Server01 -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -mkdist.disabled=false -native.bundling.enabled=true -platform.active=default_platform -project.Quiz=../../QuizShare/QuizShare -reference.Quiz.jar=${project.Quiz}/dist/Quiz.jar -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs= -run.modulepath=\ - ${javac.modulepath} -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -run.test.modulepath=\ - ${javac.test.modulepath} -source.encoding=UTF-8 -src.dir=src -test.src.dir=test +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=QuizServer +application.vendor=Yacine +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/QuizServer.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +includes=** +jar.compress=true +javac.classpath=\ + ${libs.absolutelayout.classpath}:\ + ${reference.Quiz.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.modulepath= +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.modulepath=\ + ${javac.modulepath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.html5=false +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +jlink.launcher=false +jlink.launcher.name=QuizServer +main.class=quiz.Server01 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +native.bundling.enabled=true +platform.active=default_platform +project.Quiz=../../QuizShare/QuizShare +reference.Quiz.jar=${project.Quiz}/dist/Quiz.jar +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Quizv0.3c/QuizServer/QuizServer/nbproject/project.xml b/Quizv0.3d/QuizServer/QuizServer/nbproject/project.xml similarity index 97% rename from Quizv0.3c/QuizServer/QuizServer/nbproject/project.xml rename to Quizv0.3d/QuizServer/QuizServer/nbproject/project.xml index 6df0bc6..a64056e 100644 --- a/Quizv0.3c/QuizServer/QuizServer/nbproject/project.xml +++ b/Quizv0.3d/QuizServer/QuizServer/nbproject/project.xml @@ -1,28 +1,28 @@ - - - org.netbeans.modules.java.j2seproject - - - - - - QuizServer - - - - - - - - - - Quiz - jar - - jar - clean - jar - - - - + + + org.netbeans.modules.java.j2seproject + + + + + + QuizServer + + + + + + + + + + Quiz + jar + + jar + clean + jar + + + + diff --git a/Quizv0.3c/QuizServer/QuizServer/src/quiz/ClientWork.java b/Quizv0.3d/QuizServer/QuizServer/src/quiz/ClientWork.java similarity index 86% rename from Quizv0.3c/QuizServer/QuizServer/src/quiz/ClientWork.java rename to Quizv0.3d/QuizServer/QuizServer/src/quiz/ClientWork.java index e3c088e..f764c5b 100644 --- a/Quizv0.3c/QuizServer/QuizServer/src/quiz/ClientWork.java +++ b/Quizv0.3d/QuizServer/QuizServer/src/quiz/ClientWork.java @@ -140,14 +140,14 @@ public void setDatiModif(String datiModif) { DatiModif = datiModif; } - public Message prelevaDomanda() { + public Message prelevaDomanda(String nFile, int ntentativi) { List questions = new ArrayList<>(); try { // Apertura file - //File file = new File(System.getProperty("user.dir")+"/src/quiz/domande.txt"); - File file = new File("/home/quintab2122/public_html/sistemi/BCCOrientamento/Quizv0.3c/QuizServer/QuizServer/src/quiz/domande.txt"); + File file = new File(System.getProperty("user.dir")+"/src/quiz/"+nFile); + //File file = new File("/home/quintab2122/public_html/sistemi/BCCOrientamento/Quizv0.3c/QuizServer/QuizServer/src/quiz/"+nFile); Scanner read = new Scanner (file); read.useDelimiter(","); String domanda, risposta, tentativi, punteggio; @@ -175,62 +175,18 @@ public Message prelevaDomanda() { Random rand = new Random(); - int upper=14; // generate random value 0-13 - int int_random = rand.nextInt(upper); + int int_random = rand.nextInt(ntentativi); // Ritorna una domanda casuale return questions.get(int_random); } - public Message prelevaBoss() { - - List questionsBoss = new ArrayList<>(); - - try { - // Apertura file - //File file = new File(System.getProperty("user.dir")+"/src/quiz/boss.txt"); - File file = new File("/home/quintab2122/public_html/sistemi/BCCOrientamento/Quizv0.3c/QuizServer/QuizServer/src/quiz/boss.txt"); - Scanner read = new Scanner (file); - read.useDelimiter(","); - String domanda, risposta, tentativi, punteggio; - - // Lettura dei campi sfruttando il limitatore impostato sopra - while(read.hasNext()) - { - domanda = read.next(); - risposta = read.next(); - tentativi = read.next(); - punteggio = read.next(); - int tent = Integer.parseInt(tentativi); - int punt = Integer.parseInt(punteggio); - //System.out.println(domanda+""+tentativi); - - //Creazione di un array di domande; - Message packet = new Message(domanda, risposta, tent, punt); - questionsBoss.add(packet); - } - read.close(); - } - catch (Exception e) { - System.out.println("\nErrore apertura file"+e); - } - - - Random rand = new Random(); - int upper=3; - - int int_random = rand.nextInt(upper); - - // Ritorna una domanda casuale - return questionsBoss.get(int_random); - - } - public void Leaderboard(){ - - final String xmlFilePath="/home/quintab2122/public_html/sistemi/BCCOrientamento/leaderboard.xml"; + + final String xmlFilePath = System.getProperty("user.dir")+"/src/quiz/leaderboard.xml"; + //final String xmlFilePath="/home/quintab2122/public_html/sistemi/BCCOrientamento/leaderboard.xml"; try { @@ -323,15 +279,35 @@ public void run() { while(this.Points > 0) { // Metodo per prelevare la domanda - if(this.Points > 200 && boss1 == 0) { + if(this.Points > 199 && boss1 == 0) { - question = prelevaBoss(); + question = prelevaDomanda("boss.txt",3); boss1 = 1; } - else { + else if(this.Points > 200 && this.Points < 800 && boss1 == 1) + { + + question = prelevaDomanda("domande2.txt",11); + + } + else if(this.Points > 799 && boss2 == 0) + { + + question = prelevaDomanda("boss2.txt",3); + boss2 = 1; + + } + else if(this.Points > 799 && boss2 == 1) + { + + question = prelevaDomanda("domande2.txt",11); + + } + else + { - question = prelevaDomanda(); + question = prelevaDomanda("domande.txt",20); } diff --git a/Quizv0.3c/QuizServer/QuizServer/src/quiz/Server01.java b/Quizv0.3d/QuizServer/QuizServer/src/quiz/Server01.java similarity index 100% rename from Quizv0.3c/QuizServer/QuizServer/src/quiz/Server01.java rename to Quizv0.3d/QuizServer/QuizServer/src/quiz/Server01.java diff --git a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/boss.txt b/Quizv0.3d/QuizServer/QuizServer/src/quiz/boss.txt similarity index 98% rename from Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/boss.txt rename to Quizv0.3d/QuizServer/QuizServer/src/quiz/boss.txt index f8c464d..637aac1 100644 --- a/Quizv0.3c/QuizServer/QuizServer/build/classes/quiz/boss.txt +++ b/Quizv0.3d/QuizServer/QuizServer/src/quiz/boss.txt @@ -1,3 +1,3 @@ -Vzfsyn Xyfyn hn xtst sjlqn Xyfyn Zsnyn?,1948,1,300, -Vzfsit j knsnyf qf Xjhtsif Lzjwwf Rtsinfqj?,1945,1,300, +Vzfsyn Xyfyn hn xtst sjlqn Xyfyn Zsnyn?,1948,1,300, +Vzfsit j knsnyf qf Xjhtsif Lzjwwf Rtsinfqj?,1945,1,300, Ns hmj fsst j xyfyf qf xhtujwyf ijqq'Frjwnhf?,1492,1,300, \ No newline at end of file diff --git a/Quizv0.3d/QuizServer/QuizServer/src/quiz/boss2.txt b/Quizv0.3d/QuizServer/QuizServer/src/quiz/boss2.txt new file mode 100644 index 0000000..05dab49 --- /dev/null +++ b/Quizv0.3d/QuizServer/QuizServer/src/quiz/boss2.txt @@ -0,0 +1,3 @@ +UXYga3BtIGl2dncgYXd2dyBhYmlicSBxdm J6d2x3YmJxIHEgNSBrbXprcHEgd3RxdXh xa3E/,1920,1,500, +UXYga3BtIGl2dncgbSBpZGRtdmNiaSB0a SB6cWR3dGNocXd2bSBueml2a21hbT8=,1789,1,500, +UXYgeWNpdG0gaXZ2dyBuYyBxdmJ6d2x3 YmJ3IHF2IFF2b3BxdGJtenppIHF0IGFjbm 56aW9xdyBjdnFkbXphaXRtPw==,1929,1,500, \ No newline at end of file diff --git a/Quizv0.3c/QuizServer/QuizServer/src/quiz/domande.txt b/Quizv0.3d/QuizServer/QuizServer/src/quiz/domande.txt similarity index 53% rename from Quizv0.3c/QuizServer/QuizServer/src/quiz/domande.txt rename to Quizv0.3d/QuizServer/QuizServer/src/quiz/domande.txt index dde3617..448293c 100644 --- a/Quizv0.3c/QuizServer/QuizServer/src/quiz/domande.txt +++ b/Quizv0.3d/QuizServer/QuizServer/src/quiz/domande.txt @@ -1,4 +1,4 @@ -In che anno è stata divulgata la Costituzione italiana?,1948,3,25, +In che anno è stata promulgata la Costituzione italiana?,1948,3,25, Qual è il fiume più lungo d Italia?,Po,3,10, Qual è il paese più popolato del mondo?,Cina,2,20, Qual era il nome del Dio del sole nell'antico Egitto?,Ra,3,30, @@ -7,8 +7,14 @@ In quale anno è stata sciolta l'Unione Sovietica?,1991,4,20, In quale anno è stato creato il World Wide Web?,1991,3,30, Campobasso si trova in...,Molise,3,30, Quale era il nome originale di Sherlock Holmes?,Sherrinford,4,50, -Chi ha scritto "La Metamorfosi"?,Franz Kafka,4,30, +Chi ha scritto "La Metamorfosi"? (Nome Cognome),Franz Kafka,4,30, Di che Paese è il calciatore Luis Suarez?,Uruguay,3,20, Qual è la galassia più vicina alla Via Lattea?,Andromeda,4,30, -Chi ha elaborato la teoria dell'evoluzione?,Charles Darwin,3,20, -Quanti sono i titoli mondiali di F1 vinti da Micheal Schumacher?,7,3,20, \ No newline at end of file +Chi ha elaborato la teoria dell'evoluzione? (Nome Cognome),Charles Darwin,3,20, +Quanti sono i titoli mondiali di F1 vinti da Micheal Schumacher?,7,3,20, +Quante strisce ci sono sulla bandiera americana?,13,2,30, +Da dove viene Billie Eilish?,Los Angeles,3,20, +Quanti tasti ha un pianoforte classico?,88,3,30, +In che anno si sono svolti i primi giochi olimpici moderni?,1896,3,30, +In che anno è stata fondata Netflix?,1997,3,40, +Qual è la capitale del Liechtenstein?,Vaduz,2,30, \ No newline at end of file diff --git a/Quizv0.3d/QuizServer/QuizServer/src/quiz/domande2.txt b/Quizv0.3d/QuizServer/QuizServer/src/quiz/domande2.txt new file mode 100644 index 0000000..1c07ed9 --- /dev/null +++ b/Quizv0.3d/QuizServer/QuizServer/src/quiz/domande2.txt @@ -0,0 +1,11 @@ +Quanti presidenti della Repubblica ha avuto l'Italia fino al 1984?,7,2,50, +Qual è il nome del ladro Lupin?,Arsenio,1,60, +Come si chiama il linguaggio di programmazione sviluppato da Microsoft?,C#,2,60, +Chi è stato il primo brasiliano a diventare campione nel mondo di Formula 1 (Nome Cognome)?,Emerson Fittipaldi,3,80, +Vino Liquoroso Spagnolo...,Sherry,2,60, +Fino a quale anno regnò in Russia la dinastia dei Romanov?,1917,2,70, +In che anno avvenne la tragedia del Vajont?,1963,2,50, +Qual è l'isola piu' vasta dell'Oceano Atlantico?,Groenlandia,2,60, +Come si chiama l'uomo artificiale plasmato dal fango proprio della tradizione ebraica,Golem,3,60, +Il nome dell'amante della monaca di Monza...,Egidio,2,50, +Quante falangi ci sono in una mano?,14,2,60, \ No newline at end of file diff --git a/Quizv0.3c/QuizServer/QuizServer/src/quiz/leaderboard.xml b/Quizv0.3d/QuizServer/QuizServer/src/quiz/leaderboard.xml similarity index 65% rename from Quizv0.3c/QuizServer/QuizServer/src/quiz/leaderboard.xml rename to Quizv0.3d/QuizServer/QuizServer/src/quiz/leaderboard.xml index 66cc290..8d1d631 100644 --- a/Quizv0.3c/QuizServer/QuizServer/src/quiz/leaderboard.xml +++ b/Quizv0.3d/QuizServer/QuizServer/src/quiz/leaderboard.xml @@ -1,5 +1,4 @@ - - + P03 - try to catch me buddy 12000 diff --git a/Quizv0.3d/QuizServer/README.md b/Quizv0.3d/QuizServer/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Quizv0.3d/QuizServer/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/Quizv0.3d/QuizShare/QuizShare/README.md b/Quizv0.3d/QuizShare/QuizShare/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Quizv0.3d/QuizShare/QuizShare/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/Quizv0.3c/QuizShare/QuizShare/build.xml b/Quizv0.3d/QuizShare/QuizShare/build.xml similarity index 97% rename from Quizv0.3c/QuizShare/QuizShare/build.xml rename to Quizv0.3d/QuizShare/QuizShare/build.xml index bf52620..bb2d98c 100644 --- a/Quizv0.3c/QuizShare/QuizShare/build.xml +++ b/Quizv0.3d/QuizShare/QuizShare/build.xml @@ -1,73 +1,73 @@ - - - - - - - - - - - Builds, tests, and runs the project Quiz. - - - + + + + + + + + + + + Builds, tests, and runs the project Quiz. + + + diff --git a/Quizv0.3c/QuizShare/QuizShare/build/classes/quiz/Message.class b/Quizv0.3d/QuizShare/QuizShare/build/classes/quiz/Message.class similarity index 100% rename from Quizv0.3c/QuizShare/QuizShare/build/classes/quiz/Message.class rename to Quizv0.3d/QuizShare/QuizShare/build/classes/quiz/Message.class diff --git a/Quizv0.3c/QuizShare/QuizShare/dist/Quiz.jar b/Quizv0.3d/QuizShare/QuizShare/dist/Quiz.jar similarity index 62% rename from Quizv0.3c/QuizShare/QuizShare/dist/Quiz.jar rename to Quizv0.3d/QuizShare/QuizShare/dist/Quiz.jar index e4f24b9390e2c20b11db1882375536c99b241959..a354da6affc169ac687019f88ddbb767d6cae3de 100644 GIT binary patch delta 283 zcmbQhdya=Uz?+$ci-CcIfk9)H$wXcaLG@K8A^*%aMieqIFw_IF$m9>K;`N_>&z$!0 z*44Yn>#eJG?#%hkK?YZhA3QBO<1AFDGpqCiycwB9m_gp=0C{_|Cz~|WM~2C1Y$|LXU@ZW8Qc@BC delta 355 zcmX@dGl7>kz?+$ci-CcIfuUrH-b7vv!Qv%)A#r?pFE%qUFx&@Xk;&^=#p`{0ytA1M zMOwc%{%PNxBksv7a^+^PbNSpT$0Kv^_^g{zWWBL6;8=Wq$>IWw?$1A}Wd2SJ3bXDy z*}jo+aeB~}$HAB86

hSu@SscKV|3mYH*+e7FB~I?s1ZBK55Go;AvRJ{MXm_ymht z_gu40_If4#c_rhwZ)>+|7M%Rj8LScM_&;Gv()wMc_v>qNrC(g^fAz1i{yfh#hPle@ z5k)`NUSOQ5z9IDJ=E;u=Gajt}(S0vuvQw8fs@HBSFav$K@n0AVh@KqIYQc-*)yZ>M zO%;GLAwWOF0V|v(!0^^lfN}CiR$;Ir<9Km%bruGOP;LeWA-Ez2h9!;0jFVN^RM@(} FS^<7WfSCXQ diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/build-impl.xml b/Quizv0.3d/QuizShare/QuizShare/nbproject/build-impl.xml similarity index 98% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/build-impl.xml rename to Quizv0.3d/QuizShare/QuizShare/nbproject/build-impl.xml index c409550..9d79cc6 100644 --- a/Quizv0.3c/QuizShare/QuizShare/nbproject/build-impl.xml +++ b/Quizv0.3d/QuizShare/QuizShare/nbproject/build-impl.xml @@ -1,1772 +1,1772 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set src.dir - Must set test.src.dir - Must set build.dir - Must set dist.dir - Must set build.classes.dir - Must set dist.javadoc.dir - Must set build.test.classes.dir - Must set build.test.results.dir - Must set build.classes.excludes - Must set dist.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No tests executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set JVM to use for profiling in profiler.info.jvm - Must set profiler agent JVM arguments in profiler.info.jvmargs.agent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - java -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - Must select one file in the IDE or set run.class - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set debug.class - - - - - Must select one file in the IDE or set debug.class - - - - - Must set fix.includes - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - Must select one file in the IDE or set profile.class - This target only works when run from inside the NetBeans IDE. - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - - - Must select some files in the IDE or set test.includes - - - - - Must select one file in the IDE or set run.class - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - Some tests failed; see details above. - - - - - - - - - Must select some files in the IDE or set test.includes - - - - Some tests failed; see details above. - - - - Must select some files in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - Some tests failed; see details above. - - - - - Must select one file in the IDE or set test.class - - - - Must select one file in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - - - - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/build-native.xml~ b/Quizv0.3d/QuizShare/QuizShare/nbproject/build-native.xml similarity index 100% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/build-native.xml~ rename to Quizv0.3d/QuizShare/QuizShare/nbproject/build-native.xml diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/build-native.xml b/Quizv0.3d/QuizShare/QuizShare/nbproject/build-native.xml~ similarity index 100% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/build-native.xml rename to Quizv0.3d/QuizShare/QuizShare/nbproject/build-native.xml~ diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/genfiles.properties b/Quizv0.3d/QuizShare/QuizShare/nbproject/genfiles.properties similarity index 98% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/genfiles.properties rename to Quizv0.3d/QuizShare/QuizShare/nbproject/genfiles.properties index 12ffc22..78e60f7 100644 --- a/Quizv0.3c/QuizShare/QuizShare/nbproject/genfiles.properties +++ b/Quizv0.3d/QuizShare/QuizShare/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=ea98e616 -build.xml.script.CRC32=c70c736f -build.xml.stylesheet.CRC32=f85dc8f2@1.101.0.48 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=ea98e616 -nbproject/build-impl.xml.script.CRC32=300df62d -nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 +build.xml.data.CRC32=ea98e616 +build.xml.script.CRC32=c70c736f +build.xml.stylesheet.CRC32=f85dc8f2@1.101.0.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=ea98e616 +nbproject/build-impl.xml.script.CRC32=300df62d +nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/private/config.properties b/Quizv0.3d/QuizShare/QuizShare/nbproject/private/config.properties similarity index 100% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/private/config.properties rename to Quizv0.3d/QuizShare/QuizShare/nbproject/private/config.properties diff --git a/Quizv0.3d/QuizShare/QuizShare/nbproject/private/private.properties b/Quizv0.3d/QuizShare/QuizShare/nbproject/private/private.properties new file mode 100644 index 0000000..03e6bc9 --- /dev/null +++ b/Quizv0.3d/QuizShare/QuizShare/nbproject/private/private.properties @@ -0,0 +1,6 @@ +compile.on.save=true +do.depend=false +do.jar=true +javac.debug=true +javadoc.preview=true +user.properties.file=C:\\Users\\theca\\AppData\\Roaming\\NetBeans\\12.6\\build.properties diff --git a/Quizv0.3c/QuizClient/Quiz/nbproject/private/private.xml b/Quizv0.3d/QuizShare/QuizShare/nbproject/private/private.xml similarity index 100% rename from Quizv0.3c/QuizClient/Quiz/nbproject/private/private.xml rename to Quizv0.3d/QuizShare/QuizShare/nbproject/private/private.xml diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/project.properties b/Quizv0.3d/QuizShare/QuizShare/nbproject/project.properties similarity index 96% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/project.properties rename to Quizv0.3d/QuizShare/QuizShare/nbproject/project.properties index 2ba71ad..44ff7f9 100644 --- a/Quizv0.3c/QuizShare/QuizShare/nbproject/project.properties +++ b/Quizv0.3d/QuizShare/QuizShare/nbproject/project.properties @@ -1,90 +1,90 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.processors.list= -annotation.processing.run.all.processors=true -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=Quiz -application.vendor=Yacine -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.modulepath=\ - ${run.modulepath} -debug.test.classpath=\ - ${run.test.classpath} -debug.test.modulepath=\ - ${run.test.modulepath} -# Files in build.classes.dir which should be excluded from distribution jar -dist.archive.excludes= -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/Quiz.jar -dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= -excludes= -includes=** -jar.compress=true -javac.classpath=\ - ${libs.absolutelayout.classpath} -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.external.vm=true -javac.modulepath= -javac.processormodulepath= -javac.processorpath=\ - ${javac.classpath} -javac.source=1.8 -javac.target=1.8 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javac.test.modulepath=\ - ${javac.modulepath} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -main.class=quiz.Quiz -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -mkdist.disabled=false -native.bundling.enabled=true -platform.active=default_platform -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs= -run.modulepath=\ - ${javac.modulepath} -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -run.test.modulepath=\ - ${javac.test.modulepath} -source.encoding=UTF-8 -src.dir=src -test.src.dir=test +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=Quiz +application.vendor=Yacine +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Quiz.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +includes=** +jar.compress=true +javac.classpath=\ + ${libs.absolutelayout.classpath} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.modulepath= +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.modulepath=\ + ${javac.modulepath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=quiz.Quiz +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +native.bundling.enabled=true +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Quizv0.3c/QuizShare/QuizShare/nbproject/project.xml b/Quizv0.3d/QuizShare/QuizShare/nbproject/project.xml similarity index 97% rename from Quizv0.3c/QuizShare/QuizShare/nbproject/project.xml rename to Quizv0.3d/QuizShare/QuizShare/nbproject/project.xml index dd4c7ad..01630c1 100644 --- a/Quizv0.3c/QuizShare/QuizShare/nbproject/project.xml +++ b/Quizv0.3d/QuizShare/QuizShare/nbproject/project.xml @@ -1,18 +1,18 @@ - - - org.netbeans.modules.java.j2seproject - - - - - - Quiz - - - - - - - - - + + + org.netbeans.modules.java.j2seproject + + + + + + Quiz + + + + + + + + + diff --git a/Quizv0.3c/QuizShare/QuizShare/src/quiz/Message.java b/Quizv0.3d/QuizShare/QuizShare/src/quiz/Message.java similarity index 100% rename from Quizv0.3c/QuizShare/QuizShare/src/quiz/Message.java rename to Quizv0.3d/QuizShare/QuizShare/src/quiz/Message.java diff --git a/Quizv0.3d/QuizShare/README.md b/Quizv0.3d/QuizShare/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Quizv0.3d/QuizShare/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/Quizv0.3d/README.md b/Quizv0.3d/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/Quizv0.3d/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/WebSite/README.md b/WebSite/README.md new file mode 100644 index 0000000..a124948 --- /dev/null +++ b/WebSite/README.md @@ -0,0 +1,40 @@ +# QuizGame + +## Modalità di gioco +L’utente dopo aver scelto il suo nickname in-game, viene posto di fronte a una +serie di domande alla quale dovrà rispondere correttamente inserendo la +risposta nell’apposito contenitore testuale. L’utente inizia la partita con un +punteggio standard di 100 punti. Ogni domanda ha un suo valore in termini di +punteggio ed un numero di tentativi massimi. Se l’utente indovinerà la +domanda il punteggio salirà del valore di essa, se invece al termine dei tentativi +non ci sarà riuscito il suo punteggio decrementerà del medesimo valore. Il +termine della partita viene sancito nel momento in cui il giocatore esaurisce i +suoi punti (0 punti) e il punteggio massimo raggiunto verrà registrato, insieme +al suo nickname, in una classifica globale con tutti gli altri giocatori. + +## Architettura dell’applicazione +Al fine di realizzare un’applicazione che fosse indipendente dalla piattaforma su +cui viene avviata e che potesse mostrare le caratteristiche dei socket, threading +e oggetti è stata utilizzata un’architettura di comunicazione client/server. +Il server implementa la tecnica del multi-threading per consentire la +connessione di più client connessi contemporaneamente. La connessione e il +trasferimento dei dati per ogni thread è implementata attraverso l’IPC dei +Socket i quali, in questo caso, lavorano sul protocollo TCP/IP. +Le informazioni che il server e i client si scambiano vengono racchiuse +attraverso una classe condivisa Messaggio la quale contiene tutti i dati relativi +al funzionamento del gioco (vedere progettazione ad oggetti). +Il server mette a disposizione questo servizio sulla porta 6076, la quale è stata +definita in maniera standard per semplificare la connessione. + +## Implementazioni di sicurezza lato server +Per evitare un affollamento di troppe connessioni contemporanee è stato scelto +preventivamente di limitare il numero di thread creabili a 10. E’ stata inoltre +implementata una sleep di 5 secondi dopo l’allocazione di un thread per +evitare flooding di richieste. + +## Interfacciamento con Web Server +Al termine della partita ogni thread accede in scrittura ad un file XML in cui +scrive i migliori punteggi degli utenti. Tale file è letto dall’interprete php nel +momento in cui viene richiesta la pagina web relativa al gioco, la quale è +disponibile in rete attraverso un Web Server Apache in esecuzione sulla stessa +macchina sulla porta 8289. diff --git a/WebSite/leaderboard.php b/WebSite/leaderboard.php index 7811643..dc47410 100644 --- a/WebSite/leaderboard.php +++ b/WebSite/leaderboard.php @@ -31,10 +31,34 @@

Quiz Game

Leaderboard


$row) { + $reference_array[$key] = $row[$column]; + } + + array_multisort($reference_array, $direction, $array); + } + + $xml = simplexml_load_file("/home/quintab2122/public_html/sistemi/BCCOrientamento/leaderboard.xml"); + if($xml == NULL) + echo "Rotto"; + + foreach($xml->children() as $element) + { + $data[] = array( + 'nickname' => (string)$element->nickname, + 'points' => intval($element->points) + ); + + } + + array_sort_by_column($data, 'points'); + + // Creazione tabella echo ""; @@ -44,12 +68,16 @@ echo ""; // Stampa "in ampiezza" dell'albero - foreach($xml->children() as $element) + foreach($data as $element) { - echo ""; - echo ""; - echo ""; - echo""; + + + echo ""; + echo ""; + echo ""; + echo""; + + } echo "
".$element->nickname."".$element->points."
".$element['nickname']."".$element['points']."
"; diff --git a/WebSite/leaderboard.xml b/WebSite/leaderboard.xml index f615c29..00497db 100644 --- a/WebSite/leaderboard.xml +++ b/WebSite/leaderboard.xml @@ -3,4 +3,4 @@ P03 - try to catch me buddy 12000
-Yacine100Ciao150enri100
\ No newline at end of file +Yacine100Ciao150enri100MasterDuel210
\ No newline at end of file