Skocz do zawartości
Drogi Gościu. Nie jesteś zalogowany, bądź zarejestrowany na naszym forum, ale pomimo tego możesz tworzyć wątki i odpowiadać w tematach, z tym że wszystkie Twoje wiadomości będą musiały zostać ręcznie zatwierdzone przez Administratora. Z tego powodu zachęcamy Cię do założenia konta (bądź zalogowania), aby uniknąć tych ograniczeń.

Wydajniejszy system wyboru administratora tygodnia


OnistDerFalke

Wyróżnione odpowiedzi

Twój nick (z serwera): OnistDerFalke
Propozycja dotyczy (tytuł): Wydajniejszy system wyboru administratora tygodnia.
 

Opis propozycji:

Zauważyłem, że na forum pojawia się możliwość zagłosowania na administratora tygodnia. Wydaje mi się, że pomysł jest bardzo fajny i zachęca administratorów do większych starań i reputacji wśród graczy. Jednak niewielu graczy korzysta z forum, a nawet jeśli korzystają to nie wykorzystują po części tej możliwości głosowania. Mój pomysł dotyczy utworzenia nowego pluginu lub rozszerzenia jakiegoś już istniejącego o system VoteAdmin, który będzie pozwalał raz w tygodniu danemu graczowi zagłosować na swojego ulubionego administratora poprzez czat na serwerze Minecraft (np. /voteadmin <nick>). Wówczas otrzyma on pewną (niekoniecznie dużą, ale zachęcającą do głosowania) nagrodę w postaci przedmiotów lub pieniędzy. Informacja o komendzie i nagrodzie powinna przewijać się również co jakiś czas na czacie, aby gracze wiedzieli, że taka funkcjonalność istnieje.

 

Jak to wszystko mogłoby działać? Otóż głosy graczy nie byłyby równe. W kodzie pluginu pojawiłyby się pewne współczynniki zależne od np. liczby przegranych godzin oraz liczby ostrzeżeń skierowanych w stronę gracza. Oznacza to, że gracz, który przegrał więcej godzin i ma lepszą reputację, będzie miał ważniejszy głos. To bardzo uczciwe i zachęcające do dobrego zachowania w serwerowej społeczności (można z tym również skalować nagrodę).

 

Jeśli zdecydujecie się Państwo na wdrożenie mojego pomysłu, przygotowałem na ten wypadek mały projekt napisany w Javie, jakże natywnej dla gry Minecraft, z którego mogą Państwo czerpać pomysł na implementację algorytmu obliczania punktacji. Poniżej przesyłam mavenowy projekt stworzony w środowisku IntelliJ Idea od Jet Brains. Jest to program konsolowy, w którym można testować komendę /voteadmin (więcej informacji pod /help), która pozwala na zagłosowanie na administratora przez gracza o danej liczbie przegranych godzin i liczbie ostrzeżeń. W kodzie programu (dokłaniej: vote_manager.java) znajdują się stworzone przeze mnie współczynniki, które wybrałem do algorytmu - wydawały mi się najbardziej rozsądne. Można wielokrotnie głosować na admina za pomocą tej komendy i obserwować jego punktację z głosów.

 

Projekt powstał z myślą, aby przedstawić Państwu mój pomysł w trochę lepszym świetle, niż tylko czyste słowa. Nazwałem go VoteAdmin i jest on dostępny do pobrania z mojego dysku google:  https://drive.google.com/file/d/1PjsXr_si2lyzgWdghY8tfD49GN5QNART/view?usp=sharing. Poniżej prezentuję też kluczowy kod programu (sam algorytm punktacji) oraz działanie aplikacji w środowisku IntelliJ Idea.

 

W razie pytań (np. do kodu) proszę się ze mną kontaktować poprzez Discord lub wiadomość na forum. Wierzę, że pomysł przypadnie Państwu do gustu. Jednocześnie oznajmiam, że nie zastrzegam sobie żadnych praw autorskich do powyższego projektu i udostępniam go Państwu do wykorzystania go zgodnie z Państwa wolą.

 

Na poniższych screenach przedstawiam surowy output konsolowy w środowisku oraz kod/metodę, która stanowi najbardziej istotną - matematyczną część algorytmu (współczynniki są polami klasy, w której znajduje się ta metoda i są zhardkodowane).


Dodatkowe SS'y:

Screenshot_20220820_163620.png

Screenshot_20220820_163743.png

Edytowane przez OnistDerFalke
  • Like 1
  • Dislike 2
  • Wow 1
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
  • 4 tygodnie później...
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...