Welcome Page

Table of Contents:

  1. Project Management
  1. Team Working Agreement
  2. Individual Responsibility Agreement
  3. Project Schedule
  4. Meeting Notes

 

  1. Business Plan
    1. User Identification and Interviews
    2. Electronic/Print Advertisement
    3. Pitch Video with Demonstration

 

  1. Software Documentation
    1. Introduction
    2. User Manual
    3. Program Description for Developers
    4. Final Algorithm, Flowchart, or Pseudocode
    5. Final Program with Comments
    6. Discussion
    7. Conclusions and Recommendations
    8. References

 

Executive Summary:

At Team E Game Development, we were given a task to create one or multiple games that can be played on the MATLAB interface. After doing research and debating, the team decided to create the classic card game Blackjack and Battleship. Our documentation will go into detail of Team E Game Development’s production of Blackjack on MATLAB. This includes the user manual which talks about how the program works, a program description explaining all the variables used in the game, a complete algorithm for the game, the finished game code with comments explaining what each section of code specifically does, a discussion explaining what was done to produce a functioning game, and a conclusion of the project and recommendations for what would be done differently now the game is finished.

 

During the final testing of the game, a few hands of Blackjack was played, where the game tester hit and the dealt card value was added to her initial hand value and she won, and another hand where she hit and busted. All parts of the game worked properly with no present errors. The very first step the team had to accomplish was to create a deck of cards as a matrix. Each card in the deck needed to be assigned a certain value since all of the face cards count as 10 and the aces can be 1 or 11 based on user input. Next, a “dealer” was made to deal out the starting hands to start the game. The player and the dealer each needed two initial cards, and the dealer needed one face up and the other face down. After the initial hands were dealt successfully, the part of the code that would allow the player to play out his hand by hitting or staying while adding the value of all of the cards in his hands together needed to be written. This step involved lots of user input functions and variables for the addition of the card values. The blackjack hands were then programmed, which consisted of a ten-value card and an ace which results in an instant win. Afterwards, busting had to be taken into account as well. Once the player’s hand was working properly, the dealer had to be programmed. This was done by making sure that the dealer hits whenever his hand is less than the player’s hand.  Once the game was working well, a for loop was added so that the user could continue to play for as long as he wishes. Betting was added to the game by allowing the user to type in any amount of money to bet and then win or lose depending how the hand played out.  The biggest obstacles involved programming aces to change value if the user wanted it to equal 11 instead of 1 and with the betting. The problem with the value of aces was fixed by using if statements to check for a dealt ace and then using an input and a series of sums to complete the user’s input. Betting was incorporated by creating a variable that was equal to the initial bet and another that represented a “running tab” of the player’s net earnings.

Overall, the Blackjack code was a success. When the final program was tested, all of the main components of the game worked very well with no apparent bugs. The team was able to add components to the game that they believed would not originally possible, but were efficient enough in coding to make it happen. Breaking down a big problem into several smaller problems was a great problem solving strategy because it made a daunting task more realistic and would produce the desired end result. If any changes were to be made, a deck of cards that has four graphically represented suits would have been added to ease readability and make it more like a card game. Unfortunately, the deck of cards was initially made without suits and graphics were not able to be efficiently programmed into the game due to time. Another recommendation to create this game more efficiently would be to plan out the program more before hand. Several unforeseen problems arose in the game while coding, so it threw the team off track. If these problems were planned for, they would have been expected and when they came up, it wouldn’t have been as overwhelming.