This is the home of MATLAB Battleship created by ENGR 1181 Group C.
Table of Contents
Project Management
Business Plan
Software Documentation
- Introduction
- User Manual
- Program Description For Developers
- Final Algorithm, Flowchart, or Pseudocode
- Final Program with Comments
- Discussion
- Conclusions and Recommendations
- References
Executive Summary
The purpose of the software design project was to challenge groups to apply the programming and problem-solving skills they’d developed throughout the course to create a user-friendly game in MATLAB. The project was also aimed at enhancing each teams’ business and entrepreneurial skills, as teams were challenged to consider a real world audience while developing their games. This included creating pitch videos to advertise their game’s value to various stakeholders. Additionally, the project strengthened each team’s time management, cooperative, and communicative skills as these were essential to successfully executing the assignment.
For the software design project in Engineering 1181, the students were asked to code one complex game or several simpler games for their software design project. They were then instructed to make pitch videos in an attempt to convince developers and users to invest in their game. Group C chose to code the classic board game “Battleship”. Battleship is a simple turn-based strategy game that requires the two players (in this version it is AI only) to place their ships on the board and take turns guessing where the opponents’ ships are. If the player guesses correctly that ship is marked as a hit. The first one to get hit all the spots on all of the opponent’s ships wins and shouts “I sunk your battleship!”
To create this game in MATLAB, the team first created a pseudocode outline. Then, the team shared a file in MATLAB and began to code the game. Coding the complex game of Battleship required the team to apply many of the MATLAB skills taught in Engineering 1181. These skills included initializing and utilizing variables, using while loops, conditional statements, and more.
The first thing that needed to be done was a flowchart, which allowed the coders to have a thought process for what they needed to code. Throughout the coding process, the team ran into several problems with combining their chunks of code but eventually resolved any bugs that they ran into. The team tested different ship configurations and different places the player could click to eliminate as many bugs as they could find. Once the coding was complete two PowerPoint slideshows were completed and the team presented the information in the PowerPoint to both developers and users. The videos have been added to the site.
Problem-solving was a critical part of the coding process. As the team progressed, the code was tested often to ensure that each section functioned as intended. Whenever an error was found, the team worked together to reorganize and debug the code. If one team member noticed an aspect of the code that wasn’t working properly, the rest of the group was notified, and the team collaborated until they developed a solution.
By the conclusion of this project, Group C successfully created the code for the game ‘Battleship’ in MATLAB, completed the corresponding documentation, and developed three pitch videos to accompany the game. After completing all portions of this project, the team emerged with enhanced coding, problem-solving, entrepreneurial, writing, and teamwork skills.