Nazwa projektu:
Gra karciana AZI z elementami handlu i licytacji
Cel projektu:
Opracowanie mobilnej aplikacji wieloplatformowej do gry w grę karcianą Azi, opisaną w dostarczonych zasadach. Aplikacja powinna być dostępna na platformach iOS i Android oraz wspierać grę wieloosobową online.
Wymagania funkcjonalne:
- Autoryzacja i rejestracja:
- Możliwość rejestracji przez email, telefon lub przez media społecznościowe (Google, Apple, Facebook).
- Możliwość logowania się do konta za pomocą hasła, odcisku palca lub Face ID.
- Wsparcie dla gościnnego logowania bez rejestracji.
- Menu główne:
- Przycisk "Rozpocznij grę" do tworzenia lub dołączania do nowej gry.
- Przycisk "Ustawienia" do zarządzania parametrami gry i profilu.
- Przycisk "Zasady gry" do zapoznania się z zasadami.
- Przycisk "Sklep" do zakupu waluty w grze lub przedmiotów (jeśli przewidziane).
- Tryby gry:
- Gra wieloosobowa:
- Tryb online: Gra przez internet z innymi graczami.
- Trening: Tryb do nauki gry i treningu przeciwko AI bez zakładów.
- Rozdawanie kart:
- Automatyczne określenie rozdającego karty.
- Animacja tasowania talii i rozdawania kart.
- Wyświetlanie karty atutowej z animacją.
- Możliwość dla graczy rezygnacji z udziału w grze po odkryciu atutu.
- Handel:
- Interfejs do licytacji i podnoszenia stawek.
- Wsparcie dla handlu "w ciemno" i po odkryciu kart.
- Podświetlenie aktualnego ruchu i animacja dla podnoszenia stawek.
- Licytacja:
- Interfejs do wyboru kart do ruchu.
- Automatyczna weryfikacja zasad (obecność atutu, konieczność bicia atutem itd.).
- Liczenie lew i określenie zwycięzcy licytacji.
- Dodatkowe zasady:
- Realizacja zasady "rozmaitości" z odpowiednimi wskazówkami interfejsu.
- Możliwość zaproponowania "Azi" innym graczom, a także automatyczna weryfikacja spełnienia warunków.
- Interfejs użytkownika (UI):
- Intuicyjny i prosty interfejs z obsługą gestów.
- Projekt dostosowany do różnych rozmiarów ekranów.
- Wyświetlanie awatarów graczy, ich stawek i aktualnego stanu gry.
- Wizualizacja talii, atutu, stawek i lew.
- Dźwięk i muzyka:
- Muzyka w tle z możliwością wyłączenia.
- Efekty dźwiękowe dla tasowania kart, rozdawania, ruchu, licytacji itd.
- Możliwość wyboru pakietów dźwiękowych.
- Ustawienia:
- Ustawienia dźwięku i muzyki.
- Ustawienia wyświetlania (motyw, jasność, język itd.).
- Możliwość zarządzania powiadomieniami.
- Funkcje społeczne:
- Możliwość dodawania przyjaciół
- Czat do komunikacji z innymi graczami w trakcie gry.
- Możliwość wysyłania zaproszeń do gry przez media społecznościowe lub komunikatory.
- VIP stół na zaproszenie
- Sklep (opcjonalnie):
- Możliwość zakupu unikalnych awatarów, motywów i pakietów dźwiękowych.
- Integracja z platformami:
- Wsparcie synchronizacji przez chmurę (np. przez Google Play Games lub Apple Game Center).
- Wsparcie osiągnięć i rankingów.
- Dla VIP stołów oddzielne osiągnięcia i rankingi
Wymagania techniczne:
- Platformy:
- iOS: Wsparcie iOS 13 i wyżej.
- Android: Wsparcie Android 8 i wyżej.
- Rozwój:
- Rozwój na wieloplatformowych frameworkach, takich jak Flutter lub React Native.
- Użycie responsywnego designu dla wsparcia różnych rozmiarów ekranów.
- Zapewnienie stabilnej pracy aplikacji przy słabym połączeniu internetowym.
- Część serwerowa (dla trybu online):
- Zapewnienie bezpiecznego przesyłania danych (HTTPS).
- Użycie niezawodnych serwerów do przechowywania danych i organizacji meczów.
- Kopia zapasowa danych i możliwość przywrócenia gry w przypadku przerwania połączenia.
- Testowanie:
- Testowanie na różnych urządzeniach z różnymi wersjami systemu operacyjnego.
- Testy jednostkowe dla krytycznych funkcji.
- Testowanie interfejsu użytkownika i interakcji.
Wsparcie i aktualizacje:
- Wydanie i wsparcie:
- Publikacja aplikacji w App Store i Google Play.
- Zapewnienie regularnych aktualizacji z poprawkami błędów i ulepszeniami funkcjonalności.
- Wsparcie użytkowników przez system feedbacku w aplikacji.
- Aktualizacje:
- Okresowe aktualizacje z nowymi funkcjami, motywami i ulepszeniami.
- Zapewnienie kompatybilności z nowymi wersjami systemów iOS i Android.
Terminy realizacji:
Opracowanie aplikacji od podstaw do wydania w sklepach powinno zająć około 1-2 miesięcy, uwzględniając wszystkie etapy testowania.
Zasady gry:
Do gry używana jest talia składająca się z 27 kart, w której są 3 kolory. Każdy kolor reprezentowany jest przez karty od 6 do Asa. Kolory kart mogą być dowolne. Gra składa się z 2 etapów: rozdawania kart i licytacji. Przed rozpoczęciem gry każdy z graczy stawia na kon (na grę) wcześniej ustaloną kwotę pieniędzy. Na przykład, to 10 rubli. Następnie gracze rozdają karty.
Rozdawanie kart. Pierwszy rozdający karty jest określany przez losowanie. W kolejnych grach gracze rozdają karty na zmianę zgodnie z ruchem wskazówek zegara. Po określeniu rozdającego, talia jest starannie tasowana, dzielona na dwie części, gdzie górna część jest kładzione pod dolną, a każdemu graczowi rozdawane są 3 karty z góry talii. Ostatnia rozdana karta (powinna to być karta rozdającego) jest odkrywana przez rozdającego, a kolor tej karty staje się kolorem atutowym. Gracze, którzy po pokazaniu atutu nie chcą grać, ogłaszają to i odkładają swoje karty na stół. A ci, którzy zgodzili się grać, zaczynają grać.
Po rozdaniu kart. Gracze licytują w ciemno bez odkrytych kart. Licytacja zaczyna się od gracza, od którego zaczynała się rozdanie. Dla kolejnych graczy, którzy licytują w ciemno, stawka musi być podniesiona co najmniej 1,5 razy w porównaniu do poprzedniego gracza. Dla tych, którzy nie licytowali w ciemno, po odkryciu kart stawki złożone w ciemno są 2 razy wyższe.
Handel. Pierwszy zaczyna gracz, który siedzi po lewej stronie rozdającego. Musi on powiedzieć stawkę postawioną na kon wyżej niż ta, która leży na stole i jednocześnie położyć te pieniądze na stole. Jeśli nie chce podnieść stawki, to przepuszcza ruch. Podnoszenie stawki dozwolone jest nie więcej niż 3 razy dla wszystkich, którzy są w grze. Jeśli wszyscy gracze pasują oprócz jednego, to handel kończy się i zaczyna się licytacja.
Licytacja. Pierwszy ruch w pierwszej licytacji kart należy do gracza, który znajduje się po prawej stronie gracza, który wygrał handel. Ten gracz może położyć na stole swoją dowolną kartę, a każdy następny gracz zgodnie z ruchem wskazówek zegara musi położyć kartę tego samego koloru, a jeśli nie ma karty tego koloru, to musi położyć kartę atutową, a jeśli nie ma atutu, to może położyć dowolną kartę. Kiedy każdy gracz położy jedną swoją kartę, powstaje lewa z kart, którą zabiera gracz, który położył najwyższą kartę. Gracz, który pierwszy weźmie 2 lewy, zabiera wszystkie pieniądze postawione na kon. Jeśli żaden z graczy nie weźmie więcej niż 1 lewy, to oznacza to remis, który nazywa się Azi, po czym gracze, którzy w poprzedniej licytacji wzięli po 1 lewy, licytują kon. Gracz, który nie wziął w poprzedniej licytacji żadnej lewy, musi dla udziału w licytacji wnieść jeszcze połowę pieniędzy leżących na konie. Gracz, który nie brał udziału w licytacji, aby wziąć udział w nowej licytacji, musi postawić taką samą kwotę pieniędzy, co na kon. Rozdawanie kart w nowej licytacji przeprowadza rozdający, jeśli bierze udział w tej licytacji, jeśli nie, to karty rozdaje gracz, który wziął ostatnią lewę. Po rozdaniu kart odbywa się handel i licytacja zgodnie z zasadami opisanymi powyżej.
W grze istnieją 2 dodatkowe zasady:
Gracz, który ma atutowego Asa i 2 karty jednego koloru, ma prawo ogłosić «rozmaitość», co oznacza grę gracza mającego na celu uniemożliwienie innym graczom wzięcia dwóch lew, w takim przypadku gracz nie jest zobowiązany do bicia swoim atutowym Asą pierwszej karty ruchu przy braku karty tego koloru, ale jeśli w tym samym kolorze wykonany jest drugi ruch podczas licytacji lewy, to bicie Asą jest wtedy obowiązkowe.
Gracze mają prawo zapraszać się nawzajem na Azi, co oznacza grę graczy, która nie pozwala innym graczom wziąć więcej niż jedną lewę, a jeśli jeden z takich graczy wziął 2 lewy, to gracz kon nie zabiera, a bierze udział w powtórnej licytacji na prawach gracza, który wziął jedną lewę.
2.1 Dostęp do stołów VIP
Stoły VIP powinny być zamknięte dla zwykłych użytkowników:
Opis: Stoły VIP będą dostępne tylko dla użytkowników, którzy mają specjalne prawa dostępu.
Realizacja:
- Zwykli użytkownicy nie mogą dołączać do stołów VIP w liście dostępnych stołów.
- Przy próbie wejścia zwykłego użytkownika do stołu VIP, system powinien wyświetlać komunikat o zamknięciu stołu.
2.2 Początkowe wejście
Pierwsze wejście do stołów VIP tylko za zgodą administratora:
Opis: Aby wejść po raz pierwszy do stołu VIP, użytkownik musi uzyskać pozwolenie od administratora w mediach społecznościowych.
Realizacja:
- Po złożeniu wniosku o wejście do stołu VIP, system powinien wysłać powiadomienie do administratora.
- Administrator może zatwierdzić lub odrzucić wniosek przez interfejs administratora.
- Po zatwierdzeniu przez administratora użytkownik uzyskuje dostęp do stołu VIP.
2.3 Wydawanie żetonów
Żetony wydaje tylko administrator gry:
Opis: Żetony do gry przy stołach VIP wydawane są tylko przez administratora.
Realizacja:
- W interfejsie administratora powinna być możliwość wydawania żetonów użytkownikom znajdującym się przy stole VIP.
- System powinien wspierać śledzenie liczby wydanych żetonów oraz możliwość ich zwrotu.
2.4 Pełna kontrola nad administratorem
Pełna kontrola nad administratorem:
Opis: Administrator powinien mieć pełną kontrolę nad stołami VIP, w tym zarządzanie dostępem i żetonami.
Realizacja:
- Administrator powinien mieć dostęp do pełnej listy stołów VIP oraz użytkowników przy nich.
Administrator powinien mieć możliwość:
- Dodawania i usuwania użytkowników ze stołów VIP.
- Regulowania liczby żetonów dla każdego stołu VIP.
- Przeglądania historii działań i wydawania żetonów.
2.5 Rake
Rake od zakładów, w zakresie od 1 do 10 procent z krokiem 0.5:
Opis: W stołach VIP powinien być odliczany rake od zakładów, który ustala się w zakresie od 1% do 10% z krokiem 0.5%.
Realizacja:
- Administrator powinien mieć możliwość ustalenia procentu rake w zakresie od 1% do 10% z krokiem 0.5%.
- Rake powinien być automatycznie odliczany od każdego zakładu, dokonując odpowiednich obliczeń, po wygranej jednego z graczy.
- Administrator powinien widzieć informacje o bieżącym procencie rake i jego wpływie na zakłady.
- Użytkownicy nie powinni mieć dostępu do informacji o rake.
________________________________________
3. Wymagania techniczne
3.1 Bezpieczeństwo
Dostęp: Wszystkie działania związane z stołami VIP i ustawieniami rake powinny być dostępne tylko dla administratora.
Szyfrowanie: Dane o żetonach, rake i dostępie powinny być szyfrowane.
3.2 Interfejs
Interfejs administracyjny: Interfejs administratora powinien być wygodny do zarządzania stołami VIP, wydawania żetonów i ustawiania rake.
Ustawienie rake: Interfejs do ustalania i zmiany procentu rake powinien zawierać rozwijane menu lub suwak do wyboru wartości od 1% do 10% z krokiem 0.5%.
3.3 Logowanie
Rejestrowanie działań: Wszystkie działania związane z zarządzaniem stołami VIP, wydawaniem żetonów i ustawianiem rake powinny być rejestrowane do późniejszej analizy i audytu.
Zaloguj się
lub
zarejestruj się,
żeby zobaczyć oryginał