diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blackjack.py b/Blackjack.py
new file mode 100644
index 0000000..59fb18c
--- /dev/null
+++ b/Blackjack.py
@@ -0,0 +1,220 @@
+import random
+
+suits = ('Hearts', 'Spades', 'Diamonds', 'Clubs')
+ranks = ('Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King', 'Ace')
+values = {'Two': 2, 'Three': 3, 'Four': 4, 'Five': 5, 'Six': 6, 'Seven': 7, 'Eight': 8, 'Nine': 9, 'Ten': 10,
+ 'Jack': 10,
+ 'Queen': 10, 'King': 10, 'Ace': 11}
+
+playing = True
+
+
+class Card:
+
+ def __init__(self, suit, rank):
+ self.suit = suit
+ self.rank = rank
+
+ def __str__(self):
+ return self.rank + ' of ' + self.suit
+
+class Deck:
+
+ def __init__(self):
+ self.deck = [] # start with an empty list
+ for suit in suits:
+ for rank in ranks:
+ self.deck.append(Card(suit, rank)) # build Card objects and add them to the list
+
+ def __str__(self):
+ deck_comp = '' # start with an empty string
+ for card in self.deck:
+ deck_comp += '\n ' + card.__str__() # add each Card object's print string
+ return 'The deck has:' + deck_comp
+
+ def shuffle(self):
+ random.shuffle(self.deck)
+
+ def deal(self):
+ single_card = self.deck.pop()
+ return single_card
+
+class Hand:
+
+ def __init__(self):
+ self.cards = [] # start with an empty list as we did in the Deck class
+ self.value = 0 # start with zero value
+ self.aces = 0 # add an attribute to keep track of aces
+
+ def add_card(self, card):
+ self.cards.append(card)
+ self.value += values[card.rank]
+ if card.rank == 'Ace':
+ self.aces += 1 # add to self.aces
+
+ def adjust_for_ace(self):
+ while self.value > 21 and self.aces:
+ self.value -= 10
+ self.aces -= 1
+
+
+class Chips:
+
+ def __init__(self):
+ self.total = 100 # This can be set to a default value or supplied by a user input
+ self.bet = 0
+
+ def win_bet(self):
+ self.total += self.bet
+
+ def lose_bet(self):
+ self.total -= self.bet
+
+
+def take_bet(chips):
+ while True:
+ try:
+ chips.bet = int(input('How many chips would you like to bet? '))
+ except ValueError:
+ print('Sorry, a bet must be an integer!')
+ else:
+ if chips.bet > chips.total:
+ print("Sorry, your bet can't exceed", chips.total)
+ else:
+ break
+
+
+def hit(deck, hand):
+ hand.add_card(deck.deal())
+ hand.adjust_for_ace()
+
+
+def hit_or_stand(deck, hand):
+ global playing # to control an upcoming while loop
+
+ while True:
+ x = input("Would you like to Hit or Stand? Enter 'h' or 's' ")
+
+ if x[0].lower() == 'h':
+ hit(deck, hand) # hit() function defined above
+
+ elif x[0].lower() == 's':
+ print("Player stands. Dealer is playing.")
+ playing = False
+
+ else:
+ print("Sorry, please try again.")
+ continue
+ break
+
+
+def show_some(player, dealer):
+ print("\nDealer's Hand:")
+ print(" ")
+ print('', dealer.cards[1])
+ print("\nPlayer's Hand:", *player.cards, sep='\n ')
+
+
+def show_all(player, dealer):
+ print("\nDealer's Hand:", *dealer.cards, sep='\n ')
+ print("Dealer's Hand =", dealer.value)
+ print("\nPlayer's Hand:", *player.cards, sep='\n ')
+ print("Player's Hand =", player.value)
+
+
+def player_busts(player, dealer, chips):
+ print("Player busts!")
+ chips.lose_bet()
+
+
+def player_wins(player, dealer, chips):
+ print("Player wins!")
+ chips.win_bet()
+
+
+def dealer_busts(player, dealer, chips):
+ print("Dealer busts!")
+ chips.win_bet()
+
+
+def dealer_wins(player, dealer, chips):
+ print("Dealer wins!")
+ chips.lose_bet()
+
+
+def push(player, dealer):
+ print("Dealer and Player tie! It's a push.")
+
+
+while True:
+ print('Welcome to BlackJack! Get as close to 21 as you can without going over!\n\
+ Dealer hits until it reaches 17. Aces count as 1 or 11.')
+
+# Create & shuffle the deck, deal two cards to each player
+ deck = Deck()
+ deck.shuffle()
+
+ player_hand = Hand()
+ player_hand.add_card(deck.deal())
+ player_hand.add_card(deck.deal())
+
+ dealer_hand = Hand()
+ dealer_hand.add_card(deck.deal())
+ dealer_hand.add_card(deck.deal())
+
+ # Set up the Player's chips
+ player_chips = Chips() # remember the default value is 100
+
+ # Prompt the Player for their bet
+ take_bet(player_chips)
+
+ # Show cards (but keep one dealer card hidden)
+ show_some(player_hand, dealer_hand)
+
+ while playing: # recall this variable from our hit_or_stand function
+
+ # Prompt for Player to Hit or Stand
+ hit_or_stand(deck, player_hand)
+
+ # Show cards (but keep one dealer card hidden)
+ show_some(player_hand, dealer_hand)
+
+ # If player's hand exceeds 21, run player_busts() and break out of loop
+ if player_hand.value > 21:
+ player_busts(player_hand, dealer_hand, player_chips)
+ break
+
+ # If Player hasn't busted, play Dealer's hand until Dealer reaches 17
+ if player_hand.value <= 21:
+
+ while dealer_hand.value < 17:
+ hit(deck, dealer_hand)
+
+ # Show all cards
+ show_all(player_hand, dealer_hand)
+
+ # Run different winning scenarios
+ if dealer_hand.value > 21:
+ dealer_busts(player_hand, dealer_hand, player_chips)
+
+ elif dealer_hand.value > player_hand.value:
+ dealer_wins(player_hand, dealer_hand, player_chips)
+
+ elif dealer_hand.value < player_hand.value:
+ player_wins(player_hand, dealer_hand, player_chips)
+
+ else:
+ push(player_hand, dealer_hand)
+
+ # Inform Player of their chips total
+ print("\nPlayer's winnings stand at", player_chips.total)
+
+ # Ask to play again
+ new_game = input("Would you like to play another hand? Enter 'y' or 'n' ")
+
+ if new_game[0].lower() == 'y':
+ playing = True
+ continue
+ else:
+ print("Thanks for playing!")
+ break
\ No newline at end of file
diff --git a/Tic_Tac_Toe.py b/Tic_Tac_Toe.py
new file mode 100644
index 0000000..a54aea8
--- /dev/null
+++ b/Tic_Tac_Toe.py
@@ -0,0 +1,120 @@
+# first create a list of 10 spaces and show
+print('GET ready to Play TIC-TAC-TOE Dual player')
+value = [''] * 10
+value[0] = 1
+
+
+class Player:
+ def __init__(self, marker, wins):
+ self.marker = marker
+ self.wins = wins
+
+ def win(self):
+ self.wins += 1
+
+
+def display():
+ print('Tic-Tac-Toe')
+ print(value[1] + ' | ' + value[2] + ' | ' + value[3])
+ print('------')
+ print(value[4] + ' | ' + value[5] + ' | ' + value[6])
+ print('------')
+ print(value[7] + ' | ' + value[8] + ' | ' + value[9])
+
+
+marker_validation = True
+winner_validation = True
+Playing = True
+while marker_validation:
+ marker = input('Player1 please choose X or O to play')
+ if marker == 'X' or 'x' or 'o' or 'O':
+ if marker == 'X' or 'x':
+ Player1 = Player('X', 0)
+ Player2 = Player('O', 0)
+ else:
+ Player1 = Player('O', 0)
+ Player2 = Player('X', 0)
+ marker_validation = False
+ else:
+ print('Please enter a valid marker "X" or "O" to continue')
+
+
+# check for win after every entry
+def win_check(play):
+ if (value[1] == value[2] == value[3] == play.marker) or (value[4] == value[5] == value[6] == play.marker) or (
+ value[7] == value[8] == value[9] == play.marker):
+ return True
+ elif (value[1] == value[4] == value[7] == play.marker) or (value[2] == value[5] == value[8] == play.marker) or (
+ value[3] == value[6] == value[9] == play.marker):
+ play.win()
+ return True
+ elif (value[1] == value[5] == value[9] == play.marker) or (value[3] == value[5] == value[7] == play.marker):
+ play.win()
+ return True
+ else:
+ return False
+
+
+def ContPlaying():
+ while True:
+ cont = input('Do u want to continue playing [y]/n')
+ if cont == 'y' or 'y' or 'n' or 'N':
+ if cont == 'Y' or 'y':
+ value[1:10] = [''] * 9
+ print('Scores of Player1 is ' + str(Player1.wins) + ' and Player2 is ' + str(Player2.wins))
+ break
+ else:
+ print('Final scores of Player1 is ' + str(Player1.wins) + ' and Player2 is ' + str(Player2.wins))
+ Playing = False
+ else:
+ print('Enter a valid option y/n')
+
+
+# take inputs from the players till some one wins or draws
+while Playing:
+ display()
+ if '' in value:
+ position_validation1 = True
+ position_validation2 = True
+ while position_validation1:
+ try:
+ position = int(input('Player1 please choose a value from 1 to 9 to play'))
+ if position in range(1, 10):
+ # write some logic
+ if value[position] == '':
+ value[position] = Player1.marker
+ position_validation1 = False
+ display()
+ win_c = win_check(Player1)
+ if win_c:
+ print('Player1 has won the game')
+ ContPlaying()
+ else:
+ print('Please choose a position which is free')
+ else:
+ print('PLease enter only values from 1 to 9')
+ except:
+ print('Player1 please enter a valid number')
+
+ while position_validation2:
+ try:
+ position = int(input('Player2 please choose a value from 1 to 9 to play'))
+ if position in range(1, 10):
+ # write some logic
+ if value[position] == '':
+ value[position] = Player2.marker
+ position_validation2 = False
+ win_c = win_check(Player2)
+ if win_c:
+ print('Player2 has won the game')
+ ContPlaying()
+ display()
+ else:
+ print('Please choose a position which is free')
+ else:
+ print('PLease enter only values from 1 to 9')
+ except:
+ print('Player2 please enter a valid number through 1-9 only')
+ else:
+ print('Match draws')
+ ContPlaying()