#-------------------------------------------------------------------------- # Name : GameOf21 # Purpose : 11DGT # Author: Phoenix, Ruddell # Created : 26/02/2025 # Copyright : © Phoenix, Ruddell 26/02/2025 #-------------------------------------------------------------------------- from random import shuffle # card deck values and symbols def deck(): deck = [] for symbols in ['H', 'S', 'D', 'C']: for card_values in ['A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K']: deck.append(symbols+card_values) shuffle(deck) return deck #card deck point system def pointSystem(myCards): myCount = 0 aceCount = 0 for i in myCards: if(i[1] == 'J' or i[1] == 'Q' or i[1] == 'K' or i[1] == 'T'): myCount += 10 elif(i[1] != 'A'): myCount += int(i[1]) else: aceCount += 1 if(aceCount == 1 and myCount >= 10): myCount += 11 elif(aceCount != 0): myCount += 1 return myCount #player and dealers hands def generatePlayingHands(myDeck): dealerHand = [] playerHand = [] dealerHand.append(myDeck.pop()) dealerHand.append(myDeck.pop()) playerHand.append(myDeck.pop()) playerHand.append(myDeck.pop()) while(pointSystem(dealerHand) <= 16): dealerHand.append(myDeck.pop()) return [dealerHand, playerHand] #Starting game loop game = "" myDeck = deck() hands = generatePlayingHands(myDeck) dealer = hands[0] player = hands[1] while(game != "exit"): Dealercount = pointSystem(dealer) Playercount = pointSystem(player) print("Dealer has:") print(dealer[0]) print("Player 1, you have:") print(player) if(Playercount == 21): print("BlackJack! Player wins!") break elif(Playercount > 21): print("Player Busts! With " + str(Playercount) + " points.") print("Dealer wins") break elif(Dealercount > 21): print("Dealer Busts! With " + str(Dealercount) + " points.") print("Player wins") break game = input("What would you like to do? H: Hit me, S: Stand? ") if(game == 'H'): player.append(myDeck.pop()) elif(Playercount > Dealercount): print("Player wins with " + str(Playercount) + " points") print("Dealer has: " + str(dealer) + "or " + str(Dealercount) + " points") break else: print("Dealer wins!") print("Dealer has: " + str(dealer) + "or " + str(Dealercount) + " points") break