A battleships game built for the module ECM1400 at the University of Exeter.
Project description
ECM1400-Battleships-Coursework
Introduction
This is the repository for the ECM1400 Battleships Coursework. The aim of this project is to create a Battleships game in Python. The game will have multiple ways to play, either in a console or with a web interface.
Prerequisites
- Python 3.11
Installation
- Clone the repository
- RUN
pip install -r requirements.txt
Getting Started
For Simple Game
- RUN
python game_engine.py -c
For Command Line Game against AI
- EDIT
placement.jsonto change where your ships will be placed - Format of {"Ship_Name": ["X_coord", "Y_coord", "direction either v or h"]}
- RUN
python mp_game_engine.py -c
For Web Game against AI
- RUN
python main.py - Then go to https://127.0.0.1/placement in your browser
Testing
- RUN
pytest
Developer Documentation
Accessing Logs
- Logs for the games are stored in
battleships.log
Sphinx/Autodoc
To access the sphinx autodoc documentation, open docs/build/html/index.html in your browser or
visit https://edguardia.github.io/ECM1400-Battleships-Coursework/
Config Documentation
config.yamlcontains the configuration for the game. This includes the board size- To edit the board size, change the
board_sizevariable inconfig.yamlto an integer preferably less than 20 - You can also change level of logging here by setting
logging_levelto one ofDEBUG, INFO, WARNING, ERROR, CRITICAL, NOTSET
- To edit the number or length of battleships add or edit new rows in
battleships.txtwith the formatname_of_ship, length_of_ship
Details
Authors
- Edward Pratt
Licence
- GPL-3.0
Source
https://github.com/Edguardia/ECM1400-Battleships-Coursework
Documentation
https://edguardia.github.io/ECM1400-Battleships-Coursework
Self Assessment
Complete Features
- components.py tasks
- Simple Placement
- Random Placement
- Custom Placement
- game_engine.py tasks
- mp_game_engine.py tasks
- main.py (FLASK) tasks
- Logging tasks
- Code Styling
- Project Delivery
- Sphinx Documentation
- Hosting on GitHub
- Input Validation
Partially Complete Features
- Difficulty Levels
- AI has been slightly improved to stop it hitting the same squared twice
- Testing
- Most of the testing has been written
- Not all custom functions have written tests
- Config Files
- Config files have been implemented but not for all features user could choose
Incomplete Features
- Multi-Player Interface
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file battleships-pkg-epratt-1.0.0.tar.gz.
File metadata
- Download URL: battleships-pkg-epratt-1.0.0.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb39412e6fd2f4f48929c059e2984f3489ce9e2b44c48cc282b9e25e79af6279
|
|
| MD5 |
0d2d6a8f47a94e803974d642f63a6b7f
|
|
| BLAKE2b-256 |
439d65692d71481bebb98f2e72f1469329015fc3c9f3042e48a79f2eb923cc2d
|
File details
Details for the file battleships_pkg_epratt-1.0.0-py3-none-any.whl.
File metadata
- Download URL: battleships_pkg_epratt-1.0.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d07a04b2b58391fbe16e62db7aa59b61a5c46f12100d5d23176e5b3884cea83f
|
|
| MD5 |
5c4735da1cb7fc4a4b4b9c756dc7722e
|
|
| BLAKE2b-256 |
935cad9a0d152bb8e463491412819121ca46191803b0ac05935973cf6246d64f
|