{"id":26593742,"url":"https://github.com/shvoruk/battleship","last_synced_at":"2025-03-23T15:20:12.407Z","repository":{"id":280447861,"uuid":"942024515","full_name":"Shvoruk/Battleship","owner":"Shvoruk","description":"A Java Console Battleship Game: A feature-rich console-based Battleship game built with Java 23, featuring flexible board sizes, customizable ship configurations, dual-player modes (human vs. human and human vs. computer), move history, and full game replay functionality. Packaged with Maven and Docker.","archived":false,"fork":false,"pushed_at":"2025-03-17T14:45:05.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T15:44:47.671Z","etag":null,"topics":["battleship-game","docker","game","java","junit","maven","project"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shvoruk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-03T12:58:15.000Z","updated_at":"2025-03-17T14:45:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"ed0c23ce-383b-483c-86d6-13f368f8d1f8","html_url":"https://github.com/Shvoruk/Battleship","commit_stats":null,"previous_names":["shvoruk/battleship"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shvoruk%2FBattleship","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shvoruk%2FBattleship/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shvoruk%2FBattleship/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shvoruk%2FBattleship/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shvoruk","download_url":"https://codeload.github.com/Shvoruk/Battleship/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245120166,"owners_count":20563866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["battleship-game","docker","game","java","junit","maven","project"],"created_at":"2025-03-23T15:20:11.222Z","updated_at":"2025-03-23T15:20:12.302Z","avatar_url":"https://github.com/Shvoruk.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Battleship Game\n\n[![License](https://img.shields.io/github/license/Shvoruk/Battleship.svg?style=rounde)](https://github.com/Shvoruk/Battleship/blob/master/LICENSE) \n[![Releases](https://img.shields.io/github/release/Shvoruk/Battleship/all.svg?include_prereleases\u0026style=rounded)](https://github.com/Shvoruk/Battleship/releases) \n![Master Build Status](https://img.shields.io/github/actions/workflow/status/Shvoruk/Battleship/main.yml?branch=master)\n\n## ⚓️ About the Project\n\n**Battleship** is a console-based strategy game built with **Java 23**, designed to recreate the classic Battleship experience while introducing enhanced gameplay mechanics. The game supports both:\n- **Single-player mode** (against computer with randomised shot selection)\n- **Multiplayer mode** (two players on the same machine)\n\nThe game features **flexible board sizes and customisable ship configurations**. If you wish to introduce a new game mode, you can simply extend the `GameMode` class and configure its board size and ship fleet to suit your preferences.\n\nCurrently, the game offers:\n\n- **Sea Mode (10×10 board, standard fleet)**\n- **Ocean Mode (20×20 board, extended fleet for longer battles)**\n\nThis project is **still under development**, and new changes may be introduced in future updates. However, the current version is fully playable and implements all core mechanics.\n\n## 🎣 Features\n\n- Turn-based gameplay with an interactive board display\n- Two game modes: Sea (10×10) and Ocean (20×20)\n- Single-player mode (against computer with random shot selection)\n- Multiplayer mode (two players on the same machine)\n- Replay functionality for reviewing entire matches move-by-move\n- \"Extra Turn on Hit\" rule, allowing a player to fire again if they hit a ship\n- Packaged with Maven and Docker, the game is easy to set up and deploy across different systems.\n\n## 🛠️ Installation \u0026 Setup\n\n### Requirements\n\nBefore running the game, ensure you have the following installed on your machine:\n\n\n- ![Java](https://img.shields.io/badge/Java-ED8B00?logo=openjdk\u0026logoColor=white\u0026style=flat) **Java Development Kit (JDK 23) (for running the game directly)**\n- ![Maven](https://img.shields.io/badge/Maven-C71A36?logo=apachemaven\u0026logoColor=white\u0026style=flat) **Apache Maven (for building the project)**\n- ![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker\u0026logoColor=white\u0026style=flat) **Docker (if you choose to use the Docker setup)**\n- ![Git](https://img.shields.io/badge/Git-F05032?logo=git\u0026logoColor=white\u0026style=flat) **Git (for cloning the repository)**\n\n### Using Maven\n\nTo get started with the game, follow these steps:\n\n1. **Clone the Repository**\n   ```sh\n   git clone https://github.com/Shvoruk/Battleship\n2. **Navigate to the Project directory**\n   ```sh\n   cd Battleship\n3. **Build the Project**\n   ```sh\n   mvn clean package\n4. **Run the Game**\n   ```sh\n   java -jar target/Battleship-1.0.0.jar\n\n### Using Docker\n\n3. **Build the Docker Image**\n   ```sh\n   docker build -t battleship .\n4. **Run the Container**\n   ```sh\n   docker run -it battleship\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshvoruk%2Fbattleship","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshvoruk%2Fbattleship","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshvoruk%2Fbattleship/lists"}