Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restabilit logica de comunicare intre module. #15

Open
ZaharescuMihai opened this issue Jan 2, 2015 · 6 comments
Open

Restabilit logica de comunicare intre module. #15

ZaharescuMihai opened this issue Jan 2, 2015 · 6 comments
Assignees

Comments

@ZaharescuMihai
Copy link
Contributor

In ce ordine se trimit mesajele de cine pentru a avea noima. Refacut pentru:
Loader
Server
Client
GUI

@ZaharescuMihai ZaharescuMihai self-assigned this Jan 2, 2015
@ZaharescuMihai
Copy link
Contributor Author

Adaugat Anexa 1 in documentul Server TO DO din folderul MPS in care este descrisa curgerea mesajelor si desfasurarea jocului.

@ZaharescuMihai
Copy link
Contributor Author

Done 1, 2, 3, 4, 5

@ZaharescuMihai
Copy link
Contributor Author

Done 6

@ZaharescuMihai
Copy link
Contributor Author

Done 7, 8.a, partial 8.b (repartizat pioni la echipe)

@ZaharescuMihai
Copy link
Contributor Author

Done 8.b

@ZaharescuMihai
Copy link
Contributor Author

Am adaugat logica jocului, in caz ca serverul va fi continuat in anii viitori:

Anexa 1

Logica:

Loader
Porneste server
Porneste un mailman client prin SERVER_ADDRESS_TO pentru comunicare cu serverul (MCLS)
Trimite HELLO_MSG prin MCLS
Server
Porneste un mailman server la SERVER_ADDRESS pentru comunicare cu loaderul (MSSL)
Asculta pentru HELLO_MSG prin MSSL
Raspunde cu HELLO_BACK_MSG
Loader
Porneste GUI
Porneste un mailman client prin GUI_ADDRESS_TO pentru comunicare cu GUI (MCLG)
Trimite HELLO_MSG prin MCLG
GUI
Porneste un mailman server la GUI_ADDRESS pentru comunicare cu loaderul si serverul (MSGLS)
Asculta pentru HELLO_MSG prin MSGLS
Raspunde cu HELLO_BACK_MSG
Loader
Porneste pionii din echipe si ii adauga la lista cu ID si PID
Informeaza serverul prin MCLS despre ID si PID trimitand CONNECT_PAWN_MSG
Server
Asculta pentru CONNECT_PAWN_MSG prin MSSL
Adauga pionii in joc daca nu exista ID, altfel modifica PID
Raspunde cu CONNECT_PAWN_BACK_MSG
Loader
Trimite START_ROUND_MSG prin MSLS
Server
Asculta pentru START_ROUND_MSG prin MSSL
PANA AICI A FOST VERIFICAT: Aranjeaza random pionii pe tabla
Porneste un mailman client pentru comunicare cu GUI (MCSG) prin ADDRESS_GUI_TO
Trimite CLEAR_GUI_SCENE_MSG prin MCSG la GUI
Trimite SET_GUI_BOARD_MSG la GUI prin MCSG spunand dimensiunea tablei
Trimite pe rand ADD_GUI_PAWN_MSG la GUI prin MCSG pentru fiecare pion spunand culoarea, luminozitatea, pozitia si id-ul
Trimite DRAW_GUI_SCENE_MSG prin MCSG la GUI
GUI
Asculta pentru CLEAR_GUI_SCENE prin MSGLS si cand primeste isi sterge toate structurile si raspunde cu CLEAR_GUI_SCENE_BACK_MSG
Asculta pentru SET_GUI_BOARD_MSG prin MSGLS si cand primeste adauga in structura grafica o tabla de dimensiunea respectiva si raspunde cu SET_GUI_BOARD_BACK_MSG
Asculta pentru ADD_GUI_PAWN_MSG prin MSGLS si cand primeste adauga un pion in structura grafica
Asculta pentru DRAW_GUI_SCENE_MSG prin MSGLS si cand primeste redeseneaza ecranul
Server
Porneste mailman broadcast pentru informare pioni (MBSP), la adresa ADDRESS_PAWN_TO
Porneste mailman server pentru raspuns la pioni (MSSP), dar cu timeout, la adresa ADDRESS_SERVER_C (TO DO: sterge mesajele ramase pe coada, daca nu se rezolva pauza blocanta)
Trimite broadcast prin MBSP cu mesajul START_ROUND_MSG
Trimite broadcast prin MBSP cu mesajul SERVER_LISTENING_MSG
Pawn
Porneste mailman listener pentru ascultare broadcast de la server la adresa ADDRESS_PAWN (MLPS)
Porneste mailman client pentru cereri adresate serverului, la adresa ADDRESS_SERVER_C_TO (MCPS)
Asculta pentru START_ROUND_MSG prin MLPS
Initializeaza ce are neovie
Asculta pentru SERVER_LISTENING_MSG prin MLPS si trimite miscari mesaje, etc cat timp nu primeste SERVER_NOT_LISTENING_MSG
Server
Asculta pentru diverse cereri de la pioni prin MSSP si le raspunde
Asteapta sa treaca o perioada de timp, cand face broadcast prin MBSP cu SERVER_NOT_LISTENING_MSG
Face pauza la MSPS
Reface 9 a->d
Verifica terminare runda daca runda e terminata:
Updateaza notele intr-un fisier! si iesi daca a expirat timpul
Broadcast ROUND_ENDED_MSG prin MBSP
Broadcast WANT_TO_CONTINUE_MSG prin MBSP
Asculta pentru DO_CONTINUE_MSG prin MCPS
La primire DO_RESTART_MSG cu id-ul pionului, marcheaza pionul ca dorind sa fie ramana activ
Pentru fiecare pion de restartat trimite RESTART_PAWN_MSG la loader prin MCSL
Continua de la 5
Verifica terminare runda daca runda nu e terminata:
Refa 10.d, 11.e, 12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant