{"id":19795273,"url":"https://github.com/spliterash/rockpaperscissors","last_synced_at":"2026-05-14T06:33:16.556Z","repository":{"id":182405358,"uuid":"668420301","full_name":"Spliterash/RockPaperScissors","owner":"Spliterash","description":"Implementation of the game on the spring and kryonet stack","archived":false,"fork":false,"pushed_at":"2023-07-19T19:24:11.000Z","size":92,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T16:07:28.324Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Spliterash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-19T19:05:27.000Z","updated_at":"2023-07-19T19:25:09.000Z","dependencies_parsed_at":"2023-07-19T21:43:45.876Z","dependency_job_id":null,"html_url":"https://github.com/Spliterash/RockPaperScissors","commit_stats":null,"previous_names":["spliterash/rockpaperscissors"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Spliterash/RockPaperScissors","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spliterash%2FRockPaperScissors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spliterash%2FRockPaperScissors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spliterash%2FRockPaperScissors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spliterash%2FRockPaperScissors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Spliterash","download_url":"https://codeload.github.com/Spliterash/RockPaperScissors/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spliterash%2FRockPaperScissors/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33013272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T07:15:54.841Z","updated_at":"2026-05-14T06:33:16.543Z","avatar_url":"https://github.com/Spliterash.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Камень Ножницы Бумага Enterprise Edition\n\nНебольшой проект реализующий игру камень ножницы бумага на стеке Spring, Spring JDBC, MySQL, KryoNet.\n\nСостоит из двух частей, сервер и клиент\n\nДля запуска сервера достаточно всего лишь собрать проект командой `gradlew build`, а затем запустить файл server.bat или\nserver.sh в папке docker. Он просто запустит docker-compose с базой данных и сервером\n\nЧтобы запустить клиент, достаточно запустить файл client.sh\n\n## Этапы игры:\n\n### Этап SignUp/SignIn\n\nКогда игрок не подключен к серверу, он находится на начальных этапах SignUp/SignIn\nодновременно. В зависимости от того, какую команду он введёт, будет либо\nпроизведена регистрация, либо авторизация.\nЕсли игрок регистрируется, то после этого он попадает обратно на начальный этап\n\n### SignUp/SignIn.\n\nДалее он может авторизоваться в игре по данным, которые он использовал для\nрегистрации.\nВ момент регистрации должно устанавливаться соединение с игровым сервером по\nпротоколу TCP. После того, как запрос на регистрацию был обработан клиент должен\nбыть отключен от сервера. Был ли запрос успешным или нет - это не важно.\nВ момент авторизации, если учётные данные были верными, игрок либо попадает на\nЭтап Menu, либо на один из этапов Game Step. Это зависит от того, была ли у него уже\nзапущена какая-либо игра.\n\n### Этап Menu\n\nНа этом этапе можно либо отключиться от сервера, воспользовавшись командой\nlogout, либо начать новую игру через команду start.\nПри вводе команды start игрок попадает на этап Game Step 1.\n\n### Этапы Game Step 1, Game Step 2, Game Step 3\n\nНа данных этапах происходит сама игра. Игрок первым выбирает какой из предметов\nон будет использовать. Это делается через ввод команд rock, paper, scissors. В ответ\nсервер отправляет свой вариант и объявляет о том, кто выиграл на данном этапе -\nигрок или сервер.\nМожно использовать команду logout, чтобы отключиться от сервера.\nНа каждый этап даётся по 30 секунд времени. Если игрок за это время не выбрал свой\nпредмет, то он проигрывает и переходит на следующий этап.\nСервер предупреждает об оставшемся времени в те моменты, когда остаётся 30, 15, 5,\n3 и 1 секунда до конца хода. Так же можно запросить предупреждение командой timer.\nЕсли игрок отключается каким-либо образом от сервера в момент нахождения на\nодном из этапов Game Step, то таймер перестаёт тикать. При повторном входе в игру,\nтаймер продолжает отсчёт. После завершения 3 раунда, сервер подводит итоги, и через 5 секунд выкидывает игрока обратно в\nменю. Во время этого отсчёта он может разлогиниться командой logout\n\n# Список доступных команд клиенту:\n\n* Signup - регистрация игрока\n  * Формат команды: `signup=\u003clogin\u003e=\u003cpassword\u003e`\n* Signin - авторизация игрока\n  * Формат команды: `signin=\u003clogin\u003e=\u003cpassword\u003e`\n* Start - начать игру\n  * Формат команды: `start`\n* Logout - отключиться от сервера\n  * Формат команды: `logout`\n* Timer - Узнать сколько времени осталось до конца хода\n  * Формат команды: `timer`\n* Rock - камень\n  * Формат команды: `rock`\n* Paper - бумага\n  * Формат команды: `paper`\n* Scissors - ножницы\n  * Формат команды: `scissors`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspliterash%2Frockpaperscissors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspliterash%2Frockpaperscissors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspliterash%2Frockpaperscissors/lists"}