battleship-tui


Namebattleship-tui JSON
Version 0.25.0 PyPI version JSON
download
home_pagehttps://github.com/Klavionik/battleship-tui
SummaryBattleship TUI is an implementation of the popular paper-and-pen Battleship game for your terminal.
upload_time2024-12-26 12:14:22
maintainerNone
docs_urlNone
authorRoman Vlasenko
requires_python<3.14,>=3.10
licenseGPL-2.0-or-later
keywords battleship game tui
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Battle](screenshots/battle.png)
[![PyPI - Version](https://img.shields.io/pypi/v/battleship-tui)](https://pypi.org/project/battleship-tui)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/battleship-tui)
[<img src="https://uptime.klavionik.dev/api/badge/1/status?upLabel=online&downLabel=offline">](https://uptime.klavionik.dev/status/battleship)

# Battleship TUI
Battleship TUI is an implementation of the popular paper-and-pen Battleship game for 
your terminal. You can play against the computer or a real player via the Internet, 
customize game options and appearance, keep track of your achievements, and more.

> [!NOTE]
> Please consider this an alpha-version software. You can still use it and enjoy it
> but note that things may break and data might get lost. Feel free to fill in an issue
> if you've found a bug or have a question.

## Features
* Singleplayer mode  
* Multiplayer mode (via Internet)
* Customizable game rules
* Customizable UI
* Launch via CLI
* Game statistics

## Planned features
* Ranking system
* Account management

## Requirements
* A terminal (Windows PowerShell is fine too, see below)
* Python 3.10 or higher

> [!NOTE]
> If you're on Windows, **make sure** to install [the newer Windows Terminal](https://apps.microsoft.com/detail/9N0DX20HK701?hl=en-us&gl=US). 
> The older Windows PowerShell can't properly display some symbols. 

## Installation
If you're on Linux or macOS, most probably you already have Python installed. You can verify it by 
running `$ python --version`. If your Python version is lower than required, try installing the 
latest operating system updates.

If you're on Windows, you can download and install the latest Python release from the 
[official site](https://www.python.org/downloads/windows/).

The recommended way to install and update the game is via 
[pipx](https://pypa.github.io/pipx/) (especially if you don't know anything about 
virtual environments).

Install `pipx`, then install the game.

```shell
pipx install battleship-tui[client]
```

`battleship-tui` is merely a Python package and is distributed via PyPI. You can 
install it via `pip` too, but make sure it installs into a venv so that you're not 
messing with the system interpreter.

## Play
Once the game is installed you can use the `battleship` command to run it. This 
command will launch the user interface and present you with the main menu.

### Play via CLI
You can launch the game via CLI subcommands too, especially if you want to skip some 
in-game menus.

For example, if your favorite game mode is singleplayer, salvo variant, you can 
quickly get into battle by running `battleship play single --salvo`.

Run `battleship play --help` to discover available options.

## Multiplayer
You can play Battleship TUI with your friends or colleagues via the Internet. Choose 
**Multiplayer** option in the main menu to do this.

### Game account
You may sign up for a multiplayer account or try multiplayer with guest access.

To sign up, run `battleship account signup`. You'll be prompted with your email, 
desired nickname, and a password. Your nickname will be displayed in-game. It should 
contain 7 to 20 characters and be unique. Your password should contain at least 9 
characters.

> [!NOTE]
> Guests given an autogenerated nickname, their game statistics isn't saved. Guest 
> access will work until you log off.

> [!NOTE]
> At the moment, the user management is handled by Auth0. The game serve doesn't store 
> your credentials.

## Screenshots
<details>
<summary>Expand to see more screenshots</summary>

### Main menu
![Main menu](screenshots/main_menu.png)

### Game summary
![Summary](screenshots/summary.png)

### Starting a multiplayer session
![Awaiting](screenshots/multiplayer.png)

### List of game sessions to join
![Sessions](screenshots/sessions.png)
</details>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Klavionik/battleship-tui",
    "name": "battleship-tui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.10",
    "maintainer_email": null,
    "keywords": "battleship, game, tui",
    "author": "Roman Vlasenko",
    "author_email": "klavionik@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/93/05/ed4e7dea495ac0500a57b71184d0bb7614cecbb62c064ff5cecd3412ae0f/battleship_tui-0.25.0.tar.gz",
    "platform": null,
    "description": "![Battle](screenshots/battle.png)\n[![PyPI - Version](https://img.shields.io/pypi/v/battleship-tui)](https://pypi.org/project/battleship-tui)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/battleship-tui)\n[<img src=\"https://uptime.klavionik.dev/api/badge/1/status?upLabel=online&downLabel=offline\">](https://uptime.klavionik.dev/status/battleship)\n\n# Battleship TUI\nBattleship TUI is an implementation of the popular paper-and-pen Battleship game for \nyour terminal. You can play against the computer or a real player via the Internet, \ncustomize game options and appearance, keep track of your achievements, and more.\n\n> [!NOTE]\n> Please consider this an alpha-version software. You can still use it and enjoy it\n> but note that things may break and data might get lost. Feel free to fill in an issue\n> if you've found a bug or have a question.\n\n## Features\n* Singleplayer mode  \n* Multiplayer mode (via Internet)\n* Customizable game rules\n* Customizable UI\n* Launch via CLI\n* Game statistics\n\n## Planned features\n* Ranking system\n* Account management\n\n## Requirements\n* A terminal (Windows PowerShell is fine too, see below)\n* Python 3.10 or higher\n\n> [!NOTE]\n> If you're on Windows, **make sure** to install [the newer Windows Terminal](https://apps.microsoft.com/detail/9N0DX20HK701?hl=en-us&gl=US). \n> The older Windows PowerShell can't properly display some symbols. \n\n## Installation\nIf you're on Linux or macOS, most probably you already have Python installed. You can verify it by \nrunning `$ python --version`. If your Python version is lower than required, try installing the \nlatest operating system updates.\n\nIf you're on Windows, you can download and install the latest Python release from the \n[official site](https://www.python.org/downloads/windows/).\n\nThe recommended way to install and update the game is via \n[pipx](https://pypa.github.io/pipx/) (especially if you don't know anything about \nvirtual environments).\n\nInstall `pipx`, then install the game.\n\n```shell\npipx install battleship-tui[client]\n```\n\n`battleship-tui` is merely a Python package and is distributed via PyPI. You can \ninstall it via `pip` too, but make sure it installs into a venv so that you're not \nmessing with the system interpreter.\n\n## Play\nOnce the game is installed you can use the `battleship` command to run it. This \ncommand will launch the user interface and present you with the main menu.\n\n### Play via CLI\nYou can launch the game via CLI subcommands too, especially if you want to skip some \nin-game menus.\n\nFor example, if your favorite game mode is singleplayer, salvo variant, you can \nquickly get into battle by running `battleship play single --salvo`.\n\nRun `battleship play --help` to discover available options.\n\n## Multiplayer\nYou can play Battleship TUI with your friends or colleagues via the Internet. Choose \n**Multiplayer** option in the main menu to do this.\n\n### Game account\nYou may sign up for a multiplayer account or try multiplayer with guest access.\n\nTo sign up, run `battleship account signup`. You'll be prompted with your email, \ndesired nickname, and a password. Your nickname will be displayed in-game. It should \ncontain 7 to 20 characters and be unique. Your password should contain at least 9 \ncharacters.\n\n> [!NOTE]\n> Guests given an autogenerated nickname, their game statistics isn't saved. Guest \n> access will work until you log off.\n\n> [!NOTE]\n> At the moment, the user management is handled by Auth0. The game serve doesn't store \n> your credentials.\n\n## Screenshots\n<details>\n<summary>Expand to see more screenshots</summary>\n\n### Main menu\n![Main menu](screenshots/main_menu.png)\n\n### Game summary\n![Summary](screenshots/summary.png)\n\n### Starting a multiplayer session\n![Awaiting](screenshots/multiplayer.png)\n\n### List of game sessions to join\n![Sessions](screenshots/sessions.png)\n</details>\n",
    "bugtrack_url": null,
    "license": "GPL-2.0-or-later",
    "summary": "Battleship TUI is an implementation of the popular paper-and-pen Battleship game for your terminal.",
    "version": "0.25.0",
    "project_urls": {
        "Homepage": "https://github.com/Klavionik/battleship-tui"
    },
    "split_keywords": [
        "battleship",
        " game",
        " tui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc912dc721d84dbc5c0ea673242c390168d5a29492dad7eeed66addca4b66663",
                "md5": "df70428574cf89cf081c22f2d3104b98",
                "sha256": "bd396f7d1ae0dd081d6ec4c659c67f2a623d2c337a640f879c5da7ce26967489"
            },
            "downloads": -1,
            "filename": "battleship_tui-0.25.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "df70428574cf89cf081c22f2d3104b98",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.10",
            "size": 94830,
            "upload_time": "2024-12-26T12:14:20",
            "upload_time_iso_8601": "2024-12-26T12:14:20.174286Z",
            "url": "https://files.pythonhosted.org/packages/bc/91/2dc721d84dbc5c0ea673242c390168d5a29492dad7eeed66addca4b66663/battleship_tui-0.25.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9305ed4e7dea495ac0500a57b71184d0bb7614cecbb62c064ff5cecd3412ae0f",
                "md5": "848f8b41c7706c39a7f066082363e56a",
                "sha256": "a608a56eb066a594ab5af84a9af18dca3d4f94231690122da06fb436beb53bbf"
            },
            "downloads": -1,
            "filename": "battleship_tui-0.25.0.tar.gz",
            "has_sig": false,
            "md5_digest": "848f8b41c7706c39a7f066082363e56a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.10",
            "size": 68416,
            "upload_time": "2024-12-26T12:14:22",
            "upload_time_iso_8601": "2024-12-26T12:14:22.714702Z",
            "url": "https://files.pythonhosted.org/packages/93/05/ed4e7dea495ac0500a57b71184d0bb7614cecbb62c064ff5cecd3412ae0f/battleship_tui-0.25.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-26 12:14:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Klavionik",
    "github_project": "battleship-tui",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "battleship-tui"
}
        
Elapsed time: 0.50252s