Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions Card_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
class Card:
def count(self, hand, person):
self.counter = 0
for card in hand:
if card[0] == 'A' or card[1] == 'A' and person == "player":
self.to_do = input("11 or 1 ")
if self.to_do == '11':
self.counter += 11
else:
self.counter += 1
elif card[0] == 'A' or card[1] == 'A':
self.counter += 11
else:
if card[0].isupper():
self.counter += 10
if card[1].isupper():
self.counter += 10
if card[0].isdigit():
self.counter += int(card[0])
if card[1].isdigit():
self.counter += int(card[1])
# print("Your count is ", self.counter)
if self.counter == 21 and person == "player":
print("blackjack")
exit()
elif self.counter > 21 and person == "player":
print("Lose")
exit()
elif self.counter == 21 and person == "dealer":
print("Dealer Wins because of blackjack")
exit()
elif self.counter > 21 and person == "dealer":
print("You Win dealer busted at ", self.counter)
exit()

# add together check if they go over 21 or equal 21
17 changes: 17 additions & 0 deletions Dealer_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import Deck_file
from Deck_file import Deck
import Card_file
from Card_file import Card


class Dealer():

def dealer_run(self):
# if self.check_16(hand):
# pass
hitme("dealer")
new_card.count(hand, "dealer")

"""def check_16(self):
if check_hand(hand) == 16:
return False"""
47 changes: 47 additions & 0 deletions Deck_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import random
import itertools


class Deck:
def remove_from_deck(self, remove):
try:
self.deck.remove(remove[0])
self.deck.remove(remove[1])
return self.deck
except:
pass

def shuffle(self):
self.suits = 'cdhs'
self.rank = '23456789TJQKA'
self.deck = list(''.join(card) for card in itertools.product(
self.suits, self.rank))
return self.deck

def init_deal(self):
self.hand = random.sample(self.deck, 2)
self.deck = self.remove_from_deck(self.hand)
self.dealer_hand = random.sample(self.deck, 2)
self.deck = self.remove_from_deck(self.dealer_hand)
print("This is your hand", self.hand)
return (self.hand)

def hitme(self, person):
self.deal = random.choice(self.deck)
if person == "dealer":
self.dealer_hand.append(self.deal)
# print("This is your hand", self.dealer_hand)
if person == "player":
self.hand.append(self.deal)
print("This is your hand", self.hand)

def ask(self):
self.hit_me_or = input("Hit me? or Stay? ")
self.hit_me_or.lower()
if self.hit_me_or == "hit me":
self.hitme("player")
elif self.hit_me_or == "stay":
pass
else:
print("Hit me or Stay")
self.ask()
29 changes: 29 additions & 0 deletions Game.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import Deck_file
from Deck_file import Deck
import Card_file
from Card_file import Card
import Dealer_file
from Dealer_file import Dealer
import random
# import Hand
# from Hand import Hand

new_card = Card()
new_dealer = Dealer()
new_deck = Deck()
new_deck.shuffle()
new_deck.init_deal()

while True:
dealer = random.random()
new_deck.ask()
new_card.count(new_deck.hand, "player")

print("Your card add up to ", new_card.counter)
if dealer >= .5:
new_deck.hitme("dealer")
if dealer < .5:
print("Dealer Stayed")

new_card.count(new_deck.dealer_hand, "dealer")
print("Your dealer card add up to ", new_card.counter)
16 changes: 16 additions & 0 deletions Hand.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import Deck_file
from Deck_file import Deck
import Card_file
from Card_file import Card
import Dealer_file
from Dealer_file import Dealer


class Hand:
new_deck = Deck()
new_deck.shuffle()
self.dealer_hand = new_deck.init_deal()

def player_going:
new_deck.ask()
self.player_hand = new_deck.init_deal()
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Blackjack

Learned more about Object Oriented Programming
* [Part 1](README_1.md)
* [Part 2](README_2.md)
* [Part 2](README_2.md)
38 changes: 38 additions & 0 deletions Tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import Deck_file
from Deck_file import Deck
import Card_file
from Card_file import Card

new_deck = Deck()
new_card = Card()
new_deck.shuffle()


def test_init_deck():
try:
assert len(new_deck.init_deal()) == 2
assert len(new_deck.init_deal()[0]) == 2
return new_deck.init_deal()
except:
print("init_deal isn't working")


def test_init_hitme(hand):
try:
assert len(hand) == 3
assert len(hand[0]) == 2
except:
print("Hit Me isnt working")


def test_card(hand):
try:
print("Enter 11 for test")
assert new_card.count(hand) == "lose"
except:
print("Card.count isnt working")

# new_deck.hitme(new_deck.init_deal(shuffled))
test_init_deck()
test_init_hitme(new_deck.hitme())
test_card(['cT', 'A', 'd6'])
24 changes: 24 additions & 0 deletions blackjack/tests/Tests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import Deck_file
from Deck_file import Deck


def test_init_deck():
new_deck = Deck()
# print(len(new_deck.init_deal()[0]))
try:
assert len(new_deck.init_deal()) == 2
assert len(new_deck.init_deal()[0]) == 2
except:
print("init_deal isn't working")


def test_init_hitme():
hitme = hitme()
try:
assert len(hitme.hitme()) == 1
assert len(hitme.hitme()[0]) == 2
except:
print("init_deal isn't working")

test_init_deck()
test_init_hitme()
Empty file added blackjack/tests/__init__.py
Empty file.