Python project to write a cli version of the classic game battleships. Uses classes. Works as an API, called from a seperate file, only imports needed are the references. Started as a project to cement my knowledge of the MVC patten, python classes, OOP and parts of the python standard libaries.
Features: human player input to place ships (checks for valid ship placements) auto populate boards for computer players human readable boards separate boards to record moves taken cheat mode to see the computer player's board
To use the CLI front end, and play the game, install the module, then simply run
Battleships_api.CLIBattleships
eg.
py -m Battleships.CLIBattleships
This is the list of things that I think will end up with a reasonable working version of battleships. Please add to this list if you think of things that will be useful to the project.
- Documentation for the API!!
- Unittests
- Have ship placement done on an individual basis so that front end can control display of the board.
- Refactor winner method so that take shot returns simpler results. Winner should only return the winner not moves made as well.
- Highlight last incoming shot when displaying player board in cli
- Implement unit tests for public methods
- Build a web front end
- Use a framework such as Flask to make calls to the api according to GET and POST requests.
In the future I plan to rebuild this in c++ for the command line, and possibly Java to run as a back end to a web app.
Release files for Battleships-api 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Battleships_api-0.1.2.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Battleships_api-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.8 kB
Release files / Battleships_api-0.1.2.tar.gz
| Download URL | Battleships_api-0.1.2.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4979372730cefe66071c0e3d8c0df1d9d2bbfe789c40cb7aab3a1f3735904772
|
|
BLAKE2b-256 checksum How to use checksums |
f237f428155056feffe8b96cb90278100fc03d6bdc46434a2dd77ea64bc0c274
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
|
Release files / Battleships_api-0.1.2-py3-none-any.whl
| Download URL | Battleships_api-0.1.2-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fe2c8a10bbee523d23af0cea6b8dabca0276dc3e241773779186d7f81d73d69
|
|
BLAKE2b-256 checksum How to use checksums |
ca768c09f911dbfd7b0f83fdd4ae44b6ed109610863aa2e3562797d85e856066
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
|