avatar

Programmino Java che simula la comunicazione fra 2 Server che giocano ha Tabu

In questo programmino Java che ho scritto all'universita(commentato e documentato) ho fatto comunicare due server in cui uno lo Chiamato Client(quello che invia le risposte) ed uno Server(quello che le da) qui riscrivo il Read me per farlo capire al meglio:

Variabili:

Wordkey:Parola chiave scritta dal server che deve rivelare al client è una stringa.

Wordhide:Sono le tre parole che deve indovinare il client per vincere il gioco(sono state scelte dal server ma non devono essere dette al client e devono essere dei sinonimi e/o contrari di Wordkey) è un array di stringhe.

Wordclient:La parola scritta dal client per indovinare l’attuale parola misteriosa e chiamare il server per giocare .Come le altre due una stringa.

i:Contatore degli sbagli fatti dal client per indovinare le parole misteriose e viene usato per “riempire” il wordhide,parte da 0 ed è di tipo intero.

J:Contatore dell’array Wordhide per vedere ha quale parola misteriosa si cerca di indovinare,parte da 0 ed come sopra è di tipo intero.

Risposta:Questa stringa serve per consentire la comunicazione fra gli utenti del client-server che viene gestita tramite il client e dal server.

Indizi:Stringa che non passa per il prottocolo ma che serve solo per comunicare gli indizzi della parola misteriosa.

n:Serve per memorizzare il valore della lunghezza della stringa j-iesima di Wordhide che deve essere comunicata al client

 

 

Procedimento:

Attenzione:ogni volta che si inviano dei dati fra client e server tali informazioni vengono stampate su schermo per consentire di leggerle hai corrispettivi utenti-riceventi(la stringa risposta ed i contatori i e j vengono gestiti dal protocollo e lo stato della risposta gestendo quello che deve rimandare al client sotto forma di risposta) ed se il messaggio dice di inviare qualcosa bisogna inviare(seno si invia anche stringhe vuote se non si dice niente al riguardo per andare avanti nel programma fino alla chiusura delle trasmissioni.)

1)Il client chiama il server(che è sempre attivo) per giocare inviandogli come messaggio un carattere

2)Il server ricevendo la prima stringa ,dopo gli invia per esempio come risposta questo messaggio:”Si adesso ti invio la parola chiave con gli indizi.”, poi si inizializza la stringa wordkey in cui ci scriverà la parola chiave e poi scrive anche le 3 parole che devono essere dei sinonimi e/o contrari della parola chiave sull’arrey di stringhe wordhide(tramite un ciclo che sfrutta i) e Il server azzera i contatori j ed i(entrambe le variabili non devono essere vuote).

3)Poi vede esso vede se il contatore j è <= di 2 se si va al punto 4 se no va al punto 6.

4)Il server controlla se il contatore i è <= di 2 se si rivela la prima lettera della j-esima parola di wordhide(in pratica si controlla wordhide[0][j]) , inizializza n scrivendogli il numero di caratteri che formano la parola j-esima e invia queste informazioni al client che per risposta invierà la sua soluzione (wordclient) (se il cliente riceve il questo messaggio:”attesa” esso stamperà nella sua schermata:”digita un qualsiasi simbolo per sapere se hai indovinato”,significa che deve fare quello che c’e scritto ed si va al punto 5.) ma se no il server invierà al client questo messaggio:”sconfitta” ,egli lo interpreterà come:”Game over. Hai sprecato i tuoi tentativi” ed la trasmissione si chiude.

5)Il server confronterà la stringa wordclient con quella j-esima dell’ array wordhide,se sono uguali si incrementa j di 1 ed si invia questo commento:”Bravo la parola è giusta è:”wordclient””, e se sono diverse si incrementa invece il contatore i e il client riceve questo messaggio: ” Hai sbagliato ti rimangono pochi tentativi,dopo 3 sbagli sei fuori ed hai già sbagliato:"i.” comunque come vada si deve tornare al punto 3(lo stesso vale se il wordclient è vuoto).

6)Il server invia questo messaggio al client:”vittoria” che egli traduce:”Hai vinto il gioco. hai indovinato tutte le parole misteriose”(risposta=2) e la trasmissione si chiude.

Download attachment

Open
Pubblicato il 21 settembre 2020 da Vorsen88