robertjanista / projekt-grupa-a-monopoly

0 stars 1 forks source link

Stworzenie diagramu sekwencji w notacji UML #10

Open robertjanista opened 2 months ago

robertjanista commented 2 months ago
@startuml
actor Gracz
participant "Gra" as Gra
participant "Plansza" as Plansza
participant "Bank" as Bank
participant "Karty" as Karty
participant "GraczService" as GraczService
participant "PlanszaService" as PlanszaService
participant "KartyService" as KartyService
participant "BankService" as BankService

Gracz -> Gra: Rozpocznij grę
activate Gra
Gra -> PlanszaService: Inicjalizacja gry
activate PlanszaService
PlanszaService -> Plansza: Utwórz planszę
activate Plansza
PlanszaService -> Plansza: Przygotowanie nieruchomości
PlanszaService -> Plansza: Określenie kolejności
deactivate Plansza

loop Gra się nie skończy
    Gracz -> Gra: Rozpocznij turę gracza
    activate Gra
    Gra -> PlanszaService: Pobierz planszę
    activate PlanszaService
    PlanszaService -> Plansza: Pobierz planszę
    activate Plansza
    Plansza -> Plansza: Rozpocznij turę gracza
    deactivate Plansza
    deactivate PlanszaService

    Gracz -> Gra: Rzut kośćmi
    activate Gra
    Gracz -> Gra: Przesuń pionek zgodnie z rzutem
    activate Gra
    Gra -> PlanszaService: Pobierz planszę
    activate PlanszaService
    PlanszaService -> Plansza: Pobierz planszę
    activate Plansza
    Plansza -> Plansza: Przesuń pionek gracza
    deactivate Plansza
    deactivate PlanszaService
    deactivate Gra

    Gracz -> Gra: Gracz podejmuje decyzje
    activate Gra
    Gra -> GraczService: Pobierz możliwe decyzje gracza
    activate GraczService
    GraczService -> Gracz: Kupno domów/hoteli
    GraczService -> Gracz: Sprzedaż lub zastaw nieruchomości
    GraczService -> Gracz: Handel z innymi graczami
    deactivate GraczService
    deactivate Gra

    Gracz -> Gra: Gracz kończy turę
    activate Gra
    Gra -> PlanszaService: Pobierz planszę
    activate PlanszaService
    PlanszaService -> Plansza: Pobierz planszę
    activate Plansza
    Plansza -> Plansza: Zakończ turę gracza
    deactivate Plansza
    deactivate PlanszaService
    deactivate Gra

    Gracz -> Gra: Sprawdź warunek zakończenia gry
    activate Gra
    alt Został jeden gracz?
        Gra -> Gra: Zakończ grę
        Gra -> Gracz: Ogłoś zwycięzcę
        Gracz -> Gra: Zakończ grę
    else Nie
        Gra -> Gracz: Przygotuj się na następną turę
    end
    deactivate Gra
end
Gracz -> Gra: Zakończ grę
activate Gra
Gra -> GraczService: Usunięcie gracza z gry
activate GraczService
GraczService -> Gracz: Usuń gracza z gry
deactivate GraczService
deactivate Gra
Gracz -> Gra: Zakończ grę
deactivate Gra
Gracz -> BankService: Wykonaj akcję zakończenia gry
activate BankService
BankService -> Bank: Rozlicz akcję zakończenia gry
activate Bank
Bank -> Bank: Rozlicz akcję zakończenia gry
deactivate Bank
deactivate BankService
@enduml
robertjanista commented 2 months ago

Image