From ba674f8243b3ee9d2cd2d2b0df70f7e1157d0f51 Mon Sep 17 00:00:00 2001 From: LukeGosnell Date: Fri, 6 Mar 2015 07:40:00 -0600 Subject: [PATCH] All challenges Complete. Challenge 4 is a Demo. --- Challenge_1.py | 204 ++++++++++++++++ Challenge_2.py | 72 ++++++ Challenge_2_No_Class.py | 72 ++++++ Challenge_3.py | 244 ++++++++++++++++++++ Challenge_4.py | 383 +++++++++++++++++++++++++++++++ __pycache__/cards.cpython-32.pyc | Bin 0 -> 3842 bytes __pycache__/games.cpython-32.pyc | Bin 0 -> 1638 bytes test.py | 27 +++ 8 files changed, 1002 insertions(+) create mode 100644 Challenge_1.py create mode 100644 Challenge_2.py create mode 100644 Challenge_2_No_Class.py create mode 100644 Challenge_3.py create mode 100644 Challenge_4.py create mode 100644 __pycache__/cards.cpython-32.pyc create mode 100644 __pycache__/games.cpython-32.pyc create mode 100644 test.py diff --git a/Challenge_1.py b/Challenge_1.py new file mode 100644 index 0000000..dd3a3d7 --- /dev/null +++ b/Challenge_1.py @@ -0,0 +1,204 @@ +# usr/bin/python3 +# Program Name: Challenge_1.py +# Author: Luke Gosnell +# Date: 2/24/2015 +# Contributors: Thomas Morrissey +# Blackjack +# From 1 to 7 players compete against a dealer + +import cards, games + +class BJ_Card(cards.Card): + """ A Blackjack Card. """ + ACE_VALUE = 1 + + @property + def value(self): + if self.is_face_up: + v = BJ_Card.RANKS.index(self.rank) + 1 + if v > 10: + v = 10 + else: + v = None + return v + +class BJ_Deck(cards.Deck): + """ A Blackjack Deck. """ + def populate(self): + for suit in BJ_Card.SUITS: + for rank in BJ_Card.RANKS: + self.cards.append(BJ_Card(rank, suit)) + + +class BJ_Hand(cards.Hand): + """ A Blackjack Hand. """ + def __init__(self, name): + super(BJ_Hand, self).__init__() + self.name = name + + def __str__(self): + rep = self.name + ":\t" + super(BJ_Hand, self).__str__() + if self.total: + rep += "(" + str(self.total) + ")" + return rep + + @property + def total(self): + # if a card in the hand has value of None, then total is None + for card in self.cards: + if not card.value: + return None + + # add up card values, treat each Ace as 1 + t = 0 + for card in self.cards: + t += card.value + + # determine if hand contains an Ace + contains_ace = False + for card in self.cards: + if card.value == BJ_Card.ACE_VALUE: + contains_ace = True + + # if hand contains Ace and total is low enough, treat Ace as 11 + if contains_ace and t <= 11: + # add only 10 since we've already added 1 for the Ace + t += 10 + + return + + def is_busted(self): + return self.total > 21 + + +class BJ_Player(BJ_Hand): + """ A Blackjack Player. """ + def is_hitting(self): + response = games.ask_yes_no("\n" + self.name + ", do you want a hit? (Y/N): ") + return response == "y" + + def bust(self): + print(self.name, "busts.") + self.lose() + + def lose(self): + print(self.name, "loses.") + + def win(self): + print(self.name, "wins.") + + def push(self): + print(self.name, "pushes.") + + +class BJ_Dealer(BJ_Hand): + """ A Blackjack Dealer. """ + def is_hitting(self): + return self.total < 17 + + def bust(self): + print(self.name, "busts.") + + def flip_first_card(self): + first_card = self.cards[0] + first_card.flip() + + +class BJ_Game(object): + """ A Blackjack Game. """ + def __init__(self, names): + self.players = [] + for name in names: + player = BJ_Player(name) + self.players.append(player) + + self.dealer = BJ_Dealer("Dealer") + + self.deck = BJ_Deck() + self.deck.populate() + self.deck.shuffle() + + @property + def still_playing(self): + sp = [] + for player in self.players: + if not player.is_busted(): + sp.append(player) + return sp + + def __additional_cards(self, player): + while not player.is_busted() and player.is_hitting(): + if self.deck == 0: + self.deck.populate() + self.deck.shuffle() + self.deck.deal([player]) + print(player) + if player.is_busted(): + player.bust() + + def play(self): + # deal initial 2 cards to everyone + self.deck.deal(self.players + [self.dealer], per_hand = 2) + self.dealer.flip_first_card() # hide dealer's first card + for player in self.players: + print(player) + print(self.dealer) + + # deal additional cards to players + for player in self.players: + self.__additional_cards(player) + + self.dealer.flip_first_card() # reveal dealer's first + + if not self.still_playing: + # since all players have busted, just show the dealer's hand + print(self.dealer) + else: + # deal additional cards to dealer + print(self.dealer) + self.__additional_cards(self.dealer) + + if self.dealer.is_busted(): + # everyone still playing wins + for player in self.still_playing: + player.win() + else: + # compare each player still playing to dealer + for player in self.still_playing: + if player.total > self.dealer.total: + player.win() + elif player.total < self.dealer.total: + player.lose() + else: + player.push() + + # remove everyone's cards + for player in self.players: + player.clear() + self.dealer.clear() + + +def main(): + print("\t\tWelcome to Blackjack!\n") + + names = [] + number = games.ask_number("How many players? (1 - 7): ", low = 1, high = 8) + for i in range(number): + name = input("Enter player name: ") + names.append(name) + print() + + game = BJ_Game(names) + + again = None + while again != "n": + game.play() + again = games.ask_yes_no("\nDo you want to play again?: ") + + +main() +input("\n\nPress the enter key to exit.") + + + + diff --git a/Challenge_2.py b/Challenge_2.py new file mode 100644 index 0000000..22679f8 --- /dev/null +++ b/Challenge_2.py @@ -0,0 +1,72 @@ +# usr/bin/python3 +# Program Name: Challenge_1.py +# Author: Luke Gosnell +# Contributors: Tom Morrissey +# Date: 2/24/2015 + +import random +import time + +""" A playing card. """ +RANKS = ["A", "2", "3", "4", "5", "6", "7", + "8", "9", "10", "J", "Q", "K"] +SUITS = ["c", "d", "h", "s"] + +random.choice(RANKS) +random.choice(SUITS) + +print(""" Welcome to War! Battle your foe! +reach 5 points first to win! +""") + +player1 = input("Enter Player 1: ") +player2 = input("Enter Player 2: ") +player1Amount = 0 +player2Amount = 0 + +while player1Amount < 5 and player2Amount < 5: + print(player1, "press enter to draw a card.") + input("") + print(player1, "draws a card!") + print("") + player1CardIndex = random.randrange(len(RANKS)) + player1Suit = random.choice(SUITS) + player1Card = RANKS[player1CardIndex] + player1Suit + print(player2, "press enter to draw a card.") + input("") + print(player2, "draws a card!") + print("") + player2CardIndex = random.randrange(len(RANKS)) + player2Suit = random.choice(SUITS) + player2Card = RANKS[player2CardIndex] + player2Suit + + print(player1 + ": ", player1Card) + print(player2 + ": ", player2Card) + print("") + + if player1CardIndex > player2CardIndex: + print(player1, "wins!") + player1Amount = player1Amount + 1 + elif player2CardIndex > player1CardIndex: + print(player2, "wins!") + player2Amount = player2Amount + 1 + else: + print("Tie!") + print("Press enter to continue to the next round.") + input("") + +if player1Amount > 4: + print(player1, "is the champion!") +elif player2Amount > 4: + print(player2, "is the champion!") + + + + + + + + + + + diff --git a/Challenge_2_No_Class.py b/Challenge_2_No_Class.py new file mode 100644 index 0000000..22679f8 --- /dev/null +++ b/Challenge_2_No_Class.py @@ -0,0 +1,72 @@ +# usr/bin/python3 +# Program Name: Challenge_1.py +# Author: Luke Gosnell +# Contributors: Tom Morrissey +# Date: 2/24/2015 + +import random +import time + +""" A playing card. """ +RANKS = ["A", "2", "3", "4", "5", "6", "7", + "8", "9", "10", "J", "Q", "K"] +SUITS = ["c", "d", "h", "s"] + +random.choice(RANKS) +random.choice(SUITS) + +print(""" Welcome to War! Battle your foe! +reach 5 points first to win! +""") + +player1 = input("Enter Player 1: ") +player2 = input("Enter Player 2: ") +player1Amount = 0 +player2Amount = 0 + +while player1Amount < 5 and player2Amount < 5: + print(player1, "press enter to draw a card.") + input("") + print(player1, "draws a card!") + print("") + player1CardIndex = random.randrange(len(RANKS)) + player1Suit = random.choice(SUITS) + player1Card = RANKS[player1CardIndex] + player1Suit + print(player2, "press enter to draw a card.") + input("") + print(player2, "draws a card!") + print("") + player2CardIndex = random.randrange(len(RANKS)) + player2Suit = random.choice(SUITS) + player2Card = RANKS[player2CardIndex] + player2Suit + + print(player1 + ": ", player1Card) + print(player2 + ": ", player2Card) + print("") + + if player1CardIndex > player2CardIndex: + print(player1, "wins!") + player1Amount = player1Amount + 1 + elif player2CardIndex > player1CardIndex: + print(player2, "wins!") + player2Amount = player2Amount + 1 + else: + print("Tie!") + print("Press enter to continue to the next round.") + input("") + +if player1Amount > 4: + print(player1, "is the champion!") +elif player2Amount > 4: + print(player2, "is the champion!") + + + + + + + + + + + diff --git a/Challenge_3.py b/Challenge_3.py new file mode 100644 index 0000000..0a03aa7 --- /dev/null +++ b/Challenge_3.py @@ -0,0 +1,244 @@ +#! /usr/bin/python3 +# Program Name: Challenge_3.py +# Author: Luke Gosnell +# Date: 2/23/2015 +# From 1 to 7 players compete against a dealer +# Fixed so that players can bet + +import cards, games + +class BJ_Card(cards.Card): + """ A Blackjack Card. """ + ACE_VALUE = 1 + + @property + def value(self): + if self.is_face_up: + v = BJ_Card.RANKS.index(self.rank) + 1 + if v > 10: + v = 10 + else: + v = None + return v + +class BJ_Deck(cards.Deck): + """ A Blackjack Deck. """ + def populate(self): + for suit in BJ_Card.SUITS: + for rank in BJ_Card.RANKS: + self.cards.append(BJ_Card(rank, suit)) + + +class BJ_Hand(cards.Hand): + """ A Blackjack Hand. """ + def __init__(self, name): + super(BJ_Hand, self).__init__() + self.name = name + + def __str__(self): + rep = self.name + ":\t" + super(BJ_Hand, self).__str__() + if self.total: + rep += "(" + str(self.total) + ")" + return rep + + @property + def total(self): + # if a card in the hand has value of None, then total is None + for card in self.cards: + if not card.value: + return None + + # add up card values, treat each Ace as 1 + t = 0 + for card in self.cards: + t += card.value + + # determine if hand contains an Ace + contains_ace = False + for card in self.cards: + if card.value == BJ_Card.ACE_VALUE: + contains_ace = True + + # if hand contains Ace and total is low enough, treat Ace as 11 + if contains_ace and t <= 11: + # add only 10 since we've already added 1 for the Ace + t += 10 + + return t + + def is_busted(self): + return self.total > 21 + + +class BJ_Player(BJ_Hand): + """ A Blackjack Player. """ + + def __init__(self, name): + super(BJ_Player, self).__init__(name) + self.money = 100 + self.wager = 0 + + def is_hitting(self): + response = games.ask_yes_no("\n" + self.name + ", do you want a hit? (Y/N): ") + return response == "y" + + def bet(self): + self.wager = int(input("You have $100. How much would you like to bet, " + self.name + "? ")) + if self.wager > self.money: + print("You don't have that much money!!") + self.wager = int(input("You have $100. How much would you like to bet? ")) + + def bust(self): + print(self.name, "busts.") + self.lose() + + def lose(self): + print(self.name, "loses.") + self.money = self.money - self.wager + print(self.name + "'s money: $" + str(self.money)) + + def win(self): + print(self.name, "wins.") + self.money = self.money + self.wager + print(self.name + "'s money: $" + str(self.money)) + + def push(self): + print(self.name, "pushes.") + + def __str__(self): + rep = super(BJ_Player, self).__str__() + rep += " $" + str(self.money) + return rep + + def game_over(self): + print(self.name + " has no more money! Game over for you!") + + + + +class BJ_Dealer(BJ_Hand): + """ A Blackjack Dealer. """ + def is_hitting(self): + return self.total < 17 + + def bust(self): + print(self.name, "busts.") + + def flip_first_card(self): + first_card = self.cards[0] + first_card.flip() + + +class BJ_Game(object): + """ A Blackjack Game. """ + def __init__(self, names): + self.players = [] + for name in names: + player = BJ_Player(name) + player.bet() + self.players.append(player) + + self.dealer = BJ_Dealer("Dealer") + + self.deck = BJ_Deck() + self.deck.populate() + self.deck.shuffle() + + @property + def still_playing(self): + sp = [] + for player in self.players: + if not player.is_busted(): + sp.append(player) + return sp + + def __additional_cards(self, player): + while not player.is_busted() and player.is_hitting(): + self.deck.deal([player]) + print(player) + if player.is_busted(): + player.bust() + + def play(self): + # deal initial 2 cards to everyone + self.deck.deal(self.players + [self.dealer], per_hand = 2) + self.dealer.flip_first_card() # hide dealer's first card + for player in self.players: + print(player) + print(self.dealer) + + # deal additional cards to players + for player in self.players: + self.__additional_cards(player) + + self.dealer.flip_first_card() # reveal dealer's first + + if not self.still_playing: + # since all players have busted, just show the dealer's hand + print(self.dealer) + else: + # deal additional cards to dealer + print(self.dealer) + self.__additional_cards(self.dealer) + + if self.dealer.is_busted(): + # everyone still playing wins + for player in self.still_playing: + player.win() + else: + # compare each player still playing to dealer + for player in self.still_playing: + if player.total > self.dealer.total: + player.win() + elif player.total < self.dealer.total: + player.lose() + else: + player.push() + + # remove everyone's cards + for player in self.players: + player.clear() + self.dealer.clear() + + def purge(self): + sp = [] + for player in self.players: + if player.money == 0: + print(player.name + " has no more money! Game over for you!") + if player.money > 0: + sp.append(player) + #Everybody loses all their money = Game over + if not sp: + print("Everybody lost all their money! Game over!") + + return sp + + + +def main(): + print("\t\tWelcome to Blackjack!\n") + + names = [] + number = games.ask_number("How many players? (1 - 7): ", low = 1, high = 8) + for i in range(number): + name = input("Enter player name: ") + names.append(name) + print() + + game = BJ_Game(names) + + again = None + while again != "n": + game.play() + game.players = game.purge() + if game.players: + again = games.ask_yes_no("\nDo you want to play again?: ") + else: + again = "n" + + +main() +input("\n\nPress the enter key to exit.") + + + diff --git a/Challenge_4.py b/Challenge_4.py new file mode 100644 index 0000000..9da1df5 --- /dev/null +++ b/Challenge_4.py @@ -0,0 +1,383 @@ +#! /usr/bin/python3 +# Program Name: Challenge_1.py +# Author: Luke Gosnell +# Contributors: Tom Morissey +# Date: 2/25/2015 +# A fun demo of a text-based adventure game. + +class player(object): + def __init__(self): + self.Health=100 + self.Items=[] + def __str__(self): + print("Health:",self.Health) + print("Items:","\n",self.Items) + return "" + +print(""" + Welcome to the best text-based adventure game ever!! + (TRIAL VERSION) + Press enter to play. + """) +input("") + +player=player() +Items=player.Items +while player.Health > 0: + print(""" + You are taking your usual Sunday evening stroll through the park when suddenly + you are approached by a man in black leaning against a tree. He takes a look at your attire. + """) + print(""" + ──────────────────────────────── + ───────────────██████████─────── + ──────────────████████████────── + ──────────────██────────██────── + ──────────────██▄▄▄▄▄▄▄▄▄█────── + ──────────────██▀███─███▀█────── + █─────────────▀█────────█▀────── + ██──────────────────█─────────── + ─█──────────────██────────────── + █▄────────────████─██──████ + ─▄███████████████──██──██████ ── + ────█████████████──██──█████████ + ─────────────████──██─█████──███ + ──────────────███──██─█████──███ + ──────────────███─────█████████ + ──────────────██─────████████▀ + ────────────────██████████ + ────────────────██████████ + ─────────────────████████ + ──────────────────██████████▄▄ + ────────────────────█████████▀ + ─────────────────────████──███ + ────────────────────▄████▄──██ + ────────────────────██████───▀ + ────────────────────▀▄▄▄▄▀ + + "Red shirt, blue jeans, green cap... You're the one." + + + He takes your hand and pulls you into a van parked nearby. + + """) + choice1 = input(""" + 1. Scream for help + 2. "What's going on?!?" + 3. View menu + + Choice: """) + if choice1 == "3": + print("") + print(player) + print(""" + Press enter to exit menu.""") + input("") + choice1 = input(""" + 1. Scream for help + 2. "What's going on?!?" + + Choice: """) + if choice1 == "1": + print("The man has no choice but to shoot you dead. You were a danger to his operations. Better luck next time.") + print("Press enter") + input("") + exit() + + elif choice1 == "2": + print(""" + The man ignores you and hands you a small dagger. + + After a very long ride, the van comes to a sudden hault + + "Good luck, we're rooting for you," the man says, pushing you out of the van. + + You tumble down a rocky hill, taking -50 HP. + + You look up, seeing that you are in the middle of a forest. + + You need to find health... + + There is a tinkling noise behind a nearby bush, but you also notice various herbs growing by a small stream. + _________________________________________________________________________""") + + choice2 = input(""" + 1. Look behind the bush + 2. Try using the herbs by the stream + 3. View menu + + Choice: """) + + player.Health=player.Health-50 + Items.append("Dagger") + + if choice2 == "3": + print("") + print(player) + print(""" + Press enter to exit menu.""") + input("") + choice2 = input(""" + 1. Look behind the bush + 2. Try using the herbs by the stream + + Choice: """) + if choice2 == "1": + print(""" + You look behind the bush and see a group of fairies conversing. + + "AHHH! HUMAN!!" one of them screams. They all attempt to fly away, but you manage to capture one. + + "Please don't eat me!!" it pleads. "I can heal you!" + _________________________________________________________________________""") + + choice2A = input(""" + 1. Ask the fairy to heal you + 2. Eat the fairy + 3. View Menu + + Choice: """) + if choice2A == "3": + print("") + print(player) + print(""" + Press enter to exit menu.""") + input("") + choice2A = input(""" + 1. Ask the fairy to heal you + 2. Eat the fairy + + Choice: """) + if choice2A == "1": + print(""" + "Sure!" The fairy sounds happy to help. + + She sprinkles you with a magical dust. + + Good, you're healin- No, wait... You start to cough, feeling excrutiating pain. + + The fairy slips out of your grasp and flies away. "HAHA, SUCKER!!" + + -30 HP + + It starts getting late... + _________________________________________________________________________""") + player.Health=player.Health-30 + + elif choice2A == "2": + print(""" + Down the Hatch! This will surely heal you. + + You put the fairy in your mouth and begin chewing. Crunchy... + + It screams in agony as you swallow... You begin feeling better. + + Good choice! + + +40 HP + + It starts getting late... + _________________________________________________________________________""") + player.Health=player.Health+40 + + elif choice2 == "2": + print(""" + You make your way toward the stream. + + You grab an oddly-shaped leaf, hoping for the best. + + You press the leaf against your body and start rubbing. + + You quickly start feeling dizzy... + + ... + + ... + + ... + + You wake up slowly with a blistering headache as the sun sets. + + -20 HP + _________________________________________________________________________""") + player.Health=player.Health-20 + print(""" + Night is coming fast and its time to look for shelter. + + You look around for about 30 minutes until you find a cave. + + It is dark and it will be very difficult to find any other shelter. + _________________________________________________________________________""") + + choice3 = input(""" + 1. Sleep in the cave + 2. Go look for other shelter + 3. View Menu + + Choice: """) + + if choice3 == "3": + print("") + print(player) + print(""" + Press enter to exit menu.""") + input("") + choice3 = input(""" + 1. Sleep in the cave + 2. Go look for other shelter + + Choice: """) + + if choice3 == "1": + print(""" + You decide to sleep in the cave. + + You go inside and a storm picks up not long after. + + You hear the rustling of the trees outside due to the strong winds. + + You decide to go a little deeper into the cave and find a pile of berries! + + You begin eating. + + +10 HP + + A pile of berries... just sitting there... How strange... + + ... + + "ROOOAAAARR!!!!" + _________________________________________________________________________""") + player.Health=player.Health+10 + + choice3A=input(""" + 1. Stab behind you + 2. Run away + 3. View Menu + + Choice: """) + if choice3A == "3": + print("") + print(player) + print(""" + Press enter to exit menu.""") + input("") + choice3A=input(""" + 1. Stab behind you + 2. Run away + + Choice: """) + if choice3A == "1": + print(""" + You choose to immediatelty stab the giant bear lurking behind you. + + "AAAUUUGH" The bear roars traumatically, going down in just one hit. + + What a pathetic creature. + + You skin the bear alive for its fur. + + You now have a fur coat to protect you from the bitter cold! + _________________________________________________________________________""") + Items.append("Fur Coat") + print(""" + You head outside wearing your fur coat and are undamaged from the storm. + _________________________________________________________________________""") + print("End of trial. Hope you had fun!") + exit() + + elif choice3A== "2": + print(""" + You choose to run like a pansy. + + Your stubby legs don't take you far and the bear catches up. + + You drop your dagger and the bear eats you alive. + + -30 HP + + You fall into its stomach. + _________________________________________________________________________""") + player.Health=player.Health-30 + Items.remove("Dagger") + print(""" + Its pretty obvious what your choices are here. + _________________________________________________________________________""") + choice3B = input(""" + 1. Try to crawl back up + 2. Let nature run its course... + 3. View menu + + Choice: """) + if choice3B == "3": + print("") + print(player) + print(""" + Press enter to exit menu.""") + input("") + choice3B=input(""" + 1. Try to crawl back up + 2. Let nature run its course... + + Choice: """) + if choice3B == "1": + print(""" + You attempt to crawl back out of the bear's mouth. + + After many attempts, you manage to crawl up to its windpipe. + + You stick your head through, but its too tight around your neck. + + You choke both yourself and the bear to death. + + Wow. + _________________________________________________________________________""") + print("Game over") + input("") + exit() + elif choice3B == "2": + print(""" + Why would you choose that?!? + + Oh well, you get out undamaged. + + Yay. + + You escape from the cave and head outside. + + The storm is still strong and you are damaged without any protection from it. + + -10 HP + _________________________________________________________________________""") + player.Health=player.Health-10 + print("End of trial. Hope you had fun!") + exit() + + if choice3 == "2": + print(""" + A storm picks up as the sky turns black. + + You walk around for a long time. + + You are buffetted from the storm. + + -20 HP + _________________________________________________________________________""") + player.Health=player.Health-20 + print("End of trial. Hope you had fun!") + exit() + + +print("Game over.") +input("") +exit() + + + + + + + + + + diff --git a/__pycache__/cards.cpython-32.pyc b/__pycache__/cards.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7bf6b2883bff2760b4170ae65c5f638dbe9d5e2e GIT binary patch literal 3842 zcmcgvYj4~{6usU@(p{3i(swIx`9LEil0Ja8P*tP}Ds9p7NKmVY$e5kktP`*8tnHFW z&8PO~@*_Cs+Urf00!>umWUlXwXXd`o%!V_w?e(oc*Sd1xX@LI*E&UDTu@QMAVjQs| zuj{hzV5p`;_0dobLk%5jimmA^d~1lAlI@xde-+ylGcB(jaqN_s6Us%{v?Z(aZ3yW) zAbj|qMSFyn?tr`!`4)m96?&}Ks0XB*xsUBPmDjQSoHE$tJoLE;sreZYcgamce=mqO-L5}03vN#B zmXzLBdPnK!O21J0rP8}f?{1!IoA&TXj_>y53-zo4pOh@cdeHv^PEt8v|;Zp)2H!$ zG#9MQljPSy7W?tQE`I+wP9qzJi_3jK$?VX(zeq2o3&~!70<%0Xh=R=XC^nq}5vPT} zD$+EpGVT*}VA&RQzNU;Cx>b{l`;J5il_Owa{^~r}bkwIWUKFMtHtg@F=#sIibkEQx zYR^%OqC-3{&4!+L3T#RvY13S7YHSrFP+7$!Dy*6*!ge4?oH!X09b;TlgyhKjabYhE zk_+5`I*8L*n{VM=#v}3v*7H=T=M7?$hwK(+nYatSiOD}Nb)Ky%xBAPIwN>@o+Az0= zf?BRpXXp$H*7Pg4596*Mrk-~!E0&Q*>V}ihr|nER=bcN=+1gCAHLb$5pN|AHu z6am>%K!ejAGtLyw)8f-i$%&hOlGw;hfEdGZEGIHHzA>NTHPVwqeE6>PypGPKp2!hE zGV*0YX)c^ldT0mnORF)5w24d@DX&-&XMG$VEVCmg1ozntUfR#_PT3J;LT8=@^3ITV zu$m5`S{2ff5t_IZ_ug>sI~aYLx-*lBbFF%-g;rNl{8|+?5rnaM#Ob#|-U;Q1Z@B6J z=$e2vCesMkjO}j!8>}&;oWG2gQt0m2lHq`MWM$(fL1FiX_G{>0Qxw6+I)`{QL53)t zI6GJ5`A%D&n{kFSP8EtDIA`eZ;_RX9wW4HltHb+huhB}FpJoGbr2Yh)eIgO;L z{7fISsogFZ-Zw=;DS?nh3rh>@)GE&I1RzpmIlTt;OgzwZO8a@Q7us=oOce5X`jPD+ z9+unRBTL7KGvfqImM*=>hXUwZwFt+O?7k?&geqRycq;pK*uU>XcABb(`wN-WSY&z51P;KCvK$CT?wH!`;yM_CZ%)-~1-7u+B6jM=9k zcfGiZQb+i0^MI?Wic{|;!yw9vB&MZ$rf?CVBh`9ON+40#9L71vIh8YXLKY|9u~3t{ zQ1b^AT%0>|&MeNJSzP}*g;E8Q{P!j6U>Y7uk&%%1hA%59@>|rHA{Aent%iDpUrLA^ z_(6oL-%U(e>j$Zef8Q-`hwdLi)_1$1pQbi-d+~7M7L@ZCZnu9N+B9_mlv*Nf`gWWxLt9^l2_JZc?GrgAA>PT!SA(NuG@>M7bmU7{){sPsp-p2p{ literal 0 HcmV?d00001 diff --git a/__pycache__/games.cpython-32.pyc b/__pycache__/games.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9de4561cfa33c02ad65f6d0c892dd7bbd3b4d5ba GIT binary patch literal 1638 zcmb_cOK%e~5FYQQNfQ+~AX?yn43};}N)8-&2q8*^%AtxX6$z1xwauDlla0Myuhm9s zPvz(GBbXVdNht zkVUjJh#-r35`%6))__R_)pyVvkZr(?0HK?ZHF;*xKnqTiO*A+ZDCndA2*+0(ZV$y3 zz&CV49)kJcO28n#b;W*8k`2`M+bHC|EQ@reEBV`2GL>iPRCi^LCoqgj;z$4F=KzPJ zOILziDV#(+VSgtH#nVqn(>G8UH08;W8`?@IWQF&gE`Hyqfaj2q@GnvHMs})uM~BuK zT@<~8QCilzQXhI0q3f12Pgp3Go4i)4iE~FzLA1pJAPR-ta^Np;f>DpT6gxGiFpdb_ zooieOM3?mYp5({&GG5Mu%(%K*$!C!#=R@a}E;;^nl4#*QrO>ic9dZ$JcrN;(L?K6t zKq*fON=FPwvOO zhpNbN#P{+QK};NPLG>B}{D?hO07&7y4L`XEOwDI_aohw