Battleship

This is the first front-end project I ever made for the sole purpose of putting my skills and knowledge into practice. I included it in my portfolio to show the progress I've made since my first month of programming.

Technologies Used

  • React (JavaScript)
  • React Context API
  • HTML5
  • CSS
  • vanilla JavaScript

Project Inspiration and Purpose

I made this app so that I could develop my newly-acquired skills. I realized that the best way to improve as a programmer would be to create a game, and I thought creating a clone of Battleship would be a good start.

The Tech that Made it Happen

This app uses React, HTML, CSS, and vanilla JavaScript, because it is what I was learning at the time. I used this technologies to create this project to see if I enjoyed building with them. As it turns out: I did!

Challenges and Lessons

Although this project is incredibly simple and lacks originality in its overall concept, I gained a wealth of knowledge from building it. The biggest problem was designing the gameboard and figuring out how to setup the ships for each player. In the end, I determined that the user's experience would be best if I setup the ships for them. As a result, I created an algorithm that placed the differently-sized ships in random positions.

Check out my other projects

mindful.io

View Project

Creatures of Habit

View Project