Computer Science Independent Project #2 – Blackjack

Project: Blackjack

This project will take you off-platform and get you started in your own developer environment! Never done that before? Not to worry - we’ve shared some resources to help you down below. This project can be completed entirely on your own - or, you can join our Community on Discord and find someone to work with! Jump to the community support section to hear more about this.

The project is broken down into a set of user stories for you to follow. User stories are likely something you will see more and more of as you progress in your journey as a developer. They are short, simple descriptions of a feature told from the perspective of the individual using that feature. The goal of each user story is to describe to you, the developer, what the feature or application needs to do, while providing you with enough flexibility to determine the best way to make that happen.

Overview

Objective

Build a console application that allows the user to play blackjack versus a computer dealer.

Pre-requisites

In order to complete this project, we suggest that you have familiarity with the content in the following courses or lessons from the Codecademy Computer Science Path:

  1. Milestone 1

  2. Syntax

  3. Functions

  4. Milestone 2

  5. Command line

  6. Milestone 3

  7. Control flow

  8. Lists introduction`

  9. Lists continued

  10. Loops

  11. Milestone 5

  12. Strings introduction

  13. Strings continued

  14. Dictionaries introduction

  15. Dictionaries continued

  16. Classes

  17. Inheritance and Polymorphism

  18. Milestone 7

  19. Nodes introduction

  20. Nodes continued

  21. Stacks introduction

  22. Stacks continued

Suggested Technologies

Depending on where you are on your Path, there may be multiple technology options you can use to complete this project - we suggest the following:

  1. Python
  2. Command Line

Project Tasks

Get started - setting up your project

Since you won’t be completing this project in the Codecademy learning environment, you’ll need to find somewhere else to host your project! We’ve listed our recommendations below. For additional set-up information and guidance, please refer to the general resources section below.

  • Repl.it: If you’re not quite ready to get into all of the nitty gritty details of setting up your own local developer environment, Repl.it is an amazing online tool that can help you spin one up a web-based development environment with the click of a button. For this project, you’ll need a Repl.it environment that supports Python.
  • Visual Studio Code: If you’re excited & ready to set-up your own local environment, we’ve got your back too. Visual Studio Code is a popular open source text editor that you will set-up & configure on your own device and can be used to develop websites and applications locally before pushing to production.

Basic Requirements

User Stories: What are they?

User Story: As a user I want to clearly see the cards dealt to me and to the dealer.

User Story: As a user I want to be able to choose to stay.

User Story: As a user I want to be able to choose to hit until I choose to stay or until I bust.

User Story: As a user I want to clearly see the sequence of moves made by the dealer.

User Story: As a user I want to clearly see who won and why.

User Story: As a user I want to be able to quit the game or go again after each cycle.

Additional Challenges

Intermediate Challenge

User Story: As a user I want the game to incorporate a virtual chip/currency system to simulate real-life staking mechanics.

User Story: As a user I want to clearly see my chip stack, as well as that of the dealer.

User Story: As a user I want to be able to vary my bet according to the min/max betting rules.

Advanced Challenge

User Story: As a user I want to be able to choose to split my hand whenever possible.

User Story: As a user I want to be able to choose to double down whenever possible.

Resources & Support

Project-specific resources

  1. Blackjack
  2. Python random module
  3. Python lists
  4. Python dictionaries
  5. Python classes
  6. Command line glossary
  7. Python documentation

General Resources

  1. How to get set-up for coding on your computer
  2. What you need to know about Git, GitHub & Coding in Teams
  3. How developer teams work
  4. First steps in tackling a group project
  5. Resource on writing pseudocode to get started with off-platform projects
  6. Video on how to use Chrome dev tools

Community Support

Looking for additional help or someone to work with (or somewhere to brag about your finished project)? Join our Community on Discord to meet other learners like yourself!

Once you’re done…

Share in the Forums for feedback and to see some other ways of solving this problem!

2 Likes

Can anybody explain what does it mean? It’s interesting to fulfill this profect, but it’s too hard to understand the task. I don’t know also what is the use of dealer chip and how casino deal with it. So, what is the “real life stacking mechanics”?
Please help!