Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
# Conflicts:
#	Dokumentacja/DiagramyKlas/resources/Agent.eps
  • Loading branch information
BartoszChrostowski committed Mar 16, 2020
2 parents c2710c8 + b9fe0e5 commit ad10d6a
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 89 deletions.
4 changes: 2 additions & 2 deletions Dokumentacja/DiagramyKlas/Agent.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ \subsubsection{Agent}
\method[public int]{penaltyTime}{Czas kary.}
\method[public Team]{team}{Enum drużyny, w której jest gracz.}
\method[public bool]{isLeader}{Zmienna informująca czy gracz jest liderem zespołu.}
\method[public bool]{havePiece}{Zmienna informująca czy gracz jest w posiadaniu piece'a.}
\method[public bool]{hasPiece}{Zmienna informująca czy gracz jest w posiadaniu piece'a.}
\method[{public Field[,]}]{board}{Tablica dwuwymiarowa przechowująca planszę z perspektywy gracza.}
\method[{public Tuple<int,int>}]{position}{Współrzędne pola na planszy, na którym stoi gracz.}
\method[{public List<int>}]{waitingPlayers}{Lista id graczy oczekujących na odpowiedź.}
Expand All @@ -28,7 +28,7 @@ \subsubsection{Agent}
\method{RequestResponse()}{Metoda wywoływana na przyjście wiadomości z prośbą o wymianę informacji. Zapamiętuje parametry gracza który poprosił informację do listy \textit{waitingPlayers}. W przypadku gdy ten gracz był liderem wywołuje metodę \textit{GiveInfo()}}
\method{CheckPiece()}{Metoda sprawdzająca czy fragment to fragment fikcyjny. Wysyła zapytanie do GM i w zależności od odpowiedzi aktualizuje stan wiedzy agenta.}
\method[public void]{AcceptMessage()}{Metoda pobierająca informacje od serwera komunikacyjnego.}
\method{MakeDecisionFromStrategy()}{Metoda, która wywołuje metodę z obiektu strategy. Wywoływana jest okresowo i to ona decuduje o akcjach wykonywanych przez agenta. Używa IStrategy.}
\method{MakeDecisionFromStrategy()}{Metoda, która wywołuje metodę z obiektu strategy. Wywoływana jest okresowo i to ona decyduje o akcjach wykonywanych przez agenta. Używa IStrategy.}
\method[private void]{Communicate()}{Metoda wysyłająca wiadomości do serwera komunikacyjnego. Używana przez metody wykonujące akcje do komunikacj z GM poprzez wysłanie wiadomości do Serwera Komunikacyjnego}
\method[private void]{Penalty()}{Metoda czekająca przez okres kary. Po odczekaniu kary wywołuje generowanie kolejnej akcji.}
\end{methods}
Expand Down
2 changes: 1 addition & 1 deletion Dokumentacja/DiagramyKlas/DiagramyKlas.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
\section{Diagramy Klas}
W diagramach klas zostały pominięte klasy odpowiedzialne za obsługę połączeń TCP.
Jest to zabieg celowy. Nie chcemy narzucać implementacji obsługi połączeń, aby
nie ograniczać wyboru API. Klasy posiadają specjale metody puliczne \textbf{AcceptMessage},
nie ograniczać wyboru API. Klasy posiadają specjalne metody puliczne \textbf{AcceptMessage},
do których należy przekazać odebraną na porcie wiadomość i które implementują
logikę biznesową. Z anaglogicznego powodu nie narzucamy implementacji interfejsów
odpowiedzialnych za wysyłanie wiadomości.
Expand Down
10 changes: 5 additions & 5 deletions Dokumentacja/DiagramyKlas/GM.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ \subsubsection{Player}
\paragraph{Zmienne}
\begin{methods}
\method[private Int]{id}{Identyfikator gracza}
\method[private Int]{messageCorellationId}{Id nadane graczowi przez serwer komunikacyjny, służy do odsyłania wiadomości}
\method[private Int]{messageCorrelationId}{Id nadane graczowi przez serwer komunikacyjny, służy do odsyłania wiadomości}
\method[private Team]{team}{Drużyna,w której jest gracz}
\method[private Boolean]{isLeader}{Zmienna informująca czy gracz jest liderem zespołu}
\method[private Piece]{holding}{Zmienna informująca czy niesie fragment}
Expand Down Expand Up @@ -106,7 +106,7 @@ \subsubsection{NormalPiece : AbstractPiece}
\method[public int]{Put(AbstractField)}{Implementacja odwiedzającego, wywołuje Put() z AbstractField, przekazuje informację czy przyznać punkty graczowi.}
\end{methods}

\subsubsection{Interface Message SenderService}
\subsubsection{Interface MessageSenderService}
\paragraph{Metody}
\begin{methods}
\method[public void]{SendMessage()}{Wysłanie wiadomości do serwera komunikacyjnego. Używana przez Playera do wysyłania wiadomości.}
Expand All @@ -117,7 +117,7 @@ \subsubsection{GM}
\begin{methods}
\method[private readonly Dictionary<int,Player>]{players}{Słownik mapujący id gracza z wiadomości na obiekt.}
\method[{private readonly Field[][]}]{map}{Faktyczny stan planszy.}
\method[private Set<(int,int)>]{LegalKnowleadgeReplies[2]}{Zbiór par id które oznaczają, że dana odpowiedź z wymianą informacjie jest legalna, bo była poprzedzona zapytaniem.}
\method[private Set<(int,int)>]{LegalKnowledgeReplies[2]}{Zbiór par id które oznaczają, że dana odpowiedź z wymianą informacji jest legalna, bo była poprzedzona zapytaniem.}
\method[private Configuration]{conf}{Obiekt parametrów rozgrywki.}
\end{methods}

Expand All @@ -126,8 +126,8 @@ \subsubsection{GM}
\method[public void]{AcceptMessage()}{Metoda służy do obsługi wiadomości, powinna być wywoływana przez API obsługujące komunikację}
\method[private]{Discover(Field)}{Metoda oblicza wynik akcji discovery}
\method[private void]{GeneratePiece()}{Metoda generuje i rozmieszcza fragmenty na planszy.}
\method[private void]{ForwardKnowleadgeQuestion()}{Metoda przekazuje prośbę o informację do właściwego gracza.}
\method[private void]{ForwardKnowleadgeReply()}{Metoda przekazuje odpowiedź na zapytanie do właściwego gracza, jeśli odpowiedź jest legalna, czyli jeśli dana odpowiedź była poprzedzona zapytaniem.}
\method[private void]{ForwardKnowledgeQuestion()}{Metoda przekazuje prośbę o informację do właściwego gracza.}
\method[private void]{ForwardKnowledgeReply()}{Metoda przekazuje odpowiedź na zapytanie do właściwego gracza, jeśli odpowiedź jest legalna, czyli jeśli dana odpowiedź była poprzedzona zapytaniem.}
\end{methods}

\subsubsection{Enum Team}
Expand Down
124 changes: 62 additions & 62 deletions Dokumentacja/DiagramyKlas/resources/Agent.eps

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions Dokumentacja/DiagramyKlas/resources/GM.eps

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Dokumentacja/PrzypadkiUzycia/Agent.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ \subsection{Agent PU}
\begin{itemize}
\item Dołączenie do rozgrywki
\begin{itemize}
\item Odbywa się poprzez połczenie się z Serwerem Komunikacyjnym na podstwaie danych połączenia wprowadzonych przez użytkownika i wykonanie odpowiedniego zapytania do GM. Jeśli połączenie nie powiodło się, Agent kończy działanie.
\item Odbywa się poprzez połączenie się z Serwerem Komunikacyjnym na podstawie danych połączenia wprowadzonych przez użytkownika i wykonanie odpowiedniego zapytania do GM. Jeśli połączenie nie powiodło się, Agent kończy działanie.
\item Odpowiedź zwrotna może być negatywna, w tym przypadku Agent kończy działanie.
\item W przypadku odpowiedzi pozytywnej, Agent aktualizuje swoje informacje o parametrach rozgrywki na podstawie informacji otrzymanych z GM i przystępuje do oczekiwania na informację o rozpoczęciu rozgrywki, podczas którego nie wykonuje żadnych czynności.
\end{itemize}
Expand Down
2 changes: 1 addition & 1 deletion Dokumentacja/PrzypadkiUzycia/GameMaster.tex
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ \subsection{Game Master}
\end{itemize}
\item Zakończenie rozgrywki
\begin{itemize}
\item Zakończenie rozgrwki może być rezultatem trzech zdarzeń, wygraną którejś z drużyn, zarządzeniem zakończenia przez użytkownika oraz utratą połączenia z Serwerem Komunikacyjnym.
\item Zakończenie rozgrywki może być rezultatem trzech zdarzeń, wygraną którejś z drużyn, zarządzeniem zakończenia przez użytkownika oraz utratą połączenia z Serwerem Komunikacyjnym.
\item Po zakończeniu Game Master, o ile to możliwe, wysyła informacje o końcu gry do Agentów i prezentuje statystyki w interfejsie graficznym.
\end{itemize}
\end{itemize}
Expand Down
Loading

0 comments on commit ad10d6a

Please sign in to comment.