Polimorfizm dla sterowania

0

Tworzę amatorską grę, i zastanawiam się czy jest sens tworzyć sterowanie polimorficzne? Wyglądałoby to tak:

  • KeyHandler woła fabrykę Keyów (Key to enum/interfejs)
  • Mając taki Key można go przekazać gdzieś dalej a potem zrobić key.invoke() czy coś

alternatywą oczwiście jest przekazywanie booleanów wszędzie.

Wady jakie widzę w tym rozwiązaniu to to że różne klienty rozgrywki moga chcieć interpretować ten sam klawisz na rózne sposoby, wtedy musiałbym robić jakiś bridge, i nie wiem czy to by przypadkiem nie zaszkodziło bardziej niż pomogło.

Nie mam zdania. what you think?

0

Przede wszystkim za mało podałeś informacji na temat tego, jaki konkretnie problem chcesz rozwiązać. Na razie wygląda mi to bardziej na sytuację, gdzie najpierw znalazłeś rozwiązanie, a teraz szukasz w programie jakiegoś problemu, do którego można by je zastosować... a kolejność powinna być odwrotna :).

Napisz coś więcej na temat architektury gry i tego, co tymi klawiszami chcesz robić, bo to na pewno pomoże w dyskusji na temat tego, które rozwiązanie najlepiej się sprawdzi.

0

@zyxist Zastanawiam się czy do sterowania sensowniejsze jest podejście obiektowe czy strukturalne, that's all. Nie szukaj dziury w całym.

1

No cóż, jak rozumiem, nie chcesz podać nic więcej, zatem mogę jedynie odpowiedzieć, że to zależy. Podejście strukturalne sprawdzi się w przypadku nieskomplikowanego sterowania, ponieważ nie komplikujesz rzeczy prostych, a jeśli kod będzie stosunkowo krótki, to w razie potrzeby możesz go szybko zastąpić czymś innym. A podejście obiektowe można ugryźć na kilka sposobów (choćby wzorcem Komenda) i ponownie: to, które z nich będzie najlepsze, zależy od Twojego projektu, oczekiwań i architektury. Inaczej podszedłbym do strategii turowej (rozbudowany interfejs, brak wymagań na czas reakcji), inaczej do strategii czasu rzeczywistego (dość rozbudowany interfejs, pewne akcje trzeba zaaplikować od razu), a inaczej do strzelanki (jak strzelam, to ma strzelać, bo od tego zależy wynik starcia).

1 użytkowników online, w tym zalogowanych: 0, gości: 1