/boatattack

Definitely not* a version of the game "Battleship"

Primary LanguageRubyMIT LicenseMIT

Build Status Codecov v0.1.0

Boat Attack

This is a clone of the popular two-player naval boat-combat-blind-attacking-with-cannons-on-a-coordinate-grid game, that is most definitely not infringing on any copyrights of "Battleship", as written from scratch by me, based on notes about the rules of the game. (see Wikipedia and the original challenge from Dev Bootcamp.)

This is intended to be nothing more than a fun solo project for coding practice.

I intend to work out the game logic as a text-based terminal command-line interface, then add Rails and Javascript browser-based interface.

I intend to practice Agile workflow and good Git hygiene as if this were a team project, although I'll be working by myself.

Trello board for this project

This is still very much a work in progress.

Getting Started

Install Ruby, clone this repo,

git clone https://github.com/benedictify/boat-attack.git

and then run

ruby runner.rb

Prerequisites

Install the latest version of Ruby. There are several methods available to do this. Two package managers are RVM and rbenv. I use rbenv. If you don't already have it, you will need to install Homebrew as well. (Find it here and follow their instructions to install.)

With Homebrew installed, to install rbenv, simply type

brew install rbenv

Then to install a version of Ruby, you can get a current list of available versions,

rbenv install -l

And then install your chosen version. Pick one that starts with just numbers. At this time the latest stable version is 2.4.2

rbenv install 2.4.2

Installing

Nothing special about the development environment at this time, the program is pretty simple.

Running the tests

The test suite is written in RSpec, the full suite can be run with

rspec

in the main project folder.

Lessons learned

Battleblog! (on medium.com)

Additional Resources

Command-line challenge format borrowed from Dev Bootcamp (Chicago Salamanders 2016), see the original challenge readme

Versioning

We use SemVer for versioning.

Authors

License

This project is licensed under the MIT License - see the License file for details