Assignment: Recreate the classic battleship board game in Python. The game must be playable between two players and have some sort of UI.

I worked with two classmates to create Battleship in Python as our final project for our intro CS class. The player places their own ships on the board, before playing against a computer algorithm that shoots "intelligently". This algorithm shoots at random until a ship is hit. Then, it shoots in the adjacent cells until it hits the same ship, then continues to shoot in that direction. If the ship isn't sunk, the algorithm switches to the opposite directions to finish it off. This project was made in PyCharm CE, and can be downloaded from GitHub here.


A video playthrough is shown below.