robertjanista / projekt-grupa-a-monopoly

0 stars 1 forks source link

Stworzenie diagramu przejść w notacji UML #3

Open adamkowalsky11 opened 8 months ago

robertjanista commented 7 months ago

Image

robertjanista commented 7 months ago

Co myślicie? @adamkowalsky11 @MDAHE

MDAHE commented 7 months ago

brakuje mi wyboru pionka oraz w przypadku braku bankructwa gra powinna toczyć się dalej chyba że coś przeoczyłem. op za tym ok

robertjanista commented 7 months ago

pytanie czy chcemy wchodzić tak głęboko w szczegóły jak wybór pionka? Ja zakładałem, że przydzielamy z góry.

Co do braku bankructwa - jest druga ścieżka - poniżej na czerwono:

Image

MDAHE commented 7 months ago

ok czyli pionki są przydzielane automatycznie. A co do tej linii to powiem że chyba muszę okulary kupić bo jej nie widziałem. Nie powinno być jeszcze za zakończ turę gracza połączenie do rozpocznij turę gracza ?

adamkowalsky11 commented 7 months ago

Chyba nie ma znaczenia czy wybór pionka jest automatyczny czy nie - tak naprawdę może to być jako inicjalizacja gry, także wg mnie można zostawić tak jak jest. Ale mam pytanie co do wyboru kart: Czy póki co je dodajemy do diagramu i zobaczymy czy uda się zaimplementować czy robimy odwrotne podejście, że nie dodajemy do diagramu a jak się uda zaimplementować to potraktujemy to jako po prostu feature?

adamkowalsky11 commented 7 months ago

image Zmienić jako opcje do wyboru, nie po kolei

adamkowalsky11 commented 7 months ago

Dodać "nie" przy strzałkach od decyzji

robertjanista commented 7 months ago

poprawiony diagram:

Image

kod plantUML:

@startuml
start
:title Udoskonalony Przepływ Gry Monopoly z Zarządzaniem Graczami;

:Inicjalizacja Gry;
:Utwórz Graczy w Systemie;
note right: Użyj PlayerService aby dodać graczy do systemu

:Przygotowanie Planszy z Nieruchomościami;
:Określenie Kolejności Gry;

while (Gra Się Nie Skończy) is (nie)
  :Rozpocznij Turę Gracza;

  if (W Więzieniu?) then (tak)
    :Próba Wyjścia z Więzienia przez Rzut Dubletami;
    if (Nie Udało Się Wyjść?) then (tak)
      :Użyj Karty 'Wyjdź z Więzienia za Darmo' lub Zapłać Kaucję;
      :Aktualizuj Status Gracza;
      note right: Aktualizacja przez PlayerService
    else (nie)
      :Przenieś Pionek;
    endif
  else (nie)
    :Rzuć Kośćmi;
    :Przesuń Pionek Zgodnie z Rzutem Kośćmi;
  endif

  if (Stanął na Nieruchomości?) then (tak)
    :Obsługa Akcji Nieruchomości;
    note right: Kupno, Zapłata Czynszu, Aukcja
  elseif (Stanął na Polu Karty?) then (tak)
    :Dobierz Kartę;
    :Wykonaj Akcję Karty;
  elseif (Stanął na Specjalnym Polu?) then (tak)
    :Wykonaj Specjalną Akcję;
    note right: Jak Zapłata Podatku lub Przejście do Więzienia
  else (nie)
    :Kontynuuj Grę;
  endif

  :Gracz Podejmuje Decyzje;
  fork
    :Kupno Domów/Hoteli;
  fork again
    :Sprzedaż lub Zastaw Nieruchomości;
  fork again
    :Handel z Innymi Graczami;
  end fork

  if (Bankructwo?) then (tak)
    :Likwidacja Aktywów;
    if (Wciąż Bankructwo?) then (tak)
      :Ogłoszenie Bankructwa;
      :Usunięcie Gracza z Gry;
      note right: Usunięcie gracza przy użyciu PlayerService
    else (nie)
      :Kontynuacja Gry;
    endif
  else (nie)
    :Kontynuuj Turę;
  endif

  :Zakończ Turę Gracza;

  if (Został Jeden Gracz?) then (tak)
    :Zakończ Grę;
    :Ogłoś Zwycięzcę;
  else (nie)
    :Następny Gracz;
  endif

endwhile (tak)

stop
@enduml
adamkowalsky11 commented 6 months ago

Dodać co/który moduł ma zrobić daną czynność