> For the complete documentation index, see [llms.txt](https://docs.payswap.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payswap.org/polski/products/games.md).

# Gry

Kontrakty na gry umożliwiają Ci wdrożenie mechanizmu gry i zarabiania wokół gry, którą wdrożyłeś Ty lub ktoś inny.

Oto przewodnik krok po kroku dotyczący tworzenia własnej gry:

## Tworzenie gry

* Przejdź do [strony gier](https://payswap.org/games) i kliknij przycisk **Utwórz grę**

<figure><img src="/files/DG6W1QZKR6pvaiPNp9Om" alt=""><figcaption></figcaption></figure>

* Wypełnij formularz, który się pojawi i zatwierdź transakcję. To stworzy twoją grę. Jeśli planujesz używać interfejsu API do przetwarzania wyników użytkowników, powinieneś ustawić zmienną adresu umowy gry na zmienną głównego adresu PaySwap (adres, który jest właścicielem \[kanał CanCan 1]\(<https://payswap.org/> cancan/collections/1)).

<figure><img src="/files/WYTBzMlp90p6kB5dtGfm" alt=""><figcaption></figcaption></figure>

* Zaznacz przycisk **Tylko moje**, aby wyświetlić tylko listę gier i szybciej znaleźć tę, którą właśnie utworzyłeś. Jeśli nie możesz znaleźć swojej gry, załaduj ponownie stronę i spróbuj jeszcze raz.

<figure><img src="/files/j5wVvcZdsOGetMazB6BP" alt=""><figcaption></figcaption></figure>

## Konfigurowanie gry

* Następnym krokiem jest aktualizacja umowy o grę. Kliknij przycisk **Panel sterowania** w panelu umowy dotyczącej zakładów, a następnie przycisk **Aktualizuj grę**. Wypełnij formularz odpowiednią wartością dla każdego parametru i zatwierdź transakcję

<div><figure><img src="/files/BzH6hhPeFO6k218WvyPR" alt=""><figcaption></figcaption></figure> <figure><img src="/files/BAfB0LBBD3ID2d3uKcgW" alt=""><figcaption></figcaption></figure></div>

* W następnym kroku musisz zaktualizować link, aby zagrać w grę, aby użytkownicy mogli grać. W menu panelu sterowania kliknij przycisk **Aktualizuj informacje** i wypełnij formularz odpowiednią wartością w każdym polu. Najechanie kursorem na ikonę pomocy obok każdego parametru umożliwia zapoznanie się z opisem parametru. Zatwierdź formularz i potwierdź transakcję.

  <div><figure><img src="/files/BzH6hhPeFO6k218WvyPR" alt=""><figcaption></figcaption></figure> <figure><img src="/files/FSSyYI3pF5EWmcfgcBeB" alt=""><figcaption></figcaption></figure></div>

  PaySwap wykorzystuje łącze API gry do pobierania wyników według identyfikatora tokena, dzięki czemu użytkownicy mogą aktualizować swoje wyniki w łańcuchu bloków.

## Jak grać

Oto przewodnik krok po kroku dotyczący grania w gry:

* Najpierw musisz kupić wystarczającą liczbę minut, aby grać. Jeśli na przykład kupisz 30 minut, będziesz miał 30 minut na pobranie i przesłanie wyniku ze strony gry. Wynik przesłany później nie będzie kwalifikował się do nagród w grze.
* Aby kupić minuty, przejdź do panelu swojej gry i kliknij przycisk **Wyświetl grę**, aby przejść do strony gry. Kliknij przycisk **Wybierz nowy bilet** i zatwierdź transakcję, aby wybić grę NFT, która jest niezbędna do grania w Twoją grę i odbierania nagród

<figure><img src="/files/OpmW5wXe2lK7SSfmeq6Y" alt=""><figcaption></figcaption></figure>

* Po utworzeniu gry NFT ostatnia linia na obrazku poniżej na stronie gry powinna zmienić się z „Masz 0 biletów” na „Masz 1 bilet” wraz z listą identyfikatorów biletów. Zapamiętaj identyfikator biletu, ponieważ będzie on potrzebny podczas większości interakcji z grą. Identyfikator naszego biletu na obrazku poniżej to 2

<figure><img src="/files/OHvoiqKHVackiH029yX5" alt=""><figcaption></figcaption></figure>

* Możemy teraz kupić minuty w naszej grze, kupmy 30 minut. Aby to zrobić, kliknij przycisk **Graj, aby wygrać**, aby przejść do formularza widocznego na obrazku poniżej. Wypełnij formularz wystarczającą liczbą tokenów, aby kupić taką liczbę minut, jaką chcesz kupić, i zatwierdź transakcję.

<figure><img src="/files/r30RbCNucBNOWgGaHek9" alt=""><figcaption></figcaption></figure>

* Wprowadziliśmy identyfikator NFT naszej gry, który wynosi 2 i żetonów wystarczy na zakup 30 minut w grze. Tekst **Kup XX Minut** zmienia się wraz ze zmianą liczby wysyłanych tokenów
* Musimy teraz zagrać w mecz, zdobyć wynik i przedstawić go przed upływem 30 minut, w przeciwnym razie stracilibyśmy inwestycję. U góry strony gry możesz zobaczyć przycisk **Zagraj w grę**. Kliknij na nią, aby uruchomić grę w oknie#x20;

<figure><img src="/files/OHvoiqKHVackiH029yX5" alt=""><figcaption></figcaption></figure>

* Możesz zagrać w grę z wyskakującego okienka lub kliknąć link na górze wyskakującego okienka, aby otworzyć grę w nowym oknie

<figure><img src="/files/TVZF8anN2yJLygKqxzRJ" alt=""><figcaption></figcaption></figure>

* Gdy uzyskasz zadowalający wynik, jak na obrazku poniżej, wprowadź swój identyfikator NFT gry i kliknij przycisk przesyłania na stronie gry

<figure><img src="/files/8SAqoBvOnwK1qARrBWzP" alt=""><figcaption></figcaption></figure>

* Jak widać na powyższym obrazku, gdy uzyskaliśmy najlepszy wynik, jaki mogliśmy uzyskać przed końcem zakupionych 30 minut, wprowadziliśmy identyfikator gry NFT wynoszący 2 w odpowiednim polu na stronie gry i przesłaliśmy go. Możemy grać dalej aż do upływu 30 minut i jeżeli uda nam się uzyskać lepszy wynik, to również go oddajemy w miejsce poprzedniego.
* Możesz dowiedzieć się, kiedy wygasną Twoje minuty, wpisując swój identyfikator NFT gry w poniższym formularzu na stronie gry. W naszym przykładzie poniżej kupiliśmy minuty o 19:12 (19:12), więc nasze minuty zakończą się o 19:42 (19:42); co oznacza, że do tego czasu możemy spróbować uzyskać lepszy wynik, przesyłając każdy wynik za każdym razem, aby było bezpiecznie.

<figure><img src="/files/CZiCX7ujpcLKFdJSam6S" alt=""><figcaption></figcaption></figure>

* Po upływie naszych minut możemy poczekać na odpowiedni moment na przetworzenie naszego wyniku lub możemy go przetworzyć od razu. Kontrakty na gry gromadzą pulę nagród za pomocą tokenów zebranych z minutowych zakupów i obliczają wygrane użytkowników na podstawie ich wyniku.

W naszym obecnym scenariuszu pula nagród w naszej grze wynosi 3 USD, co można sprawdzić na stronie gry

<figure><img src="/files/FWf4SMoEKsykRMCDyLjW" alt=""><figcaption></figcaption></figure>

Załóżmy, że mamy pulę nagród o wartości 1000 USD i że suma punktów uzyskanych w grze przez użytkowników wynosi 8000. Grając w naszą grę, uzyskaliśmy wynik 800, więc nasza wygrana zostanie obliczona w następujący sposób: 1000 \* 800 / 8000 = 100 USD

Gdybyśmy zgłosili naszą wygraną, gdy łączna liczba punktów uzyskanych w grze wynosiła 5000, a pula nagród wynosiłaby na przykład 800, otrzymalibyśmy: 800 \* 800 / 5000 = 128

Zatem decyzja o tym, kiedy odebrać swoją wygraną, jest decyzją strategiczną. Chcesz dostrzec moment, w którym łączny wynik uzyskany w grze nie jest zbyt wysoki, ale pula nagród jest wysoka. Całkowity wynik jest dostępny u góry strony gry, jak na powyższym obrazku (w piątej linii).

## Jak odebrać wygraną

* Przejdź do [strony gier](https://payswap.org/games) i znajdź swoją grę
* Przejdź do menu panelu sterowania gry i kliknij przycisk **Wynik procesu**. Nie możesz wypełnić formularza; wystarczy zatwierdzić transakcję, aby w kontrakcie gry zapisać wynik uzyskany w grze wcześniej. PaySwap zapyta o Twój wynik z API gry i wypełni formularz, abyś mógł go zatwierdzić.

<div><figure><img src="/files/WM1qzRvsLQKX1rWyWHW2" alt=""><figcaption></figcaption></figure> <figure><img src="/files/sEuWyTqz3BzaHzjRvLht" alt=""><figcaption></figcaption></figure></div>

* Powinieneś być w stanie zobaczyć całkowity wynik gry zaktualizowany o swój wynik. Następnym krokiem jest kliknięcie przycisku **Odbierz nagrody** w menu panelu sterowania. Potwierdź transakcję, aby odebrać nagrody i przenieść je do swojego portfela.\
  Możesz albo odebrać swoje nagrody od razu, albo poczekać, aż pula nagród powiększy się wraz z dołączeniem większej liczby graczy do gry i wykupieniem minut. Im większa pula nagród, tym więcej możesz wygrać, ale jest to nieco trudne, ponieważ jeśli nowym graczom uda się podnieść średni wynik w grze, może to zmniejszyć Twój udział w całkowitych zarobkach.\
  Zasadniczo musisz wybrać odpowiedni moment, aby odebrać swoje nagrody. Czy odbierzesz większą część mniejszej puli, czy mniejszą część większej puli?

## Jak zamienić każdą grę w grę, w której można zarobić

* Dodaj formularz na stronie gry, aby umożliwić użytkownikom aktualizację swoich wyników. Na przykładowym obrazku poniżej użytkownicy mogą wprowadzić swój identyfikator tokena gry i kliknąć przycisk Zapisz wynik, gdy tylko uzyskają zadowalający wynik, a gra zarejestruje jego wynik (zapisany pod nazwą **wynik**), a także czas rejestracji wyniku (zapisany pod nazwą **deadline**) oraz czas rozpoczęcia gry przez użytkownika (zapisany pod nazwą **starttime**) w bazie Firebase (możesz skorzystać z dowolnej bazy danych) ).\
  Upewnij się, że Twoje gry śledzą moment, w którym użytkownicy zaczynają grać w swoje gry (**starttime**), ponieważ ten parametr jest niezwykle ważny, aby użytkownicy mogli rejestrować wyniki tylko za zakupione minuty gry. Bez tego użytkownik może spędzać godziny na maksymalizacji swojego wyniku w określonej grze, a następnie po prostu kupić 1 minutę na stronie gier w serwisie PaySwap i wykorzystać ją do zarejestrowania wyniku. Dzięki parametrowi **starttime** będziemy w stanie wykryć rozbieżność pomiędzy zakupionymi minutami a faktycznymi minutami rozegranymi.

<figure><img src="/files/RfyEcrMdOqh0h6jtTnQE" alt=""><figcaption></figcaption></figure>

* Wdróż umowę na grę, wykonując powyższe kroki i pamiętaj o zaktualizowaniu informacji o grze za pomocą łącza API, które zwróci wyniki i terminy użytkowników
* W przypadku naszej gry Mario nasze łącze API to:\
  \[<https://firestore.googleapis.com/v1/projects/tiktok-a2bdb/databases/(default)/documents/c4/]\\(https://firestore.googleapis.com/v1/projects/tiktok-a2bdb/databases> /(domyślny)/documents/c4/1)
* Właśnie tym będziemy aktualizować naszą grę. Aby na przykład pobrać wynik i termin ID tokena nr 1, PaySwap po prostu doda identyfikator tokena nr 1 do zarejestrowanego przez nas łącza API, co da to\
  \[<https://firestore.googleapis.com/v1/projects/tiktok-a2bdb/databases/(default)/documents/c4/1]\\(https://firestore.googleapis.com/v1/projects/tiktok-a2bdb/> bazy danych/(domyślne)/documents/c4/1)\
  PaySwap po prostu dodaje identyfikator tokena użytkownika do łącza API, więc upewnij się, że zapisany link do interfejsu API ma końcowy ukośnik (/)\
  Zapytanie o ten punkt końcowy zwraca wynik i termin zarejestrowany dla tokenu ID 1 przez jego właściciela w następującym formacie. Upewnij się, że parametry czasu rozpoczęcia i ostatecznego terminu są zapisane w sekundach, a nie milisekundach

<figure><img src="/files/Wo2kH0bwqwHV9uIxQmqX" alt=""><figcaption></figcaption></figure>

Dopóki Twoje API będzie zgodne z powyższym formatem i zwróci obiekt w powyższym formacie, system nie powinien mieć problemu z aktualizacją informacji o wynikach użytkowników w łańcuchu bloków, co jest dla nich niezbędnym krokiem do zdobycia nagród.

Gratulacje, Twoja gra zawiera teraz element gry, w którym można zarobić!!! Twoi użytkownicy mogą teraz:

* \`zobacz swoją grę na [stronie gier](https://payswap.org/games)\&x20;
* kup w nim wystarczającą liczbę minut, aby mogli uzyskać najlepsze wyniki
* `aktualizuj swoje wyniki w swojej scentralizowanej bazie danych`
* użyj platformy PaySwap, aby zgłosić ten wynik do łańcucha bloków za pośrednictwem dostarczonego interfejsu API
* ubiegaj się o swoje zarobki, jeśli ich wyniki są wystarczająco wysokie

[Uzyskaj dalsze wsparcie od społeczności tutaj.](https://paychat.payswap.org/#/room/%23paycom%3Amatrix.org?via=matrix.org)
