The image is from Am I responsive?
Pre-reqs: Loops, Strings, Arrays, 2D Arrays, Global Variables, Methods.
How it will work:
- A 10x10 grid will have 3 ships of variable length randomly placed about.
- Users can sink the ship(s) completely by guessing the words from a given list.
- If all ships are unearthed before using up all bullets, you win else, you lose (feature still on pending).
I aimed to integrate ease-of-use concept despite the limitation of the CLI.
- Over 18s only since this is a violent game.
- Learn about coordinates.
- Test their intuition.
- Provide entertainment.
- As the owner, I want the game to be fun and innovative.
- As the owner, I want the game to be educational.
- As the owner, I want to show my new learned skills with Python.
- As a new visitor, I want to easily navigate the terminal to play the game.
- As a visitor, I want to be able to exit the game when I get tired of playing.
The Game consists of only 1 page which is the terminal page. I am using Python to generate the data and create the game.
- The terminal game is not responsive and is only one page therefore wireframes were not needed this time.
To achieve my goal, I included the following features in my game:
- A grid with randomised battleships placed either horizontally or vertically.
- Limited number of shots to take.
- Scrabble concept added to improve interactivity.
In the future, I would like to develop this game to include the following features:
- A timer to add pressure to the player.
- A two player option so people can play online with other human users.
- A more interactive word hit coordinates features.
The game is designed using CLI so the outlook is very basic.
- This project integrates basic python concepts such as: Loops; Strings; Arrays; 2D Arrays; Global Variables; Methods.
- The following platforms have been used:
- Gitpod for writing code to develop this game.
- Github Was used for hosting my repository and this readme file.
- Heroku for deployment.
- pep8online.com for validating my code and check for errors.
As a user/player, the game shall be easy to navigate in the terminal.
- The battle grid appears as soon as the game starts.
- The player has to select the coordinates to take down the battleships and guess the word at the end to completely sink the ships.
- pep8online.com is used to confirm my code.
- python3 run.py has been used intensively during the creation of this game.
- Automatic set up on Heroku which should allow me to see how the end product of the game from the code I created. However, errors occured which meant I had to abandon the development.
To ensure that a broad range of users can successfully view/use the site, I tested it across all major browsers on both desktop and mobile.
- Chrome
- Mozila Firefox
- Edge
- Internet explorer
- Safari Although this is a web app it is visible on a mobile and tablets, even though it is not responsive.
This project was developed using Gitpod, committed to git and pushed to GitHub using git commands. You can clone this repository Here
To deploy this page to Heroku from GitHub repository, the following steps were taken:
- In the Heroku dashboard I selected 'New' in the top right hand corner and clicked on 'Create new app'.
- Then I Created the App name and Choose my region as Europe. Then selected 'Create app'
- Then I selected Settings tab, and scrolled down to 'Buildpacks'. Here I added 'Python' clicked saved changes and then selected 'Node.js' and saved my changes again.
- On top of the page I clicked on the 'Deploy' section, and I selected Github as my deployment method.
- Then I selected 'Connect to Github, and searched for my repository name and clicked on 'Connect' to link my Heroku app to my Github repository code.
- Scrolling down I have selected 'Enable Automatic Deploys' and after this I selected 'Deploy Branch' to deploy my project. I had to wait for it to build.
- After it has successfully deployed a 'view' button appeared which took me to my deployed app.
- Austin Montgomery
- I have used S. Mengel's materials from l'École polytechnique in Paris to better understand how to create a battleship game.
- I have watched the following videos for inspiration:
- My Mentor Guido Cecilio Garcia Bernal was extremely helpful in breaking all the steps down for me and answering any questions I had, especially those concerning randomising words to add to the battleship game.
- I have been fortunate to get useful pointers from Code Institute's tutoring team, which I am grateful for.
- Thanks to Twilio Blog for a thorough explanation on how to work with Google Spreadsheets and Python.
- Stack Overflow
- Stack Overflow
- devpost