Skip to main content

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.json to 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

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.yaml contains the configuration for the game. This includes the board size
  • To edit the board size, change the board_size variable in config.yaml to an integer preferably less than 20
  • You can also change level of logging here by setting logging_level to one of DEBUG, INFO, WARNING, ERROR, CRITICAL, NOTSET

  • To edit the number or length of battleships add or edit new rows in battleships.txt with the format name_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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

battleships-pkg-epratt-1.0.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

battleships_pkg_epratt-1.0.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

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

Hashes for battleships-pkg-epratt-1.0.0.tar.gz
Algorithm Hash digest
SHA256 eb39412e6fd2f4f48929c059e2984f3489ce9e2b44c48cc282b9e25e79af6279
MD5 0d2d6a8f47a94e803974d642f63a6b7f
BLAKE2b-256 439d65692d71481bebb98f2e72f1469329015fc3c9f3042e48a79f2eb923cc2d

See more details on using hashes here.

File details

Details for the file battleships_pkg_epratt-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for battleships_pkg_epratt-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d07a04b2b58391fbe16e62db7aa59b61a5c46f12100d5d23176e5b3884cea83f
MD5 5c4735da1cb7fc4a4b4b9c756dc7722e
BLAKE2b-256 935cad9a0d152bb8e463491412819121ca46191803b0ac05935973cf6246d64f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page