# πŸ“„πŸ›³οΈ Paper Battleship **Paper Battleship** is a Java-based networked version of the classic Battleship game, built using socket programming. It simulates the nostalgic feel of the paper-based game, now with two players connecting over a network and taking turns to attack each other's grid. ## 🎯 Features * Two-player turn-based gameplay over a network * Server-client architecture using Java Sockets * Console-based grid interaction * Hit/miss feedback and ship sinking notification * Simple and minimalistic design for learning and fun ## πŸ•ΉοΈ How to Play 1. **Start the Server** Run the `BattleShipServer` on one machine (or the host machine). 2. **Connect Two Clients** Run `BattleShipClient` on two separate terminals or machines. Each player enters the server's IP and port to connect. 3. **Gameplay** * Each player places their ships (can be manual or random depending on your implementation). * Players take turns entering grid coordinates like `A3`, `B7`, etc. * The game continues until one player sinks all of the opponent’s ships. ![image](Images/img.png) ## πŸš€ Getting Started ### Prerequisites * Java 8 or higher * Terminal or IDE (e.g., IntelliJ, Eclipse) ## πŸ“ Project Structure ``` PaperBattleShip/ β”œβ”€β”€ java/ β”‚ β”œβ”€β”€ Client/ β”‚ β”‚ β”œβ”€β”€ BattleShip.java β”‚ β”‚ β”œβ”€β”€ BattleShipCell.java β”‚ β”‚ β”œβ”€β”€ BattleShipClient.java β”‚ β”‚ β”œβ”€β”€ BattleShipClientNetworkHandler.java β”‚ β”‚ └── utils/ β”‚ β”‚ └── AnsiColor.java β”‚ └── Server/ β”‚ β”œβ”€β”€ BattleShipServer.java β”‚ └── ClientHandler.java