Giter Site home page Giter Site logo

barebones-battleships's Introduction

Battleships Spike Exercise

I wanted to see if I could express a simple view of the essential components of a battleships game. This does give a playable game, although it is not a complete game

Problems

  • no error checking of user input. Game will crash with bad input
  • placing a ship down does not work properly (cell coordinates get switched)
  • ships can overlap, and cells can be shot at more than once

Key simplifications are

  • The opponents tracking view of your board is your view with some information removed
  • You don't need to keep track of the ships after they are placed, you just need to count the number of unhit ship cells. When this reaches zero on your board, you lose. This makes the ships look like data, rather than a class.
  • Keep grid references all numerical, then an array is enough structure for the cell grid
  • Organising cells by rows and columns simplifies the handling of the grid (placing of the ship, shooting and the display)
  • Easiest to place ships when initializing board

barebones-battleships's People

Contributors

chandley avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.