Skip to content
Brandon Stewart edited this page Apr 15, 2018 · 2 revisions

Ideas for future features and fixes

Porting to python 3: Finished

This would be the simplest of the feature ideas to implement. It looks like the only issues here would be to fix the print statements. This is an issue for python 3 since python 3 handles print statements as functions instead of a keyword like python 2.7. This could go hand in hand with a refactoring of the code. We may also consider keeping the original python 2.7 script so there will be some backwards comparability version to use.

Code refactoring and cleanup

After porting to python 3, or during the port, we could clean up a lot of the formatting of the code to look cleaner and easier to read. It's important to start with this before we add any features as we want the code to be easier to manage as it grows in complexity.

Removing debug features: Finished

This is more of an issue than a feature, but I noticed that occasionally a debug line would print showing coordinates of an enemy ship. We should definitely remove this or add a debug setting to enable a debug mode. It would be too easy if we told the player where all the ships are!

Add error handling for certain invalid inputs: Finished

Again, more of an issue than a feature. When I first tried the game, I noticed that if you tried to input anything but numbers the program would just exit. This wouldn't be too hard of an issue to fix, and is certainly something that should be considered.

Add numbers to board: Finished

This is a big quality of game improvement that should be implemented. The board can be small and hard to read, and when you're dealing with a ten by ten grid it would be much easier to find coordinates if we added numbers to the sides of each row and column. Especially considering that most people aren't programmers and would consider the count to start at one instead of zero.

Start new game without exiting program

This would be a fairly straight forward addition to the program. Just by having a little y/n at the end asking if the player would like to play another game. Some users may be put off by having to relaunch the program every time instead of simply being able to play again.

Add ability for player to place their battleships

This may be a more challenging feature to implement. However, A big part of battleship is being able to place your ships. It's a key part of the game, and something that is definitely missing from the experience. This feature could take a lot longer to implement than some of the others, which is why I've placed it near the bottom of the ideas.

Two player mode

This would be the most difficult feature to implement, though it would be a really nice feature to add. This is certainly a feature that is on the outside of the scope for this program. It would probably take an even bigger restructuring of the code as we would have to change how we handle certain aspects of interaction. As well as handle two players on one screen. I think for this aspect we would trust the other players not to screen peak.

Edit Readme

Now that We've implemented the Python 3 port, we should change the Readme to reflect this.