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

Zapytanie o podniesienie fragmentu #90

Closed
JakubBrojacz opened this issue Mar 9, 2020 · 7 comments
Closed

Zapytanie o podniesienie fragmentu #90

JakubBrojacz opened this issue Mar 9, 2020 · 7 comments
Labels
help wanted Extra attention is needed

Comments

@JakubBrojacz
Copy link

Z jednej strony w wiadomościach agenta mamy wiadomość z kodem 008 o podniesienie fragmentu i w diagramach też mamy, że agent ma wysyłać prośbę o podniesienie, a z drugiej w module GM, Abstract Field, metoda PickUp(Player) jest napisane:
Metoda abstrakcyjna, która podnosi fragment z planszy i przypisuje go do gracza. Wywoływana jest na wejście gracza (przemieszczenie się gracza do tego pola) do danego pola,
czyli jej wywoływana automatycznie;
tak samo w zasadach gry o fragmentach:
Odłożenie wygenerowanego przez Game Mastera fragmentu na pole na którym znajduje się Agent, skutkuje natychmiastowym podniesieniem fragmentu przez tego Agenta, jeśli nie trzyma on już innego fragmentu.
Pytanie o doprecyzowanie:
W jakich warunkach agent podnosi fragment automatycznie i w jaki sposób przekazać mu, że otrzymał taki fragment jeśli zrobił to automatycznie?

Częściowo omawiane w #26

@BartoszChrostowski BartoszChrostowski added the help wanted Extra attention is needed label Mar 11, 2020
@marcelwenka
Copy link

Czy w takim razie powinniśmy dodać do wiadomości zwrotnej od GMa o wykonaniu ruchu (108) pole "holding" informujące o tym, że agent trzyma teraz kawałek (bo wszedł na pole, na którym leżał kawałek)? Czy może skoro w wiadomości od GMa jest closestPiece (odległość do najbliższego kawałka) to agent powinien się sam domyślić, że podniósł kawałek, jeśli closestPiece wynosi 0?
A jak Game Master wygenerował kawałek na polu, na którym stoi agent (i automatycznie przekazujemy ten kawałek agentowi) powinniśmy mu wysłać wiadomość PickUp, czy w ogóle mu nie mówić?
Jeśliby dodać pole "holding" do wiadomości zwrotnej o ruchu (108) to wtedy problem wygenerowania kawałka na agencie częściowo rozwiązywałby się sam, bo wtedy agent dowiadywałby się przy następnym ruchu, że trzyma kawałek.

@rafalsli
Copy link

To jaką decyzję podejmujemy? Bo przydałoby się to już wyjaśnić. Proponuję, albo zostawić tę wersję, że to agent zawsze podejmuje decyzję, czy chce podnieść kawałek, albo dodać to dodatkowe pole w wiadomości informujące, czy podniesiono kawałek (chociaż jeżeli będzie dodatkowe pole, to pojawia się pytanie jaką odległość zwrócić, jeżeli agent wszedł na kawałek - zero, czy do kolejnego kawałka). Jeżeli zawsze miałoby to się dziać automatycznie, to chyba w ogóle nie potrzebujemy akcji podniesienia. Jeżeli ta akcja miałaby zostać, to w pliku konfiguracyjnym GM nie ma kary za tę akcję.

@Zackere
Copy link
Contributor

Zackere commented Mar 25, 2020

Automatyczne podnoszenie kawałka tylko komplikuje i unicestwia akcję discovery poniekąd oraz akcję pickpiece

@JakubBrojacz
Copy link
Author

Automatyczne podnoszenie kawałka nie wpływa na akcję discovery. Jedynie sprawia że akcja pickpiece przestaje mieć sens.

@piotr-onyszczuk
Copy link

"Odłożenie wygenerowanego przez Game Mastera fragmentu na pole na którym znajduje sie Agent, skutkuje natychmiastowym podniesieniem fragmentu przez tego Agenta" psuje też koncepcję tego że większość wiadomości od GMa do Agenta jest odpowiedzią na żądanie Agenta, bo należałoby przekazać Agentowi tę informację.

@Rashair
Copy link
Contributor

Rashair commented Mar 28, 2020

"Odłożenie wygenerowanego przez Game Mastera fragmentu na pole na którym znajduje sie Agent, skutkuje natychmiastowym podniesieniem fragmentu przez tego Agenta" psuje też koncepcję tego że większość wiadomości od GMa do Agenta jest odpowiedzią na żądanie Agenta, bo należałoby przekazać Agentowi tę informację.

Właściwie to wtedy trzeba by to przekazywać w odpowiedzi na akcję zniszczenia/odłożenia kawałka - #70

Agent powinien odbierać to czy dostaje kawałek w odpowiedzi na żądanie ruchu.
Wtedy GM już przed wysyłaniem takiej odpowiedzi wkładałby kawałek do swojego modelu gracza.
A gracz automatycznie ustawiał by sobie wtedy, że ma kawałek.

@piotr-onyszczuk
Copy link

Właściwie to wtedy trzeba by to przekazywać w odpowiedzi na akcję zniszczenia/odłożenia kawałka - #70

Właśnie nie do końca, bo co jesli gracz sie nie ruszy a GM wygeneruje kawałek tam gdzie on stoi. Musiałoby to byc przekazane asynchronicznie. Dlatego może żeby uniknąć niejasności z automatycznym podnoszeniem łatwiej byłoby podnosić tylko gdy gracz tego zażądał.

Zackere added a commit to Zackere/IO-project-game that referenced this issue Apr 1, 2020
Zackere added a commit to Zackere/IO-project-game that referenced this issue Apr 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

7 participants