Matlab Blackjack Report

From ENGR005_2012
Revision as of 19:40, 12 December 2012 by Mhirsh1 (Talk | contribs) (Completed Project Design)

Jump to: navigation, search

By: Maxwell Sacks & Matthew Hirsh

Table of Contents


Blackjack is one of the most popular card games in the world with relatively simple rules. The player must try to beat the dealer by having a higher score without going over 21 points. In this project, are goal was to recreate a blackjack simulator. First we read about the casino rules for blackjack where the player is against the dealer. Next, we planned out our project by thinking of what programs we would need to make and implement. After we had written all the programs, we did many test and added more lines of code to make sure that everything was working properly.


Our main goal for this final project was to create an accurate Blackjack simulator. Understanding how to efficiently and effectively use Matlab was often frustrating through the year, so we wanted to use this final project as a way to get extra practice with the program. We wanted to better understand coding techniques and thought making a game like blackjack would be a fun way to do so. Since blackjack is a betting game, we thought it would be interesting to create a simulator where we can bet chips instead.


Extended Rules of Blackjack

As briefly mentioned, in order to win blackjack against a dealer, the player must have more points than the dealer without going over 21 points. The player and dealer are both felt two cards but only one of the dealer's is faced up initially. Cards are worth their number value with jacks through kings also being ten points and aces can be eleven or one points depending on which works better. First, it it the player's turn and the user can decide to hit (get another card) or stand (end their turn). If the player goes over 21 points, he/she busts and automatically loses. Otherwise, it will then be the dealer's turn who will flip over his second card and must continue to hit until he either busts or has 17 points or greater. If neither the player or dealer bust, then the winner is the person with more points and that person will win the bet. It the player gets a blackjack, which is a ten-value card along with an ace, the player automatically wins 1.5 times his bet. If the player and dealer tie a round, then the bet is split and nobody loses or gains money.

Programming Ideas

After fully understanding the rules of blackjack, it immediately became clear than many if statements and while loops were going to be needed. If and else if statement will only execute if specific conditions are met, otherwise the program will skip that portion of the code. This is important because, for example, we would want the round to end right away if the player goes over 21 points because there would be no use in having the dealer go though his turn if that condition is met. While loops are indefinite loops that will continue to execute until certain conditions are changed. These were also important to the coding progress because, for example, when we ask the user to input a bet, a while loop will continue to ask the user for a valid bet until the bet is greater than the minimum bet but less than the total number of chips the player has.

Completed Project Design

From the outermost level, the blackjack simulator we created is one giant while loop. The conditions for the while loop to end are if the user does not have enough chips to make the minimum bet, has over 1,000,000 chips, or if the user types in 0 for the bet. Each run through the while loop will execute one individual round of black jack. before this main while loop, the program will call an intro function which will inform the player about the rules for playing and will identify how many chips the player starts with. The first function inside the loop is a 'getbet' function. This function