Skip to content
Mike and Russell's final project for Lighthouse Labs: Battleship with a twist
JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build
docs
src
webpack
.babelrc.js
.gitignore
LICENSE
README.md
index.html
package-lock.json
package.json
server.js

README.md

Pirate Battleship!

—You sank my pirate ship.

Final Product

Key features:

  1. Play against the Kraken in this single-player Battleship clone
  2. Three different difficulty levels, set according to a basic probabilistic hit algorithm.
  3. Phaser 3/React front-end with socket-connected API server for Kraken shot logic.

Key learnings:

  1. Identified mission-critical functions and articulate the issues to discuss progress and contingency with mentors (project management).
  2. Adapted validation over supervisory approach Working with remote mentor with experience in our gaming library.
  3. Manage teams productivity and rebound from hurdles.
  4. Focus on implementation: value effectiveness over being right.
  5. Continuous deployment with Heroku

Future features:

  1. Voice commands
  2. Reinforcement learning via a separate API

Mobile View

New Game

"New Game Mobile"

Playing a Game

"Game in progress"

Desktop View

New Game

"New Game"

Game Board

"Game Board"

Playing a Game

"Playing a game"

Victory

"Victory"

Project Setup

Built With

  • Phaser - Front-ender
  • React - control front-end render and display
  • socket.io - Sockets
  • jQuery - simple rendering page for /GET route to serve the server stateic file
  • Heroku - continuous deployment

Dependencies

  • node
  • express
  • nodemon devDependencies
  • Phaser 3
  • React

Installation

  1. Clone this repo (the “client” repo).

  2. Clone the battleship-server repo (the “server” repo).

  3. Install node dependencies in both the server and client directories: npm install

  4. Start the server using npm run watch. The server console should say Listening on port 8001 in development mode. Note: nodemon is used, so you should not have to restart this server

  5. Start the client: npm run watch. The default port is 8080.

  6. Open a new browser window and enter the local host with your port.

http://localhost:8080/
  1. Have fun blowing ships up! Press Q or E to see fiery explosions.

Testing

  • Manual console.logs
  • React Developer Tools for Google Chrome

Contributing

As this is a student project there is currently no process for submitting pull requests.

Versioning

  • SemVer for versioning: version 1.0.0.

Authors

License

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

Credits

You can’t perform that action at this time.